Keyboard layout names are not being released for reuse.

I am trying to create a new xkb layout. Here is how I am doing it.

  • Add the new layout to /usr/share/X11/xkb/symbols/in
  • Register the layout into /usr/share/X11/xkb/rules/evdev.xml

The layout registers well the first time around. But if I change the layout and repeat the steps above, the layout is not reloaded.

Things that didn't work: - setxkbmap -layout us didn't work. - Remove the layout completely from symbols/in and rules/evdev.xml -> logoff -> login -> re-introduce the layout -> logoff -> login. - Restart the computer. - Remove the layout completely from symbols/in and rules/evdev.xml -> restart -> re-introduce the layout -> restart.

Thing that worked.

  • Rename the layout in evdev.xml and symbols/in each time I make changes to the layout.

I am unable to reuse a name, this is a problem obviously. This sounds like a bug to me or I am not doing things correctly.

I didn't know if the issue was with xkb (xorg), Mint or Ubuntu. So I thought I decided to start here.



Keyboard layouts are compiled and cached; the cache is cleaned on reboot (I think — but I am not sure at all). What I normally do is to manually delete the cache files, which are the files that ends in .xkm in /var/lib/xkb/.

cd /var/lib/xkb/
rm *.xkm

(as root, or add the appropriate sudo).

(Data form my blog post on modifying layouts).

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.