For people old enough to have used the IBM keyboards you could stop a tank with, a mechanical keyboard is an achievement in life you are striving for. Like my poor collegues ears will attest while in meetings with me, I’ve achieved that life goal quite a while ago. For my mostly macOS usage, I settled for the Durgod Taurus K320. Why?
To noise or not too noisy
The please of a mechanical keyboard, aside from its alleged typing precision, is its finger feedback and its humming noise. The thing you want to be sure of is to check that they are equipped with Cherry MX switches, they are the solid quality leader of switches. Depending on your noise and back pressure taste, you can chose different varieties. There is a good blog post on the main Cherry MX switches.
I personally settled for the Cherry MX Blue which are tactile (you feel when you have pressed the key enough) and audible (big loud clickety noise) and the Cherry MX Brown which are tactile and “silent”. Silent is a big overstatement, I’m still the loudest keyboard of the open space.
Name a price
The problem with mechanical keyboards is that like cars, you get a lot of price points. I found a very reasonably priced 87 keys keyboard that was fitting the bill for me: the Durgod Taurus K320. I’m happy enough that I bought two of them and that despite throwing water on one twice, it is still functioning alright. It feels very sturdy (except the elevating feet). It is still my recommendation when asked after 3 years using them.
As you will see, the Taurus K320 is primarily a Windows keyboard but it works alright on macOS as long as you remap a few keys. For this, the easiest is to use the awesome utility name Karabiner-Elements which lets you remap any key with any other. You can also map some keystrokes with an advanced combo of keys, very much like macros (I personally did not go that far).
Here are the key mapping you should look for for a functional keyboard on macOS:
escape: that one is not necessary but any sane person does not use caps lock and any sane person uses vim for which the escape key is really important.
These settings would make the keyboard behave with the same layout as mac keyboards.