ps2x2pico
ps2x2pico copied to clipboard
SGI O2 Ctrl acts as CAPS Lock - Scan Code Set 3 not supported
I have 2 SGI O2s that work well with any standard PC PS/2 keyboard that I have. When connecting them to my ps2x2pico
adapter everything seemed to work until I pressed the Ctrl key. It acts as if it were the CAPS Lock key.
To debug this issue I connected a serial debug terminal and added these log messages in ps2kb.c
I found out that the O2 requests Scan Code Set 3:
...
kb_receive(byte = f0, prev_byte = f5)
kb_send(byte = fa)
kb_receive(byte = 3, prev_byte = f0)
kb_send(byte = fa)
...
This corresponds to the observed behaviour since make code 0x14 is Ctrl in Scan Code Set 2 and Caps Lock in Scan Code Set 3.The former is the one that is widely used and also used in your translation table in the code I assume.
So to support such old and rare hardware the proper selection and mapping of the 3 scan code sets should be implemented. I assume there is more fancy retro equipment out there that does similar things
If you're ok with it, I can do this. But no problem if you want to implement this yourself.