As someone learning German, I wanted to avoid learning a new keyboard layout (German QWERTZ) as well as the language. Thus in this blog post, I go into the details of how to get German umlauts on a US keyboard layout across Linux, MacOS and Windows.
A little background
Like most Polish computer users, I grew up with the, awkwardly named, Polish (programmers) layout. It is effectively a English (US) with the
Alt+Gr (a.k.a. right Alt/Option) key used as a modifier to produce all the funny Polish characters of, among many others,
a > ą,
l > ł and
z > ź.
The reason why the layout is called “Polish (programmers)” is historical. In the 1980s an Polish keyboard layout, mimicked after the pre-existing typewriter layout, was officially sanctioned. However, as the wild 1990s saw a huge influx of computers directly imported from the US, mostly by engineers, a significant chunk of computers in Poland had a US keyboard. Instead of spending money on a new keyboard, Poles decided to just hack it and use the
Alt+Gr. And as a Polish proverb says “prowizorka jest nieśmiertelna” (make-shift solutions are immortal), the “Polish (programmers)” soon became the de-facto standard, including Polish classrooms.
What I wanted?
Basically, I have type-memory on an English US keyboard, with a tendency to press
Alt+Gr for accents in Polish. Thus, to naturally type in Germna, I’d massively prefer a US keyboard with
Alt+Gr as a method for inputting German umlauts of
a > ä,
o > ö,
u > ü as well as
s > ß, with the
Shift acting only as a capitalization key.
Turns out, it’s quite easy to set up.
Ubuntu, and most modern distros, already ship with the relevant keyboard configuration called “German (US, with German Letters”). Unfortunately, the typuical place where you’d add it, i.e.
Settings > Region and Region > Input Sources > +, doesn’t allow you to select it.
That’s because, in order to make the selection less confusing, most extended layouts are hidden from the users. To enable that, you will need to install Gnome Tweaks.
After that, in the
Settings > Region and Region > Input Sources > + will have an extra step. Select
English (United States) and then
German (US, with German letters).
The layout looks like this:
There’s an excellent third-party keyboard layout by Patrick Zippenfenig (github). To install it for all users, open a Terminal and do:
sudo echo # type in your password to avoid having to type it afterwards
After that, copy paste this magical one-liner to download and install it:
curl -sL https://api.github.com/repos/patrick-zippenfenig/us-with-german-umlauts/tarball/master | sudo tar xz --exclude=README.md --strip=1 -C /Library/Keyboard\ Layouts/
Preferences > Keyboard > Input Sources > + and select it:
I don’t really use Windows. But apparently it has a built in
United States International keyboard layout. Follow this guide to use it.