4 ms·
> There’s also some very preliminary support for HID over IIC, for systems that attach keyboards and touchpads over an I2C bus. Keyboards & trackpads over I2C?
by adamzegelin 11y ago
> There’s also some very preliminary support for HID over IIC, for systems that attach keyboards and touchpads over an I2C bus.
Keyboards & trackpads over I2C? I liked the trend of moving everything to USB, even for internal devices.
- anonymfus 11y agoHID over I2C specification was created by Microsoft for external devices connectable to their Surface tablets. IIRC they claimed that it saved power because of usage of simpler controllers.
- amluto 11y agoRegardless of what it was intended for, my Skylake laptop has its touchpad set up using HID over I2C. It works on legacy systems using some kind of PS/2 emulation, but it works much better using I2C.
- Sanddancer 11y agoEverything old is new again. One of the original intents of I2C was just that -- a universal bus for semi-low speed devices, including keyboards. USB just happened to come around at the same time and defined a physical spec along with an protocol, and the battle was done, with I2C relegated to embedded devices and things like querying monitors for supported features/modes.
- teacup50 11y agoWhy? USB adds tons of complexity/overhead relative to what HID devices actually need -- especially hardwired devices.
- SixSigma 11y agoUSB - not Universal, not Serial and not a Bus
- Sanddancer 11y agoUSB isn't the right choice for a lot of interconnects, or even most interconnects, especially things like HID for mobile devices. One of the big advantages you can have with I2C is that because it's multi-master, both sides of the HID chain can become a lot simpler. The host side doesn't need to send occasional messages asking if the various HID devices have data, and the device side doesn't need the more complicated logic to handle USB HID events. Instead, the HID device can send HID events as they happen, and the host only needs to send the much less common host communications -- for commands like turning on and off lights, etc -- when those happens. This means a bit deeper sleep, and as such, less power consumption.