German Umlauts on Windows

German Umlauts on Windows

I’ve tried many different ways of typing the German language on an English keyboard under Windows, and almost every experience has been terrible. After many years of this agony, all it took was a simple “a-ha” moment that just makes one hang their head in shame for not realizing the easy solution long before.

Partial (yet bad) Solutions

  • Windows Character Map: The pain of having to go through the menu and copy-paste really kills any kind of flow that one has going.

  • Windows Alt-Key Combos: Really? This is the best that can be done? I know quite a few who have gone through the pain of memorizing the cryptic number sequences that produce the umlauts, but it still has the same problem, in that it interrupts the flow.

  • HoldKey (http://www.holdkey.eu/): This program attempts to imitate the macOS solution for accents, which is to briefly hold the letter that you want to accent, and a small dialog will appear where you can then press a number that corresponds to the accented key. It was a whole ton better than almost every other solution, but fell short in many ways: it didn’t always detect the correct place to put the dialog box, defaulting to the top left of the window rather than of the control you’re typing into; it often got stuck and started intercepting the wrong keys, making it impossible to type; and it didn’t work in fields that have autocomplete, such as internet search bars.

Best Solution

The best solution is use AutoHotKey with a script that inserts the umlauted characters with sensible shortcuts. The script that I finalized on involves pillaging the Caps Lock key, and putting it to good use. (Side bar: in the times of shrinking keyboards, where arrow keys are getting crammed to nothing and the valuable function keys are being removed, how has the Caps Lock key remained one of the largest real estate owners on my 2020 keyboard? It makes no sense.)

Below is a script that will always run, and disables the use of the Caps Lock key. However, when you hold the Caps Lock key and press “a”, you’ll receive an “ä”, as if it were magic. But you wanted an “Ä”? Oh, just also hold the shift key. Wow! Even Caps Lock + s gets you the “ß”. What a time to be alive.

#Persistent
SetCapsLockState, AlwaysOff

#If, GetKeyState("CapsLock", "P")
a::Send, ä
o::Send, ö
u::Send, ü
s::Send, ß
+a::Send, Ä
+o::Send, Ö
+u::Send, Ü
#If

Using the Best Solution

You can download an executable by clicking here. This executable was generated on GitHub servers from the source code, so every step of it is public. You can view the source and build steps here on GitHub.

After downloading the executable, put it somewhere that it can stay for the long-haul. Simply launching the application will bring it to life, and you can start typing umlauts easily by following the steps above.

If you want this program to start automatically on boot:

  • Right-click it and select “Create Shortcut”

  • Copy and paste this shortcut inside of your Startup directory so that it gets started when you start your computer.

Your startup directory can be found by pressing Windows + R on your keyboard, and pasting either of these lines:

  • C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  • shell:startup

After that, you’ll have easy-to-type German Umlauts forever!