| wtogami ( @ 2008-06-19 16:02:00 |
Keyboard Plan FUDCon Boston 2008 Hackfest
The keyboard configuration in Linux has long been a huge mess of too many different ways of doing the same thing in different places and inconsistencies. (Please correct me if I have any details wrong.)
* Today there are two sets of keyboard layout data, kbd for the console and xkeyboard-config for X.
* /etc/sysconfig/keyboard configures only the console keyboard layout.
* When X runs, there is no connection of the console layout and X keyboard layout.
* xorg.conf can specify a layout and options to use from xkeyboard-config (an upstream package with tables). (Fedora/RHEL doesn't use this AFAIK.)
* Or gdm reads a user-configured layout from ~/.dmrc, which can't always work because the home directory is not available in some cases before login.
* After you have logged into GNOME, gnome-settings-daemon reads an optionally configured keyboard from gconf and uses it if available.
* (Do other desktops like KDE have something else entirely?)

With developers together during FUDCon Boston 2008 Hackfest, Jeremy Katz, Bill Nottingham and Adam Jackson had a chance to brainstorm a plan to improve this confusing mess.
* We need to throw out the entirely separate kbd table. Console keymap setting needs to happen from the shared xkeyboard-config. ckbcomp from Debian exists. Jeremy Katz is looking into adapting or rewriting it in C because there is some discomfort with the current perl implementation.
* ajax already has some code to have X set the keyboard layout itself. He plans on making it happen from whatever HAL tells it, which comes from /etc/sysconfig/keyboard on Fedora
This still leaves the inconsistency of two separate user-specific keyboard layout options in ~/.dmrc and gconf. But these at least do not (at least should not) happen if a user has not configured it.
The keyboard configuration in Linux has long been a huge mess of too many different ways of doing the same thing in different places and inconsistencies. (Please correct me if I have any details wrong.)
* Today there are two sets of keyboard layout data, kbd for the console and xkeyboard-config for X.
* /etc/sysconfig/keyboard configures only the console keyboard layout.
* When X runs, there is no connection of the console layout and X keyboard layout.
* xorg.conf can specify a layout and options to use from xkeyboard-config (an upstream package with tables). (Fedora/RHEL doesn't use this AFAIK.)
* Or gdm reads a user-configured layout from ~/.dmrc, which can't always work because the home directory is not available in some cases before login.
* After you have logged into GNOME, gnome-settings-daemon reads an optionally configured keyboard from gconf and uses it if available.
* (Do other desktops like KDE have something else entirely?)

With developers together during FUDCon Boston 2008 Hackfest, Jeremy Katz, Bill Nottingham and Adam Jackson had a chance to brainstorm a plan to improve this confusing mess.
* We need to throw out the entirely separate kbd table. Console keymap setting needs to happen from the shared xkeyboard-config. ckbcomp from Debian exists. Jeremy Katz is looking into adapting or rewriting it in C because there is some discomfort with the current perl implementation.
* ajax already has some code to have X set the keyboard layout itself. He plans on making it happen from whatever HAL tells it, which comes from /etc/sysconfig/keyboard on Fedora
This still leaves the inconsistency of two separate user-specific keyboard layout options in ~/.dmrc and gconf. But these at least do not (at least should not) happen if a user has not configured it.