Keyboard definitions
Distro: Fedora 6
Keyboard: en_UK I want to make some alterations to my keyboard layout: mostly making AltGr do something more useful than enabling Icelandic, but also altering a few basic keys. I do NOT want to do a bodge, but to find where Linux keeps the definition of en_UK and customise it. I searched the web, but the few documents I found make frequent references to files that don't exist in Fedora. I checked what happened at boot-up, starting from rc.sysinit, but this lead me to en_US.UTF-8 which is obviously not what I'm using. I checked what xinitrc was up to, and this referred to unused (/etc/X11/Xmodmap) or or non-existant (/etc/X11/kbmap) files. I looked for any files that might be relevant, but things like uk.map.gz and xmodmap.gb-102 do not describe the keymapping that I actually have. So, where is Fedora hiding the definitions for my keyboard? |
Keyboard definitions
Since 321 people have read my post, I thought I ought to answer the question myself, as no one else has.
Fedora looks for a keyboard in /usr/share/X11/xkb/symbols/. It will take the file that has been selected — e.g. "gb" for a UK keyboard — and look up anything that it doesn't find there in the "latin" file. Obviously, you can modify the default or add a new entry using it as a model. Keys are referred to by codes like <AC01> for the first key on the third row up of the alphanumeric area. Three have special names: <TLDE> grave (sic); <BKSL> backslash in US, hash in UK; <LSGT> backslash in UK. Characters are referred to by unicode number (e.g. U00E6) or by special names like "dead_acute" — see /usr/include/X11/keysymdef.h A new keyboard must be listed in /usr/share/X11/xkb/rules/base.lst and defined in /usr/share/X11/xkb/rules/base.xml thus <layout> <configItem> <name> file_name </name> <shortDescription> brief_name </shortDescription> <description> descriptive_name </description> </configItem> </layout> If you have two keyboards installed, you can switch with a group-switch key, defined with the Gnome menu: system-preferences-keyboard. The AltGr key is enabled by default, but a Multi or Compose key has to be selected with Gnome (try a Windows key). Permitted combinations with diacritics are built into the kernel. Thus both <Compose> <a> <'> and <AltGr>+<;> <a> will give a-acute. You can get s-acute similarly, but not k-acute: someone thought of entering Polish, but not of transliterating Macedonian. Published lists of combinations are all wrong: to find what's available use dumpkeys --compose-only |
All times are GMT -5. The time now is 09:51 PM. |