Add Compose key post.
[blog.git] / posts / Compose_key.mdwn
diff --git a/posts/Compose_key.mdwn b/posts/Compose_key.mdwn
new file mode 100644 (file)
index 0000000..0413487
--- /dev/null
@@ -0,0 +1,113 @@
+Add the [compose key][wikipedia] to your [[Xmodmap]] file with something like
+
+    keycode 134 = Multi_key
+
+The compose key has it's own unicode symbol: ⎄, which I'll use in the
+following composition tables.
+
+Accents
+-------
+
+* ⎄`a à
+* ⎄'a á
+* ⎄^a â
+* ⎄ca ǎ
+* ⎄ba ă
+* ⎄oa å
+* ⎄!a ạ
+* ⎄.a ȧ
+* ⎄"a ä
+* ⎄~a ã
+* ⎄_a ā
+* ⎄;a ą
+* ⎄,c ç
+
+Weird letters
+-------------
+
+* ⎄AE Æ
+* ⎄ae æ
+* ⎄ss ß
+* ⎄TH Þ
+* ⎄th þ
+
+Currency
+--------
+
+* ⎄=C €
+* ⎄|c ¢
+* ⎄-L £
+
+Typography
+----------
+
+* ⎄<< «
+* ⎄>> »
+* ⎄"< “
+* ⎄"> ”
+* ⎄'< ‘
+* ⎄'> ’
+* ⎄.. …
+* ⎄p! ¶
+* ⎄os §
+* ⎄?? ¿
+* ⎄!! ¡
+* ⎄--- — (em dash)
+* ⎄--. – (em dash)
+
+Math
+----
+
+* ⎄oo °
+* ⎄^0 ⁰
+* ⎄^1 ¹
+* ⎄_1 ₁
+* ⎄12 ½
+* ⎄+- ±
+* ⎄xx ×
+* ⎄:- ÷
+* ⎄/o ø
+* ⎄mu µ
+
+Business
+--------
+
+* ⎄oc ©
+* ⎄or ®
+* ⎄tm ™
+
+Emoticons
+---------
+
+* ⎄:) ☺
+* ⎄:( ☹
+
+As you can imagine, the list goes on and on.  The compositing system
+depends on your application (see the [Ubuntu wiki][ubuntu] for Gnome
+notes), but if you're using the X Input Method (XIM), your compose
+table depends on your locale:
+
+    $ echo $LANG
+    en_US.UTF-8
+    $ grep $LANG\$ /usr/share/X11/locale/compose.dir
+    en_US.UTF-8/Compose             en_US.UTF-8
+    en_US.UTF-8/Compose:            en_US.UTF-8
+    $ less /usr/share/X11/locale/en_US.UTF-8/Compose
+
+If you want to customize your compose keys, just add your own rules to
+an `~/.XCompose` file:
+
+    $ cat ~/.XCompose
+    include "%L"
+
+    <Multi_key> <h> <o> <m> <e> : "http://physics.drexel.edu/~wking"  # Home page
+
+Read `Compose(5)` for more information.  You may need to log out and
+log back in (or use the [[newgrp]] trick) for your new `~/.XCompose`
+file to take effect.
+
+[wikipedia]: http://en.wikipedia.org/wiki/Compose_key
+[ubuntu]: https://help.ubuntu.com/community/ComposeKey
+
+[[!tag tags/fun]]
+[[!tag tags/linux]]