Adding custom keyboard layout to Xubuntu 13.10

I'm trying to add workman-p layout to Xubuntu. It comes with several otions to install. There are files for xorg, xmodmap, and *.kmap files.

From this article I found out that you need to add keymaps to /etc/X11/xkb/symbols/, and that all the layout files should be there, but I didn't even have the directory. So I added it, copied the files there but it didn't help in any way. I guess xfce doesn't use this folder in 13.10.

I had some success with xmodmap but it just changed my layout and turned off the switching to Russian I have set up.

I need a way to add layout so that it can be switched in a normal way i.e. the settings menu.


Solution 1:

The Xkb directory is located at /usr/share/X11/xkb
Besides, it's not XFCE that uses the directory, it's Xkb, a part of Xorg.
To create a new layout just create a file in symbols/ (eg asdf). After that you can switch to the newly created layout with setxkbmap asdf

Next step would be to register the layout, see the files rules/base.xml and rules/evdev.xml.
After registering you can switch to it other than by calling setxkbmap directly: most desktop environments honor those files and all keyboard layouts you see in keyboard settings are actually from those XML files.