One more data point here to consider. When I have autologin on, and I run 'setxkbmap -print', it actually does show the options which were set by libxklavier:
dhuggins@slim:~$ setxkbmap -print
xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+level3(ralt_switch_for_alts_toggle)+group(alts_toggle)+compose(rctrl)" }; xkb_geometry { include "pc(pc101)" };
};
However, these options have not actually been set in the server! As everybody else mentioned, running setxkbcomp with no options (which actually compiles the description and loads it into the server) makes these settings active. This is equivalent to running:
setxkbmap -print | xkbcomp - :0
These options aren't stored in any configuration file, so setxkbmap *must* be getting them from the X server somehow, right? And yet, for some reason, the server knows about the uncompiled form of the keyboard description but hasn't actually loaded it...
One more data point here to consider. When I have autologin on, and I run 'setxkbmap -print', it actually does show the options which were set by libxklavier:
dhuggins@slim:~$ setxkbmap -print
xkb_keycodes { include "xfree86+ aliases( qwerty) " }; level3( ralt_switch_ for_alts_ toggle) +group( alts_toggle) +compose( rctrl)" };
xkb_geometry { include "pc(pc101)" };
xkb_keymap {
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+
};
However, these options have not actually been set in the server! As everybody else mentioned, running setxkbcomp with no options (which actually compiles the description and loads it into the server) makes these settings active. This is equivalent to running:
setxkbmap -print | xkbcomp - :0
These options aren't stored in any configuration file, so setxkbmap *must* be getting them from the X server somehow, right? And yet, for some reason, the server knows about the uncompiled form of the keyboard description but hasn't actually loaded it...