I want to remap the caps lock key with the shift lock key in order to be able to write special characters instead of numbers when the shift lock key is activated.

Unfortunately, I cannot get this to work. I tried the following:

xmodmap -e "keycode 66 = Shift_Lock"

It's really strange because when I run xev, I get the following output:

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x270, subw 0x0, time 860672, (161,-23), root:(217,72),
    state 0x2000, keycode 66 (keysym 0xffe6, Shift_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

So this output indicates that shift lock has been pressed, but the special characters still do not work.

Similarly, when changing the keyboard layout with setxkbmap us the keyboard layout does not change at all.

I thought that maybe Gnome is the guilty one, so I started with run level 3 but that gave me the same end result, since xmodmap returned with an error indicating that the default screen could not be found.

System details: Fedora version 26 (installed natively).

What am I missing?


xmodmap doesn't work in Wayland. You'll need to use xkb instead. This has several advantages, although convenient configuration is not one of them.

See Create xkb configuration from xmodmap for a way to migrate — log into an GNOME on Xorg session, convert, and then continue on in Wayland, now future-proofed.

  • Thanks for the info. I solved my issue simply by using the GNOME tweak tool. – John Doe Oct 28 '17 at 13:46
  • Oh — yeah, that will work for the mappings that supports. – mattdm Oct 28 '17 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.