0

I have an old IBM keyboard connected to my laptop with a PS/2 to USB adapter. I'm having trouble remapping the Caps Lock to the Ctrl key in Linux. Holding the Caps Lock, remapped to Ctrl, only works for the first keyboard shortcut. Even though I'm still holding Caps Lock, every key press after that is unmodified.

Using sudo showkey I've found that even though I'm still holding the Caps Lock, when I release another key the release code for the Caps Lock is sent too.

I can't tell if this is a limitation of the keyboard or the USB adapter. The keybinding works on my laptop keyboard, just not my external one. Is there a way to fix this?

1 Answer 1

0

I had a very similar problem, an old PS2 keyboard connected through a ps2->usb adapter and after I remapped the capslock to ctrl in Windows (both XP and Win7) I could never get the second control modified keystroke to be taken as a control character. What I found was after I released the first control modified character I had to release and re-depress the capslock key in order to send another ctrl character.

I had edited the registry entry for HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout and added a Scancode Map entry

I knew that the original ctrl key worked fine on the PS2 keyboard, as it would allow multiple ctrl modified chars to be typed without re-depressing the ctrl character. I also knew that the capsLock key when remapped to ctrl char worked fine as a ctrl key when the keyboard was connected via a PS2 port to the computer. So my conclusion was that the USB converter or connection was failing to pass the multi ctrl keystrokes.

Eventually I tried a USB keyboard connected to the USB port on the PC and I found it works fine, either with the original ctrl key or with the remapped caps-lock key. With a working solution I did not do any further research but it seems conceivable that the problem is in the PS/2 -> USB converter I was using.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .