The obsessive pleasures of mechanical-keyboard tinkerers
newyorker.com
newyorker.com
Many have found the mechanical keyboard hobby to be quite deep... When you reach the point when you're ready to start designing your own key switches and actuation mechanisms contact me and I'll give you some advice :)
If you're curious what a 3D printed (analog hall effect) keyboard using 3D printed switches (and keycaps) looks like:
https://gfycat.com/firsthanduniformeasteuropeanshepherd
...and it has some interesting features:
The top of the keycap was nice, and wouldn't have needed any finishing. However, the slicer messed up the sides/insides of the keycap. Someone more motivated could try applying the curviness only to the 'dish' part of the keycap.
Curvislicer: https://github.com/dhardy35/curvislicer
The key (haha) to printing great keycaps is to print them on their sides. That way their top surface is smooth (to your fingers) right off the printer. The keycaps in those images have not been post-processed in any way. That's exactly how they looked when I took them off the printer.
Is he able to touch-type but simply chooses not to? Or did his obsession with keyboards never lead to him learning how? It's a mystery to me.
I have not looked at video at all, but as a touchtypist I have a struggle not to set my index fingers on f/j.
I have seen some Internet touchtypists who claim they can use something else as keys to figuring up where their fingers are located (for example, lShift/rShift or Lenovo's clit) but in real world I have not seen any touchtypist who is not sticking his index finger on f/j constantly.
That said, what he does certainly looks like either an imitation of touch typing while pressing random buttons, or a method of touch typing that I’m not aware of. It certainly looks too fast for him to be checking every letter he types.
My error rate is pretty high due to recently switching keyboard software, but I can manage about 40-50 wpm on a phone keyboard and my main reference points are the corners.
I’d be amazed if you can do 90 wpm with just your index fingers regardless of strategy though. With two fingers and an average of 4 letters per word you need to tap 90 / 60 = 1.5 * 4 = 6 / 2 = 3 letters per second per finger (more if your words are longer).
I trust you can do it, but I can’t imagine what that looks like.
Technically it is possible to touch type with a single finger.
Of course, the more fingers you use, the faster you can type, probably needed to reach > 100 WPM, but I tend to spend much more time reading and thinking than typing usually, so in my case this is marginal.
I used a trick like that with this silly fidget toy I made a while back:
Any ideas on how to approach half-sized key switches? So far I'm erring to what @pseudoku3 has done by cutting down existing key switches: https://www.reddit.com/r/ErgoMobileComputers/comments/v0g89d...
You could probably shave off another 1-1.5mm by printing some parts in resin (or switching to a teeny tiny nozzle) but I don't think that's enough to warrant the complexity or difficulties it would introduce during assembly.
For going shorter than that you can cut down the travel (the switch in the picture is 2mm of travel if memory serves), use a shorter keycap/stem, or go with a completely different mechanism (I have a few ideas but haven't had a chance to try them out yet).
For me the optimum is a split 34-key keyboard (the open-source Ferris Sweep https://github.com/davidphilipbarr/Sweep) with a custom keymap firmware (QMK).
Going even deeper, you can generate a PCB layout that's personalised to the shape of your hands: https://github.com/ergogen/ergogen
How do I get one that I can pull out of the box and be typing within 60 seconds?
Pro'bly the most popular pre-built keyboard along the same lines is the Moonlander. https://www.zsa.io/moonlander/ The configuration user experience would be nicer with this.
As a Moonlander owner who loves it, it's worth pointing out that most QMK-based boards (including the Moonlander itself with a third party firmware) can support the VIA system for similar easy GUI programming.
As for the very expensive, mostly standard layout keyboards... it's an expensive hobby with marginal improvements at best, but the same could be said about furniture purchases. Most people don't choose furniture based solely off its functional characteristics. They want something pleasant to look at, especially since it's something they're using every day for a long period of time. I think there's plenty of utility in that, though personally I would never pay the prices that these people do.
[1] https://www.reddit.com/r/ErgoMechKeyboards/
DIY can lower the price, but it is a hustle and in the time needed is not free.
Maybe at some point Logitech will offer a split one for a more reasonable price, but I won’t hold my breath.
1. The capslock key should not be where it is. In no sane layout should such an easy to reach key serve such a niche purpose.
2. The spacebar is a massive waste of space. I LOVE split space layouts (typing on a mercutio right now). Having all 3 "spaces" act as space on tap helps, and makes it easy to hold for modifiers.
3. Having the numpad/arrow keys right under my right hand (arrows on jkli, numpad basically on jkl = 456, functions in the same layout) is SO much faster than having to move your hand to get to those kinds of keys. The navigation keys being at my fingertips is ESPECIALLY useful as a coder where using things like home/end/pgup/pgdown can really help you move through your code faster.
I'm now at my end game (mercutio 40 on my "entertainment" machine, a crkbd at work (soon be be a cornish zen), and a discipline 60 for my gaming machine....seriously rougelikes are the only reason it's not all 40's), and it's been a hell of a path. I really hope the market expands a bit more because there's a lot of nice things when people start getting into the hobby, but it's a rough hobby to get into given how expensive it can get.
Easier/lazier than building a new KB.
Though it does present some issues when using other machines. And people thoroughly freak out if they jump on mine.
I learned to touch type on manual typewriters in school. I was the only boy in the class as it was geared towards secretarial work - but I knew I was going to have a career on computers so thought it was worthwhile.
The existence of the caps lock can be ascribed both to all-caps being more useful as a heading and for emphasis on manual typewriters, where only one typeface and size was available, as you point out, and to the substantial mechanism making it more difficult to hold the shift key down while typing.
Surprisingly, however, the size of caps lock on most modern keyboards doesn't seem to come from manual typewriters. At least on pre-1960s/70s manual typewriters, caps locks seem to be the same size as normal keys, if not smaller; shift keys are often larger, but are also not enormous. Most examples of large caps lock keys that I can find seem to start only one electric typewriters, exactly where they wouldn't seem as useful. It is possible that there are practical reasons why having a long keycap for a key requiring substantial force would be problematic for manual typewriters, but this still doesn't explain why the caps lock would become larger on electric typewriters, only why the shift might. So I'm left rather confused as to why they became the standard.
(Of course, on my keyboards, they are usually remapped to control, or to a control/escape combination.)
This is why Vim key bindings are the first thing I install for any editor.
It might actually justify it's positional priority in your case if you're literally switching between CAD and normal communication a ton, but even then i suspect you wouldn't mind it somewhere else.
I say “hobby” because I just started wanting a nice keyboard at the start and to be honest I find building boards boring.
I don’t have split spaces but it had never occurred to me to use space as a mod!
Not for everyone. For years I have preferred keyboards with Cherry MX switches, but I just buy fairly inexpensive ones used. Not really a rabbit hole at all.
To me the key concepts behind this are:
- Home Row modifiers: putting Shift, Ctrl, Gui, Alt behind tap-hold functionality on the home row keys. (Now you don't need to strain your pinky finger with these, and can stay on the home row more).
- More thumb keys, with layering using tap-hold. This brings Backspace, Enter, Esc, Tab to within reach of the thumb, and provides a bunch of layers.
- Patterns on the LHS: Use of numpad idiom instead of number row (covering symbols, and function keys); symmetrical brackets, paretheses, and curly braces.
- Use of the HJKL idiom for stuff like arrow keys, volume control, home/end. etc.
The reason I feel limited regardless is partly that even after giving it some time, it drove me nuts to have asymmetric layer keys (that is, I want to be able to activate the nav layer from either thumb), and some of the movements (notably pinky as a common modifier) ended up causing pain after a while. Plus I have need for at least another one due to often switching between a handful of languages and scripts (this would normally be addressed by AltGr - which would collide if at any a-z - plus an additional key only present on some standard layouts). So I feel a serious need for more thumb keys. And you somehow manage to get by with only two per side!
Maybe I'll take another attempt at getting used to deduplicating the thumbs before I start looking at printing custom PCBs... At least Ergogen mentioned above should make that a lot easier if I go there.
That said, I think 2-3 is the number of thumb keys that are easy to reach. More than that, and it's harder for the thumb to reach, although allows access to more layers. -- Might as well put tap-hold modifiers on other keys, imo. (e.g. the outer column, or the lower row).
Also.. yeah, Miryoku's layer-opposite-the-thumbkey is elegant, but if it's too restrictive for your usecase, no need to respect it. I'd think e.g. having access to navkeys on the LHS would suit both mouse+keyboard usage, as well as when you've got two hands on the keyboard.
https://configure.zsa.io/moonlander/layouts/wyyxP/latest/0
(The layout currently has more than 32 keys due to extra function keys on the sides and modifiers on the bottom that I only use very rarely. I also no longer use the top pinky keys anymore.)
I have a vim-inspired modal mapping with three main modes: normal (navigation with arrows, pgup/dn, tab switching, etc.), mouse (to move the mouse), and qwerty (for typing). There is one always-present key for each mode that is dedicated only to switching permanently to that mode. These keys are on each of my thumbs, and the third on my right pinky. Each mode also has several unique (and some shared) temporary layers accessible by temporarily holding other keys.
I use a moonlander keyboard but my thumbs sit on the inside keys on the third row, and my palms on the top larger keys that are intended to be used for thumbs.
https://github.com/tss101/clarityqmkkeymap
It's in a bit of a rough state (one folder is for a OLED + RGB Corne r2g, and another is a currently messy adaptation for a Ferris Sweep)
The keymap itself is pretty straightforward. As rgoulter guessed it's just a modification of Miryoku (https://github.com/manna-harbour/miryoku), with some tweaks I made to keep functionally similar layers "together". E.g. the mouse key and navigation key layers are mirror images of each other. And there's a numpad layer, with nested symbols and function key layers that stack from the initial numpad layer. I also designed it to share the load between both hands as much as possible.
I've looked about for a good keyboard with programmable firmware, for a Mac...or even just a programmable numpad-looking macropad, but maybe there's more I've not seen.
What resources are out there to find ways to find off the shelf options, for Macs?
Edit: s/these/off the shelf options/
My golden medium is Anne Pro II, even though I own new model F. But more and more I’m getting drawn to an idea of building 36 keys custom.
Watch something from a channel of this hugely underrated gent: https://www.youtube.com/watch?v=M_VuXVErD6E
Edit: typos (ipad screen kbd…)
QMK keyboards: https://qmk.fm/keyboards/
ZMK keyboards: https://zmk.dev/docs/hardware
Note: I'm not 100% sure the ZMK list is up to date as it's under much more active development and new keyboards get support all the time since almost any keyboard that has QMK support can get ZMK support by swapping the AmTel-based Pro Micro for a nRF52840-based nice!nano board.
There's also a lot of small companies offering build/modification services if you're not comfortable with a soldering iron but want something more exotic. It's usually not cheap but keyboards are honestly a really expensive hobby.
For custom keyboard layouts there is the app Ukulele which is slightly more easier than writing the XML files per hand:
https://software.sil.org/ukelele/
https://web.archive.org/web/20080509183706/http://developer....
For more complicated key bindings the Cocoa Text System is rather nice; you can even create little macros:
https://web.archive.org/web/20061127104844/http://www.hcs.ha...
(Disclaimer: I last tested these things 2005ish and Apple is only moving forward. Still I think those systems are still there.)
They're very popular, so have a bunch of good out-of-the-box documentation and a good out-of-the-box experience if you don't want to go too far into the rabbit hole of configuring keys and stuff.
I think the UHK is a bit more pleasant build-quality wise, and it's definitely easier to start with because it's not columnar, which is a whole other thing that a keyboard can be. (Some people like columnar layouts, some hate it, I'm undecided myself and use both.)
Go for Cherry MX Switches. Want clicky (and loud) take blue. Want tactile go brown. Want no bump at all when typing go red.
I would find a cheap second hand board and see if you can appreciate the experience. It probably will not have lubed switches or may have a scratchy bump or hollow sound or whatever the hobbyist tell themselves to justify a new board. You probably will already be amazed by the quality improvement and won't care.
No, black. Red has an extra high activation point and much lighter springs (marketed to gamers for quicker reactions) that often misfires when the user rests his hand on the board and doesn't take special care not to press anything. Black is the standard office class linear one of the bunch with the weight matching brown and blue.
Computer Keyboards… not so much :(
There’s plenty of options now particularly at the lower end of the market the issue here is QC though. Two people can buy the same board but the fit and finish might differ wildly.
If you immediately want to spend hundreds on a custom setup and are paying someone you've never met to do it for you, before receiving any kind of product, that's where it can get dicey.
While the custom keyboard community does tend to get in to pointlessly overcomplicated cables similarly to audiophiles, unlike the audiophile crowd no one really tries to claim they actually do anything beyond looking good.
IMO the keyboard community does a pretty decent job separating the subjective from the objective. People will go deep in to rabbit holes about their preferred feel and sound, but they acknowledge that once you've gone past the entry level basically everything other than ergonomics is pure personal preference and even ergonomics has a lot of personal aspects to it based on your own physical needs, setup, and use case.
You won't find anyone trying to claim that their magical USB cable makes the bits go faster, unlike the audiophile world where $500 ethernet cables are a thing.
I had to replace a failed keyboard last year and went looking for advice - when I last did it it was basically a question of "do you want clicky or not switches? Das is a pretty reliable brand but Razer has some stuff with RGB if you like that"
Now it's all "Oh don't buy an off-the-shelf one, wait for this dude's next massdrop order or buy a kit and put it together yourself"
And I just don't have time for that. This is one area where I'm pretty happy just looking for a recommendation for something I can just buy and use.
As for choosing the right one, the best is to try them out at the store if you can. Find the one that looks and feels the best, buy it, plug it in, done, drop-in replacement. You can't really go wrong, these are just keyboards.
I'd say the only feature you may look for that is not obvious is NKRO (N-key rollover), or the ability to press any number of keys at the same time. If you are paying $100 or more for a keyboard, it is something you want. Most keyboards in this price range have it. 6KRO means you can press any 6 keys at the same time, it is not quite NKRO, but unless you have special needs, it is just as good, 2KRO (2 keys) is the one to avoid. It is sometimes called "anti ghosting" but some manufacturers cheat, so, not a reliable indication.
There are other features like hardware remapping, RGB lighting,... but if you need these, you will know beforehand.
Small caveat though. Many mechanical keyboards, especially in big box stores have clicky switches, clicky switches may be perfectly fine for you, but chances are that people next to you won't like them as much. Please be considerate of your surroundings when using a loud keyboard (are we back into audiophile territory ;))
I never considered a mechanical keyboard before seeing comments fawning over them. I was already a fast typist and had some strong preferences about keyboard layouts, bindings, ergonomics etc. There was never a huge community around this so I was quite intrigued when I discovered these people who cared so much about their keyboards. Somehow all these years I must have missed out on mechanical keyboards. I tried a few and even the "light" switches are SOOO much more tedious to type on than (decent) modern laptop-style keyboards. Searched around and most in that community seem to take the position that indeed they don't help with typing speeds, or are in fact slower to type on, but they're more "comfortable" (which doesn't make much sense to me). I want a keyboard that's good for typing/using. I don't care if it's "mechanical". Sure, people have their preferences, but this mantra of "mechanical" somehow being inherently advantageous all else be damned originated with that community. When I see people pushing mechanical keyboards I always suspect they've been heavily influenced by them.
Typing was an experience on that thing, like energy flowing through the keyboard into your body, the physicality of the springs was so strong. But strangely I remember typing extremely fast on it, even though it must have needed so much extra force.
I have a decent store bought mechanical keyboard now and it's nice but still very different.
That is:
- Mechanical
- Split
- Ergonomic
- Non-qwerty
- 30 % keyboard
But I have one extra requirement: I am Scandinavian which means that I need to have keys for Nordic letters. This makes me extremely niche which in turn means that I cannot buy anything pre-built.And I do not find much joy in building my own keyboards. I want something prebuilt.
There must be a business opportunity here for someone to make something that is split, ergonomic keyboard with good mechanical keys and which allows for customization such that Nordic letters could be mapped...
If you want the keycap legend to match it's more complicated though. But if you touch-type you can be ok with it.
I made up my own weird layout (including accented characters for 3 languages), but that's not an issue since I'm ok with fully blank keycaps.
I've been pretty happy with the HHKB (no caps, obviously), but it just sounds fun to make something truly your own.
Does anyone have a good pointer for the right place to start with this (huge) topic?
You can modify the domes, get adapters (sliders) to use MX style keycaps and even replace the case.
If you don't mind a follow-up question: what's a gentle transition from the HHKB's Topre switches into something more popular in the mechanical keyboard community? I honestly have very little intuition about the color-naming scheme for switches.
- linear (no tactility)(reds)
- tactile (tactile) (browns)
- clicky (sharp tactility + sound) (blues)
The colours refer to the original Cherry MX switches and clones but it’s better to refer to them as linears/tactiles/clicky’s.
If you want something tactile good and popular I would suggest Gazzew Boba U4T switches since the Topre board you are using is tactile. These are loud but they sound good. There are silent versions available.
There is a lot of variety even with keyswitches alone and if you are super fussy like me it will take a lot of trial and error to figure out what you like.
I grew up on an IBM Model F (I can't believe I let that thing out of my sight, it's probably worth more than I am now), and spent about a decade using just whatever. That thing just felt and sounded wonderful (to the typist at least, I imagine it annoyed my siblings).
When I decided to get something a little more customized to my situation the HHKB hit a lot of the high notes: good, solid tactile finger feel, distinctly audible but (barely) quiet enough to use in an open-plan setting, and a factory no-keycaps option (part of the transition was to break myself of anything but full high-speed touch-type). I had used some Das stuff and it was ok but never really clicked.
I still love these things, and through moves etc. have accumulated a few, but I'd like to indulge myself in something truly tailored to my specific preferences, especially on connectivity, build, and aesthetics.
The HHKB layout is damn-near ideal for a QWERTY-heavy-chorder like myself, but I think I could live with a slightly smaller footprint, it's got a small but noticeable margin for error in excess of what I need anymore.
Ideally I'd like something with multiple USB options, A and C at least. I'd love something heavy, maybe machined metal as a base. And I'd like to stay in the ballpark of the Topre keys on the HHKB. I don't care about `CTRL` or `META` on the right, and I would probably prefer a `SHIFT`, at least on the left, that's the same size as the Sun-style `CTRL` that I have instead of caps lock.
If I've got a few bucks to spend having a real artist put something together that will retain scope for me to tinker on going forward, who do I go to?
When you find a board you like track down the vendor and buy it or pre order it. Honestly it’s not that hard to put together yourself but if time is an issue I understand.
If you decide not to build it yourself find a good local builder. I did this at the beginning through a local Facebook group. They often have twitch/YouTube channels which showcase their work.
Most boards are USBC at the keyboard side and support removable cables.
I would stick with HHKB layout if you can or a 60% layout that supports a similar layout. You could go 40% layout but for me it’s too much mental gymnastics for symbol characters. Get an extra hotswap PCB so you can easily swap out the keyswitches or if the only option is a solder PCB turn it into a hot swap board with mill maxed sockets.
Try and get something with a similar typing angle to the HHKB. Get an extra backup PCB as well.
With all of your specifications, you might enjoy building a keyboard yourself. I'm biased towards this route as I'm taking it myself, but it really lets you get everything you want (except the multiple USB thing, I'm not sure how you would do this). I am a programmer, though, and I wouldn't recommend this if you aren't.
I've tried several mech keyboards. The longer key travel doesn't seem to improve speed, and I don't see how it would. Also most of them come with the concave key caps for some reason, which of course you can switch out, but I feel like any amount I spend fixing one would still result in something worse than what I already have.
The longer key travel helps with avoiding bottoming out once you're used to your keyboard. On a short-travel keyboard, where keys are basically "either fully up or down", I don't think it's easy, or even possible, to not bottom-out.
This also allows keys to not need so much force for actuation. Whenever I switch from my mechanical keyboard to my 2013 MBP or HP laptop (with a similar kb) I always miss letters because I don't press hard enough.
I honestly don't know whether I type quicker or slower on a mechanical keyboard. But speed has never been a limiting factor in my work.
It also doesn't have an Fn key, you need to toggle a physical switch to change the row between F1-12 and the shortcuts.
I enjoy typing on clicky keyboards like my Keychron, but I gotta say, the flawed MBP keyboards of recent times with hardly any travel were amazing. I'm on a 2019 MBP 16 now and it's not as good as the previous one, and the new 2021 MBP isn't much better either.
I just ordered literally yesterday an UHK keyboard, with trackball module as well. Hopefully this can satisfy my HHKB + Microsoft Sculpt combo.
If not, I might have to go dive the keyboard rabbit hole.
I'm actually typing this on an old M0116 right now, https://commons.wikimedia.org/wiki/File:Apple_(Standard)_Key...
It's so much nicer having the control key where caps lock is normally found. This is the traditional location for it.
It seems to me the only logical resolution of my keyboard hobby is it design my own keyboard that will address most of my complaints. They are minor but the more I think about it the more I conclude that in the future people would be using fully custom (layout, spacing, etc) keyboards a lot. Unless the typing goes away.
As a fast typist myself (normally 140-160, brief bursts over 200) I can say that being able to type quickly is not something that most mechanical keyboards are optimised for; what's important is a very low actuation force and travel (but a long "cushion zone" past that), since at high speeds caring whether the key was successfully hit will make you hesitate and slow down.
I'd had the circuit board fail, two months out of warranty, and the ErgoDoxEZ guy refused to replace it. But that's on his factory's shoddy workmanship, not mechanical keyboards generally.
Which means going down the keyboard rabbit hole isn't that appealing - because they all tend to be tiny.
I like having a built in USB hub for example. The keyboard is the perfect place to plug memory sticks, hardware wallets, mouse (charge or wireless dongle), utf key. My ideal keyboard probably has at least 3 usb ports on it. The closest I've got so far is the das keyboard with 2.
Definitely start with KiCad, it's not slow. The majority of it is written in C and C++, but that shouldn't matter if the tool functions well and lets you design what you want to make. It's open source, and perfectly up to the task of designing a keyboard PCB.
After the KiCad work, you generate what are called Gerber files. You zip those up, along with files that describe the parts you'll use, and where they get placed on the board. JLCPCB (or any other PCB fabrication shop) will create your boards, and optionally populate them with parts and solder them.
In the mail you'll get your (potentially populated) PCBs. At that point, you add switches, stabilizers, keycaps, and hope your design works. Maybe design a case or a top plate for it as well if you want more sturdiness or a more "finished" look.
The part you decide at the beginning is if you'll use an off-the-shelf microcontroller (most keyboards use what's called a Pro Micro), or if you'll have the microcontroller soldered directly on the board.
If this is your first PCB, I'd recommend going the Pro Micro route. Leaving that circuitry to a tried and tested board means you focus just on the layout and wiring for your key switches. You can get away with just having the PCB shop solder on diodes for each key, you can solder them yourself, or design them as through hole parts to make the soldering even easier (I prefer soldering surface-mount parts to through-hole but I might just be weird).
There are tons of guides out there on how to do this. I won't recommend a particular one because I didn't use any singular one when designing mine, but I will say that all the KiCad videos on the youtube channel Phil's Lab are extremely valuable and insightful when it comes to PCB design.
Maybe dip your toes in by designing a really simple PCB. You'll quickly see it may not be as complicated as you might have thought. Keyboard PCBs are quite simple in the grand scheme of all the different PCBs out there, so I recommend just jumping right in and learning as you go.
Perhaps the enjoyment is knowing you're annoying people within earshot!
Sound comes from the upstroke and the downstroke of the switches and echoes throughout the case.
If you or anyone reading this comment would like to build a near silent board I would suggest getting some Silent Alpaca switches or U4 Silent Tactile switches with switch films applied. Make sure to use all the sound dampening mods available (foam/tape mod/polyfill etc) to deaden any echo inside the case you are using. Avoiding cases that have a lot of echo will help also. Plug the back of the stabilisers with generous amounts of Krytox 205g0 and straighten the wires.
If you do the above the barely audible sound signature of the keyboard will resemble the soft pitter patter of rain.
“….whose Escape key Bassett had replaced with a keycap from a series called Mummy II, made by a keyboard artisan known as PunksDead. “That keycap is rare,” he said. “Right after I got it, a guy offered me three grand for it. And I was, like, ‘Hmmm, tempting—but no.’ ”
I guess these at least these have some actual scarcity?