Compose Key on Linux - Never Complete Only Abandoned - Obsidian Publish On [[Linux]] it is possible to set a key as the "Compose Key", replace its usual functionality. Typically this is the right alt key, but some people use caps lock for it.
This allows you to type characters that do not exist in your standard keyboard layout.
```
àãåâáäāăąč
…¡¿»«¨
æœß∞
♩♪♫♬♮♭♯
¢¤€£¥
°×÷±ªºµ¬¶§
½⅓¼⅕
☺☹
```
# Tables
| **Symbol** | **Key 1** | **Key 2** | **Description** |
| ---------- | --------- | ------------ | --------------------- |
| ´ | ' | ' | Acute accent |
| `|` | [space] | Grave accent | |
| ˘ | ( | [space] | Breve |
| ˇ | < | [space] | Caron |
| ¸ | , | , | Cedilla |
| ^ | > | [space] | Circumflex |
| ¨ | " | " | Diaeresis |
| … | . | . | Ellipsis |
| ¡ | ! | ! | Inverted exclamation |
| ¿ | ? | ? | Inverted question |
| | [space] | [space] | Non-breaking space |
| » | > | > | Right double arrow |
| « | < | < | Left double arrow |
| **Symbol** | **Key 1** | **Key 2** | **Description** |
| ---------- | --------- | --------- | ----------------- |
| ° | o | o | Degree |
| ÷ | : | - | Division |
| × | x | x | Multiplication |
| ª | a | _ | Feminine ordinal |
| º | o | _ | Masculine ordinal |
| µ | / | u | Micro |
| ¬ | , | - | Not |
| ¶ | p | ! | Pilcrow |
| ± | + | - | Plus/minus |
| § | o | s | Section |
| ⁰ | ^ | 0 | Superscript 0 |
| ¹ | ^ | 1 | Superscript 1 |
| ² | ^ | 2 | Superscript 2 |
| ³ | ^ | 3 | Superscript 3 |
| **Char** | **Key 1** | **Key 2** | **Description** |
| -------- | --------- | --------- | ---------------- |
| æ | a | e | ae ligature |
| œ | o | e | oe ligature |
| Æ | A | E | AE ligature |
| Œ | O | E | OE ligature |
| ß | s | s | German ß |
| ∞ | 8 | 8 | Massachusett ꝏ |
| þ | t | h | Thorn |
| ð | d | h | Eth |
| **Symbol** | **Key 1** | **Key 2** | **Description** |
| ---------- | --------- | --------- | ---------------- |
| ¢ | \| (bar) | C | Cent |
| ¤ | O | X | Currency |
| € | C | = | Euro |
| £ | L | = | Pound |
| ¥ | Y | - | Yen |
| **Symbol** | **Key 1** | **Key 2** | **Description** |
| ---------- | --------- | --------- | ---------------- |
| ♩ | # | q | Quarter |
| ♪ | # | e | Eighth |
| ♫ | # | E | Beamed eighth |
| ♬ | # | S | Beamed sixteenth |
| ♭ | # | b | Flat |
| ♮ | # | f | Natural |
| ♯ | # | # | Sharp |
| **Char** | **Key 1** | **Key 2** | **Description** |
| -------- | --------- | --------- | ---------------- |
| ½ | 1 | 2 | One-half |
| ⅓ | 1 | 3 | One-third |
| ⅔ | 2 | 3 | Two-thirds |
| ¼ | 1 | 4 | One-quarter |
| ¾ | 3 | 4 | Three-quarters |
| ⅕ | 1 | 5 | One-fifth |
| ⅖ | 2 | 5 | Two-fifths |
| ⅗ | 3 | 5 | Three-fifths |
| ⅘ | 4 | 5 | Four-fifths |
| ⅙ | 1 | 6 | One-sixth |
| ⅛ | 1 | 8 | One-eighth |
| ⅜ | 3 | 8 | Three-eighths |
| ⅝ | 5 | 8 | Five-eighths |
| ⅞ | 7 | 8 | Seven-eighths |
| **Symbol** | **Key 1** | **Key 2** | **Description** |
| ---------- | --------- | --------- | ---------------- |
| © | o | c | Copyright |
| ® | o | r | Registered |
| ™ | t | m | Trademark |
# Full List
A searchable paginated list can be generated in Bash using:
```sh
less "/usr/share/X11/locale/$(grep -m1 "${LANG%.*}.UTF-8\
quot; /usr/share/X11/locale/locale.dir | cut -d/ -f1)/Compose"
```
This doesn't seem to take into account the user's `.XCompose` file?
# Resources
- Shared community `.XCompose` file: https://github.com/kragen/xcompose
- Xorg default configuration: https://cgit.freedesktop.org/xorg/lib/libX11/tree/nls/en_US.UTF-8/Compose.pre
- Cheatsheet, many of them work, but some do not match my configuration: https://cheatography.com/davechild/cheat-sheets/ubuntu-compose-key-combinations/
- https://www.linuxquestions.org/questions/linux-newbie-8/full-list-of-entering-special-characters-with-compose-key-922021/
- https://askubuntu.com/questions/34932/where-can-i-find-the-full-list-of-compose-combinations-for-my-locale