Bugzilla – Bug 1076645
capslock led does not work on console
Last modified: 2018-09-10 11:46:40 UTC
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0
When I switch from X to a virtual console (Ctrl-Alt-F1) the CapsLock LED on my keyboard keeps its current state, which is not necessarily the capslock state of the console. When I hit CapsLock on my keyboard I can switch between upper and lower case input, but the LED state does not change.
I can, however, use "setleds +caps" and "setleds -caps" to turn the LED on or off, manually. This happens both, with the internal keyboard of my notebook and an external keyboard connected on USB.
Note, that this happens only on the virtual console, inside X (Plasma 5 session) the CapsLock LED works as expected.
Steps to Reproduce:
1. Press <Ctrl>+<ALt>+1 to switch to a virtual console
2. Press the CapsLock key
3. Check if the CapsLock LED on the keyboard flashes up
The CapsLock LED keeps its state
The CapsLock LED should flash up
@jikos: you said to reassign it when you figure out where it should go.
I can confirm this for OS 15.0 and 42.3: in a text-console, capslock key works, but capslock led does not.
Also noteworthy, I have KBD_DISABLE_CAPS_LOCK="no" in /etc/sysconfig/keyboard. That seems to have no effect.
Perhaps this bug(?), or change in behavior, has something to do with the change to systemd.
The problem goes away after issuing in a shell (as root):
echo 'keycode 58 = Caps_Lock' | sudo loadkeys -
A work-around that survives a reboot is:
echo "echo 'keycode 58 = Caps_Lock' | sudo loadkeys -" >> /etc/init.d/boot.local
chmod +x /etc/init.d/boot.local
Setting 'keycode 58 = Caps_Lock' with loadkeys also works for me.
Before issuing the loadkeys command, the keycode 58 was CTRL_LLock,
which obviously has no effect on the caps lock led.
Instead of changing the keycode with loadkeys, setting the capslock led trigger to 'ctrlllock' also works:
echo 'kbd-ctrlllock' >/sys/class/leds/input0\:\:capslock/trigger