A key recognized by X that you can use to enter a whole range of Unicode characters with mnemonic key sequences. For example, compose-singlequote-e to enter an “é” (e-acute) character. Note this is not a “modifier” key, it’s more like a “dead” key—you press it, let it go, then press the rest of the keys in the sequence in turn.

Here’s how to get some of the more common accented characters:

 accents   key sequence 
 acute: á, é, í, ó, ú   compose-singlequote-letter 
 caret: â, ê, î, ô, û   compose-caret-letter 
 cedilla: ç   compose-comma-letter 
 grave: à, è, ì, ò, ù   compose-backquote-letter 
 macron: ā, ē, ī, ō, ū   compose-underscore-letter 
 tilde: ã, ñ, õ   compase-tilde-letter 
 umlaut: ä, ë, ï, ö, ü   compose-doublequote-letter 

By default this function is not assigned to any key. You can tell the X server what key to use for this function with a command of the form

setxkbmap -option compose:keyname

for example

setxkbmap -option compose:caps

to assign it to the caps-lock key. (Do you use caps-lock for anything else? I don’t.) GUI environments like GNOME and KDE probably provide some way you can configure this automatically every time you login.

The key sequences you can use depend on your locale, and are defined in the file


To get the largest choice of characters, make sure you select a UTF-8-encoded locale.

But this can be useful even if you don’t write accented characters and text in multiple languages: the characters available include typographic niceties like the following:

 description   looks like   key sequence 
 opening double quote   “   compose-lessthan-doublequote 
 closing double quote   ”   compose-greaterthan-doublequote 
 opening single quote   ‘   compose-lessthan-singlequote 
 closing single quote/apostrophe   ’   compose-greaterthan-singlequote 
 em-dash   —   compose-hyphen-hyphen-hyphen 
 paragraph symbol/pilcrow   ¶   compose-p-exclamation 
 section symbol   §   compose-s-o or compose-o-s 
 degree sign   °   compose-o-o 
 multiplication   ×   compose-x-x 
 division   ÷   compose-colon-dash 
 not equal   ≠   compose-slash-equals 
 cents sign   ¢   compose-c-slash or compose-slash-c 
 euro sign   €   compose-c-equals or compose-equals-c 
 pound sign   £   compose-capitalL-minus 
 copyright   ©   compose-c-o or compose-o-c 
 registered trademark   ®   compose-o-r 
 trademark   ™   compose-t-m 

If a character displays as an empty box, that means your currently-selected font does not define it.