Linked by Thom Holwerda on Wed 17th Jun 2015 13:51 UTC
Windows Windows is an old and complex operating system. It's been around for a very long time, and while it's been continuously updated and altered, and parts are removed or replaced all the time, the operating system still houses quite a few tools, utilities, and assets that haven't been updated or replaced in a long, long time. Most of these are hidden in deep nooks and crannies, and you rarely encounter them, unless you start hunting for them.

Most. But not all.

There's one utility that I need to use quite often that, seemingly, hasn't been updated - at least, not considerably - since at least Windows 95, or possibly even Windows 3.x. Using this utility is an exercise in pure frustration, riddled as it is with terrible user interface design and behaviour that never should have shipped as part of any serious software product.

This is the story of the dreaded Character Map. I'll first explain just how bad it really is, after which I'll dive into the little application's history, to try and find out why, exactly, it is as bad as it is. It turns out that the Character Map - or charmap.exe - seems to exist in a sort-of Windows build limbo, and has been stuck there since the days Microsoft scrapped Longhorn, and started over.

Thread beginning with comment 612654
To read all comments associated with this story, please click here.
a better special character entry method
by mrbumpy409 on Thu 18th Jun 2015 01:33 UTC
mrbumpy409
Member since:
2013-07-19

Linux seems to have the best method for entering special characters, at least in my opinion. If you set this command to run on startup: "setxkbmap -option compose:ralt", it allows you to enter special characters by holding down the right alt key and typing a two-character combination. For example, to enter á you would hold down right alt and type 'a or a'. This is obvious and easy to remember (as opposed to Windows Alt-codes). Other common characters:

Type: Result:
`a - - - à
'a - - - á
"a - - - ä
oa - - - å
^o - - - ô
/o - - - ø
ss - - - ß
oc - - - ©
or - - - ®
PP - - -

It also handles capitalization, so 'A gives you Á. No need to open a character map!

Does anybody know if there is a way to do this in Windows as well. My online searches have turned up nothing.

Reply Score: 3

avgalen Member since:
2010-09-23

That is only for simple special characters though. Most (software) keyboards handle that automatically. I have 2 keyboards installed on my machine:
* English (United States) - US for development where 'a becomes 'a
* Dutch (Netherlands) - United States International for text typing where 'a becomes á.
Of course the latter also works for some other common special characters:
`a = à
^A = Â
"a = ä
'c = ç
~n = ñ
switching between those software keyboards is done with winkey+space and gives a nice visual indicator. This is all that I need normally

Reply Parent Score: 3

Carewolf Member since:
2005-09-08

Those are bad example. Accents are already handled like that by most keyboard layouts.

Better examples are oe -> œ ae -> æ mu -> µ

Reply Parent Score: 2

Doc Pain Member since:
2006-10-08

Allow me a short addition:

Linux seems to have the best method for entering special characters, at least in my opinion.


Nothing specific to Linux here. This is a feature being present in many UNIX operating systems, such as BSD or Solaris - basically everywhere where X is available. Even better: Sun keyboards have a dedicated key named "Compose" which allows you to inout a key sequence (instead of a key combination) to combine two characters to one.

A few example:

Compose / L generates polish Ł
Compose s s generates german ß
Compose a a generates swedish å
Compose a , generates polish ą
Compose c C generates czech Č
Compose c , generates turkish ç
Compose / o generates danish ø

So basically all characters which have an equivelant in the character table and the font in use can be constructed, and it will be visible immediately. It works independently from the selected keyboard language and layout.

If you set this command to run on startup: "setxkbmap -option compose:ralt", it allows you to enter special characters by holding down the right alt key and typing a two-character combination.


On a german keyboard, you already have the right Alt key ("Alt Gr") as a modifier level similar to Shift. While this is already set when you select the German key map, using Compose requires a little addition, for example in ~/.xmodmaprc you put

keycode 117 = Multi_key

where 117 is the code of the "Compose" key on the Sun USB Type 7 keyboard (german language variant). If you wish to use another key, use the xev (X event viewer) program to find its code and then assign it to that key.

Characters with accents (and few others), like ó ò ñ â, usually don't require any addition.

No need to open a character map!


A character map might still be useful when you do not know how to input one character (or a few ones) you hardly use, "for the overview". In daily work where you need to input those characters regularly, a character map application is probably simply overkill (text production flow interruption, distraction, "mental break" / paradigm break)...

Reply Parent Score: 2