2021-01-11 17:34:38 +00:00
|
|
|
|
---
|
|
|
|
|
title: "Typing International Characters"
|
|
|
|
|
description: "Setting up your keyboard so you can type international characters such as ß, ñ, and ü in addition to a myriad of others (™, ©, ¢, €, ∵, ∞, §, ¶, etc.)"
|
2021-11-10 08:07:08 +00:00
|
|
|
|
author: Amolith
|
2021-01-11 17:34:38 +00:00
|
|
|
|
date: 2020-04-08T13:21:39-04:00
|
|
|
|
|
tags:
|
|
|
|
|
- Keyboard
|
|
|
|
|
- Typing
|
|
|
|
|
- Writing
|
|
|
|
|
- International
|
|
|
|
|
- Typography
|
|
|
|
|
categories:
|
|
|
|
|
- Technology
|
|
|
|
|
cover: /assets/pngs/keyboard.png
|
|
|
|
|
toc: true
|
|
|
|
|
---
|
2021-06-26 20:51:30 +00:00
|
|
|
|
|
|
|
|
|
My first computer was an [Acer C710
|
|
|
|
|
Chromebook.](https://www.cnet.com/products/acer-c710-2055-chromebook/specs/)
|
|
|
|
|
There were a *lot* of problems with it but one thing I always
|
|
|
|
|
appreciated were its dead keys. Until a few days ago, I had *completely*
|
|
|
|
|
forgotten what the feature was called. Once I figured it out, however, I
|
|
|
|
|
was able to do some digging and find the answer fairly quickly.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
|
|
|
|
## Dead keys
|
2021-06-26 20:51:30 +00:00
|
|
|
|
Dead keys[^1] are actually a type of modifier, like `Ctrl` or `Shift`.
|
|
|
|
|
They allow people to type accented characters that don't appear on their
|
|
|
|
|
keyboard. For example, I have a US keyboard and there is no enye (the
|
|
|
|
|
diactric[^2] mark over the ñ) as can be found on Spanish and Latin
|
|
|
|
|
American layouts.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
I'm not exactly sure why but dead keys don't have to be held down when
|
|
|
|
|
you want to use them but they don't; simply strike the dead key then the
|
|
|
|
|
character you intend to modify and the resulting accented character will
|
|
|
|
|
be rendered properly.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
Dead keys allow writers to use far more characters that just the
|
|
|
|
|
accented ones found in various alphabets. Indeed, one can type a *very*
|
|
|
|
|
wide variety of symbols:
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
``` text
|
2021-01-11 17:34:38 +00:00
|
|
|
|
™ © ® § ¶ ∵ € ¢ ¥ ⅞ x³ ∞ ¬ ÷ ± × ≠ ♪ ♬ ♭ ♮ ♯ → ⇒ ☭ ㉔ ⓐ ß æ ø Œ
|
|
|
|
|
```
|
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
The full list of all possible combinations (on Linux) can be found in
|
|
|
|
|
[the documentation from David
|
|
|
|
|
Monniaux.](https://cgit.freedesktop.org/xorg/lib/libX11/plain/nls/en_US.UTF-8/Compose.pre)
|
|
|
|
|
For a shorter but easier-to-read list, refer to the [GtkComposeTable
|
|
|
|
|
from Ubuntu.](https://help.ubuntu.com/community/GtkComposeTable)
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
|
|
|
|
## Compose key
|
2021-06-26 20:51:30 +00:00
|
|
|
|
If you write code *at all*, enabling dead keys alone would be an
|
|
|
|
|
absolute *nightmare*. To get double quotes, you would have type `"` then
|
|
|
|
|
`Space` every single time. The same goes for `'`, `:`, `;`, `~`, etc.
|
|
|
|
|
The compose key[^3] makes this *much* less of an issue. When struck, it
|
|
|
|
|
indicates that the next few keys (2 or more) are to function as dead
|
|
|
|
|
keys. With this enabled, you can write code without abusing your space
|
|
|
|
|
bar but also type résumé[^4] correctly.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
I have found this absolutely invaluable in my German course. I am able
|
|
|
|
|
to type something like *Linux ist großartig* without searching "eszet"
|
|
|
|
|
and copying it from Wikipedia[^5].
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
|
|
|
|
## Usage
|
2021-06-26 20:51:30 +00:00
|
|
|
|
How you enable dead keys or the compose key depends *entirely* on your
|
|
|
|
|
operating system. I'm sure most Linux distributions that ship with a
|
|
|
|
|
DE[^6] like [GNOME,](https://www.gnome.org/) [KDE,](https://kde.org/)
|
|
|
|
|
[XFCE,](https://xfce.org/) etc. will have a GUI option in the settings.
|
|
|
|
|
I use [Arch Linux](https://archlinux.org/) with
|
|
|
|
|
[i3-gaps](https://github.com/Airblader/i3) and thus don't have a GUI to
|
|
|
|
|
manage these kinds of things. That's where the [Arch
|
|
|
|
|
Wiki](https://wiki.archlinux.org/index.php/) comes in.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
Depending on whether you want dead keys or a compose key, there are
|
|
|
|
|
different commands to run. I'm not sure how to enable the former—you'll
|
|
|
|
|
need to read [the page for
|
|
|
|
|
that](https://wiki.archlinux.org/index.php/Xorg/Keyboard_configuration)
|
|
|
|
|
yourself—but mapping an existing key to compose is really easy.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
|
|
|
|
List what your options are
|
2021-06-26 20:51:30 +00:00
|
|
|
|
|
|
|
|
|
``` text
|
2021-01-11 17:34:38 +00:00
|
|
|
|
grep "compose:" /usr/share/X11/xkb/rules/base.lst
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Copy which first column you want and paste it into this command
|
2021-06-26 20:51:30 +00:00
|
|
|
|
``` text
|
2021-01-11 17:34:38 +00:00
|
|
|
|
setxkbmap -option <option-goes-here>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
I mapped mine to the right `Alt` key as I never use it and it's near the space bar. The command for that would simply be:
|
2021-06-26 20:51:30 +00:00
|
|
|
|
``` text
|
2021-01-11 17:34:38 +00:00
|
|
|
|
setxkbmap -option compose:ralt
|
|
|
|
|
```
|
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
For other interesting things you can do with your keyboard, check [that
|
|
|
|
|
whole
|
|
|
|
|
section](https://wiki.archlinux.org/index.php/Xorg/Keyboard_configuration#Frequently_used_XKB_options)
|
|
|
|
|
of the Arch Wiki. It's really one of the best resources there is for
|
|
|
|
|
this kind of thing.
|
2021-01-11 17:34:38 +00:00
|
|
|
|
|
|
|
|
|
## Edit
|
2021-06-26 20:51:30 +00:00
|
|
|
|
Since the time of publication, I've started using
|
|
|
|
|
[Wayland](https://wayland.freedesktop.org/) and configuring your
|
|
|
|
|
keyboard with `setxkbmap` doesn't work. Instead, assuming you're running
|
|
|
|
|
[sway,](https://github.com/swaywm/sway/) add something along this vein
|
|
|
|
|
to your config. If you want to use something other than your right `Alt`
|
|
|
|
|
key, make sure you change that.
|
|
|
|
|
|
|
|
|
|
``` text
|
2021-01-11 17:34:38 +00:00
|
|
|
|
input type:keyboard xkb_options compose:ralt
|
|
|
|
|
```
|
|
|
|
|
|
2021-06-26 20:51:30 +00:00
|
|
|
|
[^1]: They're called dead keys because, with most keyboards and
|
|
|
|
|
operating systems, there is no visual indication that it's been
|
|
|
|
|
struck; the key appears to be dead.
|
|
|
|
|
[^2]: [Dictionary.com](https://www.dictionary.com/browse/diacritic?s=t):
|
|
|
|
|
"*a mark, point, or sign added or attached to a letter or character
|
|
|
|
|
to distinguish it from another of similar form, to give it a
|
|
|
|
|
particular phonetic value, to indicate stress, etc.*”
|
2021-01-11 17:34:38 +00:00
|
|
|
|
[^3]: Also known as a *multi key*
|
2021-06-26 20:51:30 +00:00
|
|
|
|
[^4]: Yes, résumé is the correct spelling. Resume is *accepted* but it's
|
|
|
|
|
*more* correct with the diacritical[^2] marks.
|
|
|
|
|
[^5]: I also had to do the same when I wanted to add an
|
|
|
|
|
[umlaut](https://wikipedia.org/wiki/Diaeresis_(diacritic)) to
|
|
|
|
|
anything, as in *über*
|
|
|
|
|
[^6]: *DE* is short for *Desktop Environment*. If you're not familiar
|
|
|
|
|
with the term, a DE is basically a suite of applications and
|
|
|
|
|
programs that make up the interface a computer user interacts with.
|
|
|
|
|
The dock on macOS, the start menu on Windows, your file manager,
|
|
|
|
|
these are all examples of *tightly* integrated applications that
|
|
|
|
|
provide the core functionality of whatever operating system you use.
|