Linux Toolbox: Typing Extended Characters

screenshot of Gnome keyboard layout options dialogue
Though I’ve long known of the Windows Alt- and Mac Option-key codes for producing extended characters, I’ve only recently discovered a couple different shortcuts that allow the same thing under Linux.

A discussion at Daily Writing Tips about em-dashes, specifically regarding when to use them, spun in the direction of how to produce em-dash characters.

The immediate and obvious suggestion was to rely on word processors’ automatic character replacement—which generally involves swapping out two minus signs for “—” as-you-type. It was also pointed out, however, that there are specific key sequences you can use within different OSes to produce these characters without benefit of a word processor.

Direct/Universal Entry

For accomplishing this on Linux, one of the commenters offered up a sequence that included a “Compose” key—a key I was not familiar with. It turns out, the “Compose” key was apparently present on some older systems, but isn’t on “standard” US keyboards. It is possible, however, to turn one of your “extra” keys into a compose key, should you wish, using your system’s keyboard preferences.

The Compose key sequences provide an easy-to-remember way to create extended characters, largely using “logical” key grouping to produce, for example, an “ã” by combining a “~” with an “a” character. In the case of an em-dash, the sequence is minus-minus-minus. (I attempted entering this as characters, but, interestingly enough, WordPress automatically converts three minus signs into an em-dash.)

For those of us without “Compose” keys, or who prefer to stick with the default keyboard layout, there is another option—the key sequence Ctrl-Shift-u allows you to enter the Unicode value of any character you want to produce. For an em-dash the value is 2014, so you’d press Ctrl-Shift-u, then 2014, then enter. The downside to the Unicode method is that you need to know or have all the unicode values handy for the keys you might want to use.

Windows and Mac users have their own key sequences, and requirements. Windows users also have to memorize a table of numerical character values, while the Mac implementation is more similar to the ComposeKey sequences, using key sequences and modifiers.

To recap our em-dash example:

For Linux:
<composekey>, ---
Ctrl-Shift-u, 2014, <enter>.
ComposeKey Sequences | Unicode Characters

For Windows:
Alt-0151Alt key sequences

For Mac:
Shift-Option-minusOption key sequences

Less Direct Methods

Of course, there are also other, less direct methods to get some of the characters. Windows and most Linux distros should come with a Character Map app of some kind, which will let you see all the special characters, and usually copy and paste them. I don’t know offhand of an app that comes with Mac OS X by default, but there are certainly some to be found—I have one on my dashboard at work.

Recently, and part of what has prompted this post, I have found myself either going to a web page that I know has an em-dash in it, or simply Googling “em-dash” and copy/pasting the first instance I find in the results. This is one of those crazy internet-enabled “workaround” methods that I’ve been too lazy or too busy to find an alternative for, before now.


If you’re a heavy keyboard user, the above methods will improve your efficiency when using special characters, but, of course, it also depends on your willingness or ability to memorize character codes or key sequences.

Do you have a preferred method of producing these characters? Maybe you’ve put together a cheat-sheet to help you learn (or off-load the need to learn) the various codes and sequences? I’d be interested to hear how you deal with these special characters in your daily work. Go ahead and leave us a comment and share what you’ve found most helpful.