ps2x2pico icon indicating copy to clipboard operation
ps2x2pico copied to clipboard

SGI O2 Ctrl acts as CAPS Lock - Scan Code Set 3 not supported

Open bstrobel opened this issue 9 months ago • 7 comments

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 image image

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.

bstrobel avatar May 05 '24 11:05 bstrobel