compose.md
June 19, 2026 · View on GitHub
The Compose key on the DEC LK-201, LK-401 keyboards is pressed sequentially with two other keys to input Latin-1 characters such as £ (ComposeL-) and ¶(ComposeP!).
It cannot be used while held down as Meta.
======================================================================
Newsgroups: comp.sys.dec Path: cs.utk.edu!stc06.CTD.ORNL.GOV!fnnews.fnal.gov!uwm.edu !math.ohio-state.edu!howland.reston.ans.net!agate!news.Stanford.EDU !unixhub!sldb6.slac.stanford.edu!fairfield Message-ID: 1995Feb19.230712.1@sldb6.slac.stanford.edu Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <3i2qnj$83p@cpcw16.uea.ac.uk> Date: Mon, 20 Feb 1995 07:07:12 GMT From: fairfield@sldb6.slac.stanford.edu Subject: Re: Compose key on DEC LK401 keyboard on an Alpha 3000
In article <3i2qnj$83p@cpcw16.uea.ac.uk>, zebra@cpcw16.uea.ac.uk (Julii Brainard#) writes:
I know that people have posted messages about this before, and I have even saved a few, but there seems to be no authoritative guide for how to use the compose key on an Alpha 3000 with an LK401 keyboard to create all of those weird and wacky symbols and characters -- just a few of which may be useful in my work. [...]
I haven't seen this topic come up very often and it's not in any
FAQ (that I know of). The fact is, it seems very difficult to find
this information; usually, I expect, it's in the User's manual that
_may_ have come with the hardware (terminal), but it's not in the
VMS user's manuals, or even the I/O Reference Guide, etc. Note that
the compose sequences are common to all VTxxx terminals (and
DECterms) from the VT200_Series on up. [I guess that means LK201
and LK401 keyboards, etc.]
I _finally_ found the compose sequences in the Bookreader docs
for VXT1200 X-terminals, Table 15-4. I've reformatted the table,
and omitted some of the compose sequences for characters that
normally appear on a US keyboard (e.g., <COMPOSE> + + for the number
sign, #). Also, I've omitted the dozen or so characters that you
can only access if you're using the ISO Latin 1 character set; the
sequences I've listed are for the DEC Multinational character set,
although most of these are also available in ISO Latin 1.
-Ken
-- Kenneth H. Fairfield | Internet: Fairfield@Slac.Stanford.Edu SLAC, P.O.Box 4349, MS 98 | DECnet: 45537::FAIRFIELD (45537=SLACVX) Stanford, CA 94309 | Voice: 415-926-2924 FAX: 415-926-4335
These opinions are mine, not SLAC's, Stanford's, nor the DOE's...
=============================================================================== Note: Most sequences can also typed in reverse order, but a few must be typed in the order given.
| Character | Name | Compose Sequence | Character | Name | Compose Sequence | |
|---|---|---|---|---|---|---|
| « | opening angle brackets | << | » | closing angle brakets | >> | |
| ¡ | inverted ! | !! | ° | degree sign | 0^ | |
| ¿ | inverted ? | ?? | ¹ | superscript 1 | 1^ | |
| ¢ | cent sign | C/ or C\ | ² | superscript 2 | 2^ | |
| £ | pound sterling sign | L- or L= | ³ | superscript 3 | 3^ | |
| ¥ | yen sign | Y- or Y= | · | middle dot | .^ | |
| § | section sign | SO or S! | ¼ | fraction one-quarter | 14 | |
| ¤ | currency sign** | XO | ½ | fraction one-half | 12 | |
| © | copyright sign | CO | ± | plus or minus sign | +- | |
| ª | feminine ordinal | A_ | µ | micro sign | /u | |
| º | masculine ordinal | O_ | ¶ | paragraph sign | P! | |
| ß | German small sharp s | ss | ||||
| À | A grave | `A | à | a grave | `a | |
| Á | A acute | 'A | á | a acute | 'a | |
| Â | A circumflex | ^A | â | a circumflex | ^a | |
| Ã | A tilde | ~A | ã | a tilde | ~a | |
| Ä | A umlaut | "A | ä | a umlaut | "a | |
| Å | A ring | *A | å | a ring | *a | |
| Æ | A E diphthong | AE | æ | a e diphthong | ae | |
| Ç | C cedilla | C, | ç | c cedilla | c, | |
| È | E grave | `E | è | e grave | `e | |
| É | E acute | 'E | é | e acute | 'e | |
| Ê | E circumflex | ^E | ê | e circumflex | ^e | |
| Ë | E umlaut | "E | ë | e umlaut | "e | |
| Ì | I grave | `I | ì | i grave | `i | |
| Í | I acute | 'I | í | i acute | 'i | |
| Î | I circumflex | ^I | î | i circumflex | ^i | |
| Ï | I umlaut | "I | ï | i umlaut | "i | |
| Ñ | N tilde | ~N | ñ | n tilde | ~n | |
| Ò | O grave | `O | ò | o grave | `o | |
| Ó | O acute | 'O | ó | o acute | 'o | |
| Ô | O circumflex | ^O | ô | o circumflex | ^o | |
| Õ | O tilde | ~O | õ | o tilde | ~o | |
| Ö | O umlaut | "O | ö | o umlaut | "o | |
| Œ | O E diphthong* | OE | œ | o e diphthong* | oe | |
| Ø | O slash | O/ | ø | o slash | o/ | |
| Ù | U grave | `U | ù | u grave | `u | |
| Ú | U acute | 'U | ú | u acute | 'u | |
| Û | U circumflex | ^U | û | u circumflex | ^u | |
| Ü | U umlaut | "U | ü | u umlaut | "u | |
| Ÿ | Y umlaut* | "Y | ý ÿ | y umlat** | "y |
- * Only available in DEC-MCS
- ** Available in Latin-1 at a different codepoint
Does Capital Y Umlaut actually work?
The FAQ lists some glyphs which are not Latin-1 characters. Do they work on a VT340 in Latin-1 mode? No. They share the same code-point as Latin-1 glyphs, so they only work in DEC-MCS mode. (Set Up Key -> General -> User Pref Charset). Hackerb9 recommends using Latin-1 mode for modern VT340 usage.
Table of conflicting characters between MCS and Latin-1
The two characters in each row have the same code point.
| Code | DEC-MCS | Name | Compose Sequence | Latin-1 | Name | Compose Sequence | |
|---|---|---|---|---|---|---|---|
| 0xD7 | Œ | O E diphthong | OE | × | Multiplication | xx | |
| 0xF7 | œ | o e diphthong | oe | ÷ | Division | -: | |
| 0xDD | Ÿ | Y umlaut | "Y | Ý | Y acute | 'Y | |
| 0xDD | ÿ | y umlaut | "y | ý | y acute | 'y | |
| 0xFF | Invalid | ÿ | y umlaut | "y | |||
| 0xA8 | ¤ | Currency sign | XO | ¨ | Diaeresis | "" | |
| 0xA4 | Undefined | ¤ | Currency sign | XO |
Sidenote: Character 0xFF (y umlaut) is invalid when the VT340 is set to MCS and the glyph will be omitted instead of being substituted with the backwards question mark (DEC replacement character).
Latin-1 VT340 compose keys not found in Shufford's DEC FAQ
| Code | Character | Name | Compose Sequence |
|---|---|---|---|
| a0 | " " | No-break space | SpaceSpace |
| a6 | ¦ | Broken pipe | PipePipe |
| a8 | ¨ | Diaeresis | "" |
| ac | ¬ | Not | -, |
| ad | | Soft hyphen | -- |
| ae | ® | Registered | RO |
| af | ¯ | Macron | ^- |
| b4 | ´ | Acute accent | '' |
| b8 | ¸ | Cedilla | ,, |
| be | ¾ | Three quarters | 34 |
| d0 | Ð | Icelandic Eth | -D |
| d7 | × | Multiplication | xx |
| dd | Ý | Y acute | 'Y |
| de | Þ | Icelandic Thorn | TH |
| f0 | ð | Icelandic eth | -d |
| f7 | ÷ | Division | -: |
| fd | ý | y acute | 'y |
| fe | þ | Icelandic thorn | th |
| ff | ÿ | y umlaut | "y |
X11 compose is very similar
X11 uses a near superset of the compose key sequences on the VT340. To
use it, one just needs to assign a key to be "Compose" (e.g.,
setxkbmap -option compose:rctrl). See the file
/usr/share/X11/locale/en_US.UTF-8/Compose for
all possible compose sequences. Also see
/usr/share/X11/locale/iso8859-1/Compose for
a much shorter list of keys which more closely fits with the VT340.
Compose keys from X11 Compose
| DEC | HEX | OCT | CHAR | NAME | X11 Compose | |
|---|---|---|---|---|---|---|
| 160 | a0 | 240 | Non-breakable space | spacespace | ||
| 166 | a6 | 246 | ¦ | Broken bar | !^ | |
| 168 | a8 | 250 | ¨ | Diaeresis | "" | |
| 172 | ac | 254 | ¬ | Not | -, | |
| 173 | ad | 255 | | Soft hyphen | -- | |
| 175 | af | 257 | ¯ | Macron | ^- | X11 adds a space at the end |
| 180 | b4 | 264 | ´ | Acute accent | '' | |
| 208 | d0 | 320 | Ð | Icelandic Eth | -D | X11 specifies ~ instead of - |
| 215 | d7 | 327 | × | Multiply | xx | |
| 221 | dd | 335 | Ý | Y-acute | 'Y | |
| 222 | de | 336 | Þ | Icelandic Thorn | TH | X11 uses ~ T |
| 240 | f0 | 360 | ð | Icelandic eth | -d | X11 uses ~ instead of - |
| 247 | f7 | 367 | ÷ | Divide | -: | |
| 253 | fd | 375 | ý | y-acute | 'y | |
| 254 | fe | 376 | þ | Icelandic thorn | th | X11 uses ~ t |
Redundant ASCII
The Compose key on the VT340 (and in X11) allows one to type some ASCII characters that may be difficult to access on some keyboards. Since they merely replace keys that exist on the US keyboard, they were not listed in Shufford's DEC keyboard FAQ.
| Character | Name | Compose Sequence |
|---|---|---|
| { | Left curly brace | -( |
| } | Right curly brace | )- |
| [ | Left square bracket | (( |
| ] | Right square bracket | )) |
| # | Number sign | ++ |
| \ | Backslash | // |
| Pipe | Pipe symbol | /^ |
Aliases available in X11, missing on VT340
These additional sequences are listed as aliasses in X11. Do they also work on the VT340? Nope. Just use the standard sequences.
| character | Name | X11 Compose Alias | Standard Compose |
|---|---|---|---|
| ° | Degree | oo | 0^ |
| µ | Micro | mu | /u |
X11 UTF-8 Compose
X11 changes the meaning of some compose sequences when LANG=en_US.utf-8 (versus LANG=en_US.iso8859-1).
feminine and masculine ordinals
In X11's UTF-8 encoding, _a is ā (a with macron) and _o is ō (o with macron). Instead X11 requires ^_a and ^_o for ª and º
Degree and superscript zero
In X11, ^0 is ⁰ (superscript zero), use oo for degree.
Many Unicode Characters not possible on VT340
With a Unicode locale, the Compose key in X11 has a much wider repertoire. Do not expect the VT340 to be able to do sequences like:
| Char | Name | Compose sequence |
|---|---|---|
| ⌣ | Smile | :) |
| ♥ | Heart | <)3/kbd> |
However, DEC APL does somehow allow redefining the compose keys so as to make unusal glyphs. This has been tested with the VWS terminal emulator, but needs to be tested with a VT340.