-   Fedora (
-   -   Keyboard definitions (

DavidMcCann 12-28-2006 12:54 PM

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 and do not describe the keymapping that I actually have.

So, where is Fedora hiding the definitions for my keyboard?

DavidMcCann 10-10-2007 11:51 AM

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
<name> file_name </name>
<shortDescription> brief_name </shortDescription>
<description> descriptive_name </description>

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> <'>
<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 03:20 AM.