|
|
|
|
|
by rep_lodsb
1261 days ago
|
|
>I wonder how much abstraction is living in the BIOS and hardware bits to make this work I think any modern chipset that supports PS/2 still includes a keyboard controller that is essentially the same as it was 30+ years ago, only the ISA bus is emulated over a serial connection[0]. The interesting thing is that even back then, that controller was translating the raw scancodes sent from the keyboard, in order to be compatible with the original IBM PC. And for compatibility with the first (84 key IIRC) AT keyboard, the keyboard itself also sends certain keys as sequences starting with a "fake" Ctrl or Shift keypress, instead of a single number for each key. There are commands to turn all (or most) of this translation off in both the controller and the keyboard itself, but on newer system or with USB->legacy translation they may not work [1]. So any keyboard driver today is essentially stuck interpreting these translated scancodes. [0] https://en.wikipedia.org/wiki/Low_Pin_Count [1] https://www.win.tue.nl/~aeb/linux/kbd/scancodes-10.html#scan... |
|