Switching from QWERTZ to QWERTY on macOS

The German QWERTZ keyboard layout was not made for developers. Often needed keys like brackets and braces are unnecessarily hard to type. The layout is also not ideal for some applications or often used character combinations. Ever wondered why the creators of vi chose slash and question mark for forward/backward searching? Just take a look on a English QWERTY layout. You may also find motivations for using a slash to close html tags or using the combination of dot and slash for the unix filesystem.

EN International Apple keyboard

You could have more fun and increase productivity with modern keyboard layouts like Dvorak or Colemak. These were made with typing efficiency and ergonomics in mind. But if you switch to them you’ll really have to invest time to learn them. Also you won’t find a MacBook with correctly labeled keys and either you or your coworker will start crying when you do pair programming next time.

A good compromise in my opinion is using an English QWERTY layout. It’s relatively easy to learn and you still can switch from one to another without being unable to type anything. On macOS you can type a lot of special characters when pressing the ⌥ Option key so you shouldn’t have a problem typing the ß via ⌥ Option + s.

Special characters on macOS when Option key is pressed

Sadly there is no key mapping for ä, ö, and ü, so how can you type these characters when using an English keyboard layout?

Press and hold

The easiest way is to just press and hold a vowel. MacOS will display a context menu with the particular variations.
This is a nice feature if you need it a few times a day. If you really need to write more than a few German sentences it will drive you mad.

The diaeresis dead key

MacOS maps ⌥ Option + u to the diaeresis dead key. Diaeresis (or Trema) are the two dots crowning an o to an ö. So you can type ⌥ Option + u + o to get an ö. Much better then press and hold but still not perfect. It just feels strange that typing a Scandinavian å is easier then typing an ä if you are writing in German.

Changing key bindings

Next possibility is changing key bindings. For this you have to create or edit ~/Library/KeyBindings/DefaultKeyBinding.dict:

{ 
"~a" = ("insertText:", "ä");
"~A" = ("insertText:", "Ä");
...
}

MacOS will also accept this file written in plist syntax so don’t wonder if you find a DefaultKeyBinding file with .dict extension but plist syntax. More information about changing key bindings can be found on osxnotes.net. Unfortunately you can’t remap dead keys this way so for ü you still have to type ⌥ Option + u + u.

Changing the keyboard layout

Last option is to create a custom keyboard layout. Ukelele is a nice tool for that. You can find a modified English keyboard layout on github. MacOS won’t accept this as default keyboard layout so please follow the installation steps on github exactly.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.