1 Comment IT

[Keyboard] Programmer dvorak + autohotkey = Typing APM overdrive!

Most people are used to work with keyboards mappings like qwerty or azerty, but there is some mappings that are more optimal to work with. In this post, we will have a look to Programmer Dvorak keyboard mapping and some AutoHotkeys to improve your efficiency while coding.


  1. Install Programmer Dvorak keyboard mapping
  2. To ease your Programmer Dvorak learning, print a layout model and put it below your screen so you can have a look at it while typing
  3. Install AutoHotkey and run this script, this will add some hotkeys to improve your Programmer Dvorak experience. Make sure that NumLock is disabled otherwise the hotkeys won’t work

List of hotkeys (emulated key: physical key):

  • Ctrl: CapsLock. While coding, I rarely use CapsLock contrary to Ctrl key. Moreover physical Ctrl key is too much far away from pinky finger and it quickly becomes painful (especially when coding with emacs like editors), so having a Ctrl instead of CapsLock is really handy
  • Arrows: AltGr (or Right Alt) + (c, h, t or n). The thumb is overly unused whereas it is the strongest finger of the hand. Use your right thumb to push AltGr and fingers from the same hand to move with the arrows. If you want to add modifiers (combinations of Ctrl, Shift and Left Alt) you have to push on AltGr, then on the modifiers and finally on the letters for the direction.
  • BackSpace: Compose Key. The Compose Key is usually just on the right of the left shift key. You might have the compose key only if your keyboard is an Azerty or an European style keyboard. One could change the key to be Delete instead of BackSpace according to your habits.
  • Home: AltGr + g
  • End: AltGr + r
  • PageUp: AltGr + m
  • PageDown: AltGr + v

The goal of these shortcuts is to avoid to remove the fingers from the letters keys. Indeed the more you move your hands from the letters, the more you waste time and hurt your arm / hands / fingers. You may try to follow these rules:

  • Use your pinkies to push on Shift / CapsLock (remapped as Ctrl) keys
  • If your keyboard is ergonomic enough for it, use the thumbs to push on Alt keys
  • If your keyboard is ergonomic enough for it, use your palms to push on modifiers /  Context Menu key
  • Avoid to use your mouse (use Context Menu key whenever possible)
  • Avoid to use the NumPad
  • Avoid to use the right part of your keyboard (NumPad, Arrows, PageUp, PageDown, Del, …), use the above shortcuts instead

Note: The AutoHotkey script is not yet perfect, sometimes the CapsLock key might be blocked, I usually roughly solve it by bashing on AltGr+CapsLock keys…

If you want to go further, you may have a look to foot pedals, it is sometimes used by emacs / vi / vim users as modifiers…