The compose key is used to enter characters on the keyboard that are usually not available on the key caps. Such letters could be an "umlaut", a "macron" or accents on letters:
The descriptions have been tested on several Kubuntu Hardy Heron 8.04.1 systems. Further information may be found in the Links and Further Information section below.
The modifications will work with (almost) all applications, including the desktop environment, browsers, OpenOffice.org, as well as many console/text only applications.
The following instructions will configure a <compose> key, which will be mapped to the <right logo> key (on most keyboards this logo is the Windows logo).
To do this properly I'm trying to go the "holistic way" starting with the console:
$ sudo dpkg-reconfigure console-setup
Now we can go on and configure our windowing environment (Plasma). This description uses either Kcontrol or the Kubuntu configuration tool, exposes the same option dialogue.
Now we can go on and configure our windowing environment (Plasma). This description uses the System Settings as they're available in the K-Menu of the Kubuntu install:
Gtk (such as also FireFox) and Gnome applications use (on an Ubuntu system) usually SCIM as the input method, not XIM (X Input Method) that relies on the configurations from (X)Compose. Therefore, you will often find that the "a" and "o" macron characters can yield the female/male ordinals "ª" and "º". To still make it work, Gtk applications need to be "told" to use XIM instead.
For a single application you can do it by just setting the environment variable GTK_IM_MODULE for the application to be launched to xim:
$ GTK_IM_MODULE=xim firefox
More permanently that can be done for a single shell session like this:
$ export GTK_IM_MODULE=xim
This can, of course, also be persisted for a single user in your ~/.bash_profile, or for all users in /etc/environment. This is, however, the less elegant way, the more elegant way follows below.
$ sudo cp /etc/X11/xinit/xinput.d/default /etc/X11/xinit/xinput.d/xim
... GTK_IM_MODULE=xim QT_IM_MODULE=xim ...
$ sudo ln -sf /etc/X11/xinit/xinput.d/xim /etc/X11/xinit/xinput.d/all_ALL
Now that you're using XIM, you can further tweak the XCompose input map for further characters, or for characters in more convenient locations, etc.
To do that follow these steps:
# ~/.XCompose # This file defines custom Compose sequences for Unicode characters
# Import default rules from the system Compose file: include "/usr/share/X11/locale/en_US.UTF-8/Compose"
# To put some stuff onto compose key strokes: <Multi_key> <minus> <greater> : "→" U2192 # Compose - > <Multi_key> <colon> <parenright> : "☺" U263A # Compose : ) <Multi_key> <h> <n> <k> : "hugs and kisses" # Compose h n k <Multi_key> <less> < p> : "< p></p>" # Compose < p
The <compose> will be now whatever you have configured it to be, e. g. <right logo>.