3 ms·
Lot's of interesting information, but this part seems inaccurate: "Matrix scan [is in] use in all keyboards today. [...] matrix scan keyboards not only allow f
by cbolton 3y ago
Lot's of interesting information, but this part seems inaccurate:
"Matrix scan [is in] use in all keyboards today. [...] matrix scan keyboards not only allow for an unlimited number of overlapping keystrokes, but they can correctly identify each and every simultaneously-held key"
I found the hard way that this is not true. Took me a while to figure out why some weird keyboard shortcuts were not working only to find that it's a hardware limitation.
Here's a simple test for your laptop keyboard: try LeftShift+RightShift+Q and see if it prints anything. Repeat with the other letters of the alphabet. In my case I get nothing for several letters such as X, T and M.
- Majromax 3y agoMatrix-scan keyboards allow for an unlimited number of overlapping keystrokes, but that allowance requires per-key diodes to prevent ghosting. Inexpensive keyboards often forego the per-key diodes in favour of cheaper/thinner construction, and to prevent phantom inputs the controller registers nothing when the matrix scan shows keypresses that might be the result of ghosting.
- cbolton 3y agoAha so I guess the article is technically correct!
- Findecanor 3y ago> Here's a simple test for your laptop keyboard: try LeftShift+RightShift+Q and see if it prints anything. Repeat with the other letters of the alphabet. In my case I get nothing for several letters such as X, T and M. Microsoft has published a table of key combinations that are required to work in Windows, and it does not include combos of two modifiers of the same type .. with one exception: Both Windows keys have to work together. (You'd not often find a laptop keyboard that has two Windows keys though) There's otherwise a convention when constructing (diode-less) keyboards to put the modifier keys outside the keyboard matrix altogether so as to guarantee that you'd avoid key-combo collisions with them. I.e. each of the Control, Shift, Alt/Option, Windows/Command/Super keys would get its own dedicated GPIO pin on the controller. BTW. On the old Amiga platform, the rollover issue was handled in a prudent way: Keyboards that did not have NKRO all had a standard keyboard matrix that was published in a reference manual which software developers could consult to figure out which key combos that were viable and which were not. Also here the modifier keys were outside the matrix.
- cbolton 3y agoThanks for the extra information. I guess CapsLock is not given this special treatment? (my actual issue was when using CapsLock as a Ctrl key).
- dcminter 3y agoThinkpads used to (?) sound an obnoxiously aggressive beep if you hit this limit. It was a nasty square wave at maximum volume and always made me jump. In later models you could disable it in the BIOS. I'm not sure if that's still something they do, or if it's gone the way of the Thinklight and the drainage holes!