Gconf and Keyboard warnings
Update:This post has served as a good learning tool about gconf and the keyboard, though a couple bits are off. To summarize, Gnome shouldn’t have anything to do with keyboard settings, this is the responsibility of the Xserver and has been for awhile. Gnome keyboard settings need to be erased, including the backup. Also, PowerPC computer users might want to look at PPC – How I Got the Left Side of My Keyboard Back.
I’ve had the occasional run-in with gconf before. The first time happened when I attempted to make my first ebuild of of pyrename. Gconf still appears like a megalithic entity to me. Gconf, I lately discovered, was responsible for the xcb warnings I have been seeing loading X.
In a offhandish experiment, a few weeks ago I disabled the ADB driver in the kernel. The ADB driver for the iBook controls the keyboard and trackpad. Touchpad tapping was driving me so crazy it was worth the effort (hoping the x-server keyboard driver would take over [it didn’t]). Now I see these messages every time I boot:
“The X system keyboard settings differ from your current GNOME keyboard settings…”
“Error activating XKB configuration…”
and a choice to use either X server keyboard settings or GNOME’s.
I looked around and one person found a solution by deleting ~/.gnome2 directory. I will only ever erase the .gnome2 settings if there is no other choice. Changing all my applications preferences is a process that can take days and very tedious.
Another person was able to match the xorg and gnome settings.
xprop -root | grep XKB
Unfortunately mine keyboard settings matched.
I discovered a manual: GNOME and XKB: looking at the issues and it told me where to look in gconf to discover if the settings were right:
gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd
This is what I saw:
layouts = 
overrideSettings = true
options = 
Yikes! So I was just going to change this with the gconf-editor but:
“It is not recommended to modify these variables manually using Configuration Editor (gconf-editor). The delimiter used in the “layouts” and “options” values is not reproducible in this GUI tool.”
So I did a little reading on the gconftool-2 and learned how to enter the setting (I thought):
gconftool-2 -s -t list --list-type=string /desktop/gnome/peripherals/keyboard/kbd [us]
Unfortunately “gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd” didn’t list it. Using vim to look at ~/.gconf/desktop/gnome/peripherals/keyboard/kbd and I did see a value.
Unsure why this didn’t work I decided to take a risk and just use gconf-editor to enter the value. Doing this did show the value using gconftools-2 -R. I restarted X but the first dialog box appears still but second dialog box is gone. I can live with that – for the time.
Though some functions keys still don’t work, I have stopped the warnings. Just mv ~/.gconf/desktop/gnome/peripherals/keyboard/kbd/%gconf.xml to the Desktop. This is a hackish fix and the warnings will reappear if a keyboard layout is selected in the Gnome control panel.
Thanks to Domino who pointed out:
The problem is caused by a old stored version of the X settings in gconf. Just alter the “model” and “layouts” values in ~/.gconf/desktop/gnome/peripherals/keyboard/kbd.sysbackup/%gconf.xml to match the current setup and the message will go away.