3 ms·
Fun read. One detail towards the end: > Worse, I'm already kind of dissatisfied with the iMate - it doesn't distinguish left and right for Alt/Shift/etc. IIRC
by worstspotgain 2y ago
Fun read. One detail towards the end:
> Worse, I'm already kind of dissatisfied with the iMate - it doesn't distinguish left and right for Alt/Shift/etc.
IIRC, the keys were indistinguishable at the ADB hardware level. The iMate is probably not at fault.
Again IIRC, there was also a hard limit of either one or two regular keys held down at one time, plus any combination of modifier keys. Maybe the limit was one key for pre-ADB and two keys for ADB?
- bpye 2y agoYou can distinguish left and right for alt, shift and control, but not for meta. I actually built a (rather hacky) ADB-USB for this exact keyboard, you can see the look up table I used for translating scan codes [0]. You only get at most two key events at a time, but you can have more keys held - you’ll just receive the events sequentially. I found that the limit depended on which specific keys were being held, but it was certainly more than two. [0] - https://github.com/benpye/rtos/blob/7971ab6a2f26269223f97b8fe034a8a945fd94d9/task/adb_usb_device/src/lib.rs#L180 https://github.com/benpye/rtos/blob/7971ab6a2f26269223f97b8f...
- worstspotgain 2y agoMore than two even after excluding the modifier keys (shift/control/option/command)?
- bpye 2y agoJust checked, in some cases I guess it is two. For example you can only have two of I, O and P - but you can also have say W, A, S, D and F held. I assume it’s a consequence of the key matrix.
- worstspotgain 2y agoRoger, thanks for checking. I remember that limit as what Apple advertised for development, but I never actually tested it myself. Maybe Apple reduced it to two at the driver level for consistency too, who knows.