Lexmark/Unicomp M122 PS/2 scan differences

User avatar
XMIT
[ XMIT ]

02 Mar 2020, 03:02

(I cannot take credit for this tip. A fellow named "Ian" who is local included this tip on a posting for an M122 which has since been sold.)

The keyboard should work well in Linux (once a nice custom keymap is set up); however, you will need to patch the Linux PS/2 port driver ("drivers/input/serio/libps2.c", function "ps2_is_keyboard_id") to recognize a keyboard major ID of 0xBF (where AT and PS/2 keyboards return 0xAB). Also, put "atkbd.terminal=1" on the kernel command line to cause the keyboard to generate key-up (break) codes. "i8042.direct=1" (turn off Set 1 translation), "atkbd.set=3" (use scan code Set 3), and/or "atkbd.softraw=0" (turn on real raw mode) may also be desirable.

The circuit inside this keyboard is a simplified version of the circuit used in the earlier 122-key Model M keyboards. The 74159 key matrix driver was omitted; then, apparently in the effort to free up enough pins on the processor to drive the keyboard matrix directly, the ability to change the major ID byte was sacrificed. (The minor ID byte can still be changed, but that doesn't help.) This means you can't simply open the keyboard and add some jumpers to get it to work in Linux; you will need to modify the PS/2 driver as mentioned above.

Post Reply

Return to “Keyboards”