Sunday, 12 January 2025

Mechanical Keyboards, Part 2: Customisation

Sometime back I wrote about choosing a mechanical keyboard (MK for short). This post is a sequel about customising my MK – both hardware (switches and keycaps) and software (using Autohotkey which is a free, open-source program). The MK posts are rather dry and technical, so feel free to skip them. I mainly wrote them for my own future reference; if they happen to help someone who is actually interested in MKs and facing some of the same choices that confronted me, that's a happy bonus.

Part 1: Hardware customisation

1.1 Switches

The photo below shows keycaps (green and white) and switches (red) which sit below the keycaps.

Let's talk about switches first. On hot-swappable keyboards, a switch can be removed and replaced in a matter of seconds, using a simple tool that usually comes for free when you buy an MK or a set of switches. This is helpful if a switch is damaged or worn. Or if you want a different typing experience, you can swap them out for another type of switch.

This page goes into more detail, but in short, there are three main types of switches: blue (tactile bump and audible click), brown (tactile bump but no audible click) and red (neither bump nor click). I tried out my friend's keyboard which has blue switches, and various other switches at retail stores. My current preference, as you can see in the photo above, is for linear red switches (the least noisy type).

1.2 Keycaps

Since my previous post, I now have not one but two MKs – one for home and one for work.

My work keyboard has white keys. Keycaps come in a variety of colours, materials and profiles. I found this set of "bamboo forest" keycaps online that I liked the look of, but when they arrived, I realised that the white keys are in fact off-white, while my keyboard base is pure white:

This discrepancy bothers me (possibly more than it should), so I went back to the white keys.

Truth be told, the white keys have kind of grown on me. I do wish they had used some other font (what we have here is a stencil font with open counters; come on guys, keep it simple!) and I could have done without the F-key inscriptions (it's fairly obvious that 2 doubles up as F2, for example). But on the whole I like them, especially the way they light up.

For my second (home) keyboard, I searched long and hard for one whose base colour would match my bamboo forest keycaps, and miraculously I found one which is a perfect match. Here's my home keyboard with its original keys:


...and with the replacement keycaps:

The only (slight) downside to this keyboard is that it's wireless; I prefer wired keyboards because I don't have to worry about charging or replacing batteries. But I can live with that.

While we're on the topic of keycaps, I should note that key sizes can be different, depending on your keyboard configuration (my previous post, under Size, goes into more detail on configurations). For example, the key sizes for a typical 65% (68-key) keyboard like mine are shown in the image below (unmarked keys are 1x, and larger key sizes are denoted by a multiple thereof).


But in a full-size (100%) keyboard, some of the keys are sized differently – for example, the right Alt, Fn and Ctrl keys are 1.25x, and the right Shift key is 2.75x. A complete set of keycaps should have multiple variants of certain keys, to cover the more common So when choosing a set, it's worth checking that it has all the right key sizes for your keyboard type.

1.3 Stands

I guess this is also a form of customisation, albeit of the homebrew variety. My white keyboard has little fold-out stands, but my green keyboard doesn't. So I made stands from rubber pieces, cut to size.


Part 2: Software customisation

2.1 Keyboard layout

Qwerty is by far the most common layout, but there are alternatives such as Dvorak and Colemak, whose proponents claim they are faster and cause less strain. (Incidentally, I love how this alternative layouts page, in the list of reasons why people fear switching away from Qwerty, has listed "fear of ridicule".)

I stick to Qwerty, but with some minor modifications (see the "AutoHotkey" heading below). I considered learning Colemak because I like trying new things, but in the end I figured the time spent in getting up to speed with a new layout would vastly outweigh the gains (if any). And even if I did, I would then have a hard time typing on other keyboards with Qwerty layout.

This tool analyses various keyboard layouts, including user-defined custom layouts, on the basis of typing effort (though effort is of course subjective). And this page, about the lesser-known Workman layout, has a nice graphic showing the "the approximate amount of difficulty/strain" in reaching for or pressing various keys.

If switching from Qwerty to a whole new layout is a bridge too far, one option is to switch just a few keys. Carpalx lists the five most effective keyswaps. Apparently the first swap (K and E) alone reduces effort by 13.4%. But I haven't tried this myself.

2.2 AutoHotkey

Although I opted not to change my keyboard layout, I made various modifications using this wonderful free, open-source program called AutoHotkey (currently available for Windows only; other operating systems may have similar tools, but I haven't looked into them).

The AutoHotkey website has a comprehensive tutorial, and even though it might look intimidating if you're not a coder, it's actually not that hard. (I figured it out on my own, and I have minimal coding experience.) In short, you have to download AutoHotkey, then create a script which can be edited in Notepad. This script can then be used to change the behaviour of keys, effectively customising what they do. The final step is to make sure that the script runs automatically on startup.

Incidentally, regedit (Windows Registry Editor) can also be used to remap keys, but for most users, AutoHotkey is a better and more flexible solution (their own site lists some of the pros and cons of each approach).

My AutoHotkey script makes quite a few customisations, which I have iteratively tweaked to my personal taste over a period of months. You can see the whole script by clicking the link below:

Show/hide script

...but here are a few examples in a more human-readable form:

1. Shortcuts for symbols, such as:

  • For (n-dash), I press Right-Alt. (My Right-Alt otherwise gets very little use, since I almost always use Left-Alt.)
  • For (m-dash): Ctrl+Alt+-
  • For ° (degree-symbol): Ctrl+Alt+D
  • For Γ― (i with diaeresis, as in naΓ―ve): Ctrl+Alt+I

2. Program-specific customisations, such as disabling the aforementioned Ctrl+Alt+I shortcut in Affinity Photo, because that combination is used for Image size.

3. Some customisations to speed up typing. For example, I mapped my ; key to ! because I use the latter much more frequently. It's therefore convenient to have ! within easy reach (right pinky) and not have to press Shift+1 each time. My Caps Lock is mapped to ;, so I can still access it easily. To actually activate Caps Lock, which I seldom need, I press Ctrl+Caps Lock.

4. A 65% keyboard like mine doesn't have F keys; instead you have to press the Function key plus the corresponding number key (for example, Fn+1 for F1). I don't use that many F-keys anyway, but for the few that I do use, I set up workarounds which are faster than Fn plus number keys:

  • For F2 (rename file): long-press Esc
  • For Alt+F4 (close program): Ctrl+Alt+W
  • For F5 (refresh browser): Right-Ctrl+←
  • For Shift+F3 (change case in MS Word): Right-Ctrl+↓
  • For F11 (full-screen): Right-Ctrl+↑

5. Shortcuts for launching programs, such as Win+N for Notepad, Win+W for MS Word, and Win+A for Affinity Photo (I take care not to reassign any useful defaults, such as Win+P for Project Screen).

6. Mouse left-button plus wheel up/down to increase/decrease volume.

7. Windows key and various numbers for commonly-used emojis, such as Win+2 for πŸ˜….

8. Long-pressing ] generates my email address, to save me having to type it out in full.

9. Remapping some of the navigation keys, most notably right Shift to Home (I always use left Shift, and it's nice having Home and End on either side of the Up Arrow key).


In the process of customisation, I discovered a few helpful principles:

1. Try to make shortcuts easy to remember, because otherwise they fall out of use and are forgotten. For example, Ctrl+Alt+D for ° (degree symbol) is easily memorised.

2. Make sure shortcuts don't conflict with other commonly-used functions. For example I initially used Ctrl+Alt+M for × (multiplication symbol) but that is also the shortcut for Insert Comment in MS Word. I then switched to Ctrl+Alt+X, which is also easy to remember.

3. Long press is a nice way to assign additional functions to a key, but don't assign long-press to a key if there is a chance you'll hit that key and another key in quick succession, because then the order gets reversed. For example, let's say you assign some long-press function to T. Now if you press T and H in quick succession, which we often do, e.g. when typing the, you'll get hte instead. I have long-press enabled for ], because I rarely hit another key very quickly after.

Truth be told, it's likely that I spent more time on customisation than I will actually save, even in the long run. But to me, the process of customising and optimising is inherently satisfying. For example, I love tinkering with my Fuji X-E4 camera, customising the various buttons and shooting menus to suit my personal preferences and shooting style. As dustypomerleau puts it in his page on alternative keyboard layouts, "efficient processes feel better than inefficient ones, even when the end result is the same – they improve our emotional well-being and quality of life."

0 comments: