2
Introduction
HP thin clients running the ThinConnect operating system use compiled keymaps to reduce the amount
of flash disk space required to support a large set of international keyboards. This white paper
describes the basic steps involved in creating custom keymaps for keyboards that are not supported
by default under ThinConnect.
The examples in this white paper are based on Debian Etch and Xorg 7.1. All work should be
completed from a system based on Debian Etch, such as the HP t5735. The resultant keymaps from
the examples have been validated on the HP t5735 and HP t5135 running ThinConnect (S2ST0070).
Step 1: Retrieve keymap sources
1. From the command prompt, execute the following command:
wget http://ftp.de.debian.org/debian/pool/main/x/xkb-data-legacy/xkb-
data-legacy_1.0.1.orig.tar.gz
If that URL no longer exists, search http://packages.debian.org for the package xkb-
data-legacy and download the .orig.tar.gz file.
2. Go to the directory /home/user and extract the .orig.tar.gz file using tar –xzf <file>.
Step 2: Modify keymap and symbols
In this simple example, you will replace the $ in a US keymap with the sign for yen, ¥.
1. First go to the directory /home/user/xkb-data-legacy-1.0.1. This is the base directory
(<base>) for the remainder of the example.
2. Open the file <base>/keymap/xfree86 for editing.
This file provides declarations for most types of keymaps. In this example, the “us” keymap is
used as a base.
3. Copy the xkb_keymap “us” section and paste it directly below the ‘};’ line that closes out the
“us” keymap. Since there cannot be two default keymaps, remove the “default” header from
the new keymap, and rename it “my_map” as shown below:
xkb_keymap “my_map” {
xkb_keycodes { include “xfree86” };
xkb_types { include “default” };
xkb_compatibility { include “default” };
xkb_symbols { include “us(pc105)” };
xkb_geometry { include “pc” };
};
At this point you have a keymap identical to the us keymap.
4. Now change the xkb_symbols line to match the following:
xkb_symbols { include “us(my_keys)” };
This will change the keymap so that it uses the symbols declaration “my_keys” in the symbols file
“us”. However, this symbols declaration does not exist yet; the next step is to create it.