Do you know of any alternative keyboard connector interfaces besides USB and PS/2? Have you heard of any efforts to create one?
I'm most interested in contemporary or new efforts, not things that historically preceded PS/2 like the AT interface.
What about alternative protocols? I've been fascinated lately by SpaceWire and the related IEEE 1355 standard, which is billed as "low cost and low latency" and seems quite a bit more modern than PS/2. I wonder if anyone has looked at using them for something as simple as keyboards.
I realize that a new interface and protocol would be hard to introduce into the marketplace at this point. I'm just wondering if anyone has thought this through and proposed anything. Even though the benefits would be marginal to most users, I think it would be worth developing a dedicated, simple, and well-engineered keyboard protocol and interface. The keyboard is the primary and universal interface for desktop computers, of which there are more than a billion, so I'm surprised that we don't have a dedicated, modern, secure standard. In some environments, USB ports are undesirable for security reasons. Having keyboards depend on a multipurpose port that opens up a lot of attack surface and complexity is a bad idea. PS/2 is clunky and apparently leaks more electromagnetic radiation than USB – enough to enable researchers to recover almost all keystrokes from 20 meters away.
To clarify what I think the benefits of a new standard would be, my wishlist is:
- - small, reversible connector, in the same ballpark as Apple's Lightning or USB Type-C
- much more secure than USB, with extremely limited scope of messaging, basically no non-keyboard features
- simple and cheap (don't need 12 pins like Type-C, probably just four or so, and much simpler hardware/software implementation)
- deterministic and guaranteed latencies (there's remarkably little data on USB keyboard and mouse latencies, and it's not clear how much variance there is out there) – keyboard latency seems like a trivial issue, and I'd prefer that it be cleanly solved and documented (relatedly, I think it would be great to have the GUI of an OS be a real-time operating system, with guaranteed latencies of well below a second for pretty much every user action)
- massively reduced EM signature/leakage -- ideally it really should be pure optical
- NKRO
It would also be cool if we could do more to prove that an input or data came from a physical key press on an attached keyboard, i.e. user action. A modern OS should really draw a much clearer distinction between physical user actions/authorizations and everything else. I don't like the way OSes lump both applications and humans together as "users", and fail to distinguish physical actions. USB opens up a lot of opportunities for a device to lie about what it is, to transfer a lot of complex data unbeknownst to the user, etc. It seems easier to prove the physicality and liveness of an input with optical than with electronics, but I'm sure this issue could be solved with electronic devices too.
Anyway, I'm interested in any work or proposals you know of.