3
I'd like to load a custom keyboard layout on login, but either it doesn't load or it gets overridden by the default keyboard layout from 'keyboard preferences'. Unfortunately I can't select my layout there, since its not installed the way default keyboard layouts are, but compiled by xkbcomp.
This is the xkbcomp command
xkbcomp -I$HOME/.config/xkb/ $HOME/.config/xkb/thinkpad.xkb $DISPLAY
It works when entered in the terminal. But when put in /etc/rc.local or .xsession (there followed by the command "mate-session") or run as a 'startup application', the layout doesn't load (or maybe is overridden by the default).
How would I go about this? Or is it possible to install a layout compiled by xkbcomp without hacking .lst and .xml files manually?
/etc/X11/Xsession.options
containsallow-user-xsession
. I've further modified .xsession according to Ubuntu Wiki and now all warnings from xkbcomp show up in.xsession-errors
, but xkbcomp's changes don't seem to apply. – keo – 2013-09-13T13:14:30.847@sao well that's a step in the right direction, at least it is running. What are the warnings? Also, you have not mentioned what Desktop Environment you are using. – terdon – 2013-09-13T13:32:36.610
it's Linux Mint's Mate, which is a fork of Gnome 2. The warnings are about undefined keycode symbols and unused components (pastebin). But they are the very same warnings that show up when xkbcomp is run from the terminal, so it should still work.
– keo – 2013-09-13T13:57:46.137@sao yes, at least now you know that the command is being executed. The problem seems to be that Mate is overriding it. You could try adding a
sleep
call to make it run after Mate sets its own keyboard. Something likesleep 10 && xkbcomp -I$HOME/.config/xkb/ ...
. – terdon – 2013-09-13T14:02:16.490I had to put parens around sleep like
(sleep 10 && xkbcomp -I$HOME/.config/xkb/ ...)
but it worked! Thanks so much! – keo – 2013-09-13T14:14:03.537