Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was using the Bulgarian New Phonetic layout for cyrillic, but I am accustomed to touch-typing on a QWERTZ layout, so all the symbols are in the wrong place. So I decided to make my own layout in KDE.

I found the /usr/share/X11/xkb/symbols files, and added a new mapping to the one called "bg". I just copied and pasted the block called "new phonetic", changed the name to "phonetic qwertz" and changed the symbols as I need them. I hoped that after a restart, I will find a new type of layout in the list of available keyboard layouts, and will be able to change to it. Sadly, this wasn't the case. It seems that I have to tell my system that a new layout exists, but I don't know how. Existing questions don't explain what to do with the file after it has been modified.

How can I deploy my new layout and use it?

share|improve this question

Inspecting the source code reveals that kcm_keyboard reads /usr/share/X11/xkb/rules/base.xml for the metadata. Register your new variant there.

share|improve this answer
It should be possible to do this without being root :/ – ysdx May 29 '14 at 19:15

I did this a while ago and remember I had to update

  • base.lst,
  • base.xml,
  • evdev.lst, and
  • evdev.xml,

which are all in the rules directory, on Slackware it's /etc/X11/xkb/rules.

It's possible that it would work with fewer updated files (I don't remember how much I tested), but updating these four definitely worked.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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