Arnt Gulbrandsen
About meAbout this blog

.XCompose

Here's what I did to get a sensibly large character repertoire for my keyboard, using ubuntu 9.10.

First, read any of the fine explanations of the compose key and configure some suitable key.

Next, explain to ubuntu that you do wish to XIM:

im-switch -s default-xim

By this time, X applications will read your ~/.XCompose file when they start, so set it up. There's a large repertoire on github:

cd ~/src
git clone git://github.com/rrthomas/pointless-xcompose.git

Here's my ~/.XCompose (note the upper-case X and C). I use most of the pointless-xcompose stuff, plus some I already had, plus the X defaults. All in all maybe around 5000 characters. Some are accessible in several ways, I don't mind.

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

include "/home/arnt/src/pointless-xcompose/abbrevs.xcompose"
include "/home/arnt/src/pointless-xcompose/arrows.xcompose"
include "/home/arnt/src/pointless-xcompose/bullets.xcompose"
include "/home/arnt/src/pointless-xcompose/dashes-hyphens.xcompose"
include "/home/arnt/src/pointless-xcompose/enclosed.xcompose"
# include "/home/arnt/src/pointless-xcompose/fractions.xcompose"
# include "/home/arnt/src/pointless-xcompose/historical.xcompose"
# include "/home/arnt/src/pointless-xcompose/hyphen-macron.xcompose"
include "/home/arnt/src/pointless-xcompose/invisible.xcompose"
include "/home/arnt/src/pointless-xcompose/math.xcompose"
include "/home/arnt/src/pointless-xcompose/typographic.xcompose"

<Multi_key> <colon> <parenright> : "☺" U263A # :)
<Multi_key> <less> <minus> : "←" U2190 # <-
<Multi_key> <minus> <less> : "←" U2190 # -<
<Multi_key> <minus> <greater> : "→" U2192 # ->
<Multi_key> <t> <m> : "™" U2122
<Multi_key> <T> <M> : "™" U2122
<Multi_key> <less> <3> : "♥" U2665 # <3

# more
<Multi_key> <period> <space> : "…" # ellipsis

# Signs:

<Multi_key> <bracketleft> <bracketright> <space> : "☐" U2610 # []space
<Multi_key> <bracketleft> <bracketright> <j> : "☑" U2611 # []j
<Multi_key> <bracketleft> <bracketright> <x> : "☒" U2612 # []x

<Multi_key> <p> <h> <o> <n> <e> : "☏" U260F # phone

<Multi_key> <p> <e> <a> <c> <e> : "☮" U262E # peace

# Arrows and triangles

<Multi_key> <space> <Left> : "◀" U25C0 # space left
<Multi_key> <space> <Right> : "▶" U25B6 # space right
<Multi_key> <space> <Up> : "▲" U25B2 # space up
<Multi_key> <space> <Down> : "▼" U25BC # space down

<Multi_key> <Left> <Left> : "←" U2190 # left left
<Multi_key> <Right> <Right> : "→" U2192 # right right
<Multi_key> <Up> <Up> : "↑" U2191 # up up
<Multi_key> <Down> <Down> : "↓" U2193 # down down

<Multi_key> <Left> <Right> : "↔" U2194 # left right