The Case for the Programmers' Keyboard Layout(spin.atomicobject.com)
spin.atomicobject.com
The Case for the Programmers' Keyboard Layout
https://spin.atomicobject.com/programmers-keyboard-layout/
7 comments
zmk sounds really useful - I've wanted a custom bluetooth chorder consisting of two hand-held, palm-fitting cylinders with one button per finger, that could double as a mouse using built-in accelerometers and gyroscopes.
Looking into layouts may have been a "waste of time" for you, but it definitely wasn't for me or some colleagues. I learned to type on a German QWERTZ layout on a terrible laptop keyboard, where one shift key didn't really work. I accustomed myself to a terrible technique which did hurt my hands after some years.
I tried improving my technique, but wasn't really successful - learning a new layout on a radically different keyboard was easier for me than changing old habits. So I created my own layout for a split orthogonal keyboard, based on neo 3.
I took about two weeks to get to my previous speed. Until today, I did not get much faster - and I don't really need to, I can type about as fast as I think. But a) it's much more comfortable, especially when typing code. Most diagrams are rolls and I don't need to stretch to any number row. And b) I didn't expect it, but it took some mental load of me. I don't need to think about the correct bracket or anything.
So yeah, looking at a new layout to improve speed (especially at plain text) is seldom successful, but there can be great benefits.
I tried improving my technique, but wasn't really successful - learning a new layout on a radically different keyboard was easier for me than changing old habits. So I created my own layout for a split orthogonal keyboard, based on neo 3.
I took about two weeks to get to my previous speed. Until today, I did not get much faster - and I don't really need to, I can type about as fast as I think. But a) it's much more comfortable, especially when typing code. Most diagrams are rolls and I don't need to stretch to any number row. And b) I didn't expect it, but it took some mental load of me. I don't need to think about the correct bracket or anything.
So yeah, looking at a new layout to improve speed (especially at plain text) is seldom successful, but there can be great benefits.
That's fine and all, but how much time does a developer actually spend writing code? The bulk of any programming task is sifting through existing code to explore and gather context for a change. Anyone can take a look at any project's commit history to understand exactly how much code a developer types.
I agree with that - but all that browsing around also requires plenty of typing and mousing around. I'm not saying DVORAK is the answer, just that when my hands hurt, the non-writing-code / code-browsing activities hurt too :)
> I agree with that - but all that browsing around also requires plenty of typing and mousing around.
Navigation is largely IDE-specific, and the next best thing to a de-facto standard is VI's keyboard-centric navigation gestures which were already picked with ergonomics in mind.
Navigation is largely IDE-specific, and the next best thing to a de-facto standard is VI's keyboard-centric navigation gestures which were already picked with ergonomics in mind.
sure - but it's also common to go typing for terms that are related to what you just saw, which then involves typing generally. or maybe you're looking things up on the side, which again requires general typing.
I have 99th percentile typing speed on QWERTY thanks to using PCs when too young for traditional touch typing to work. My arms fly around the keyboard and I have never gotten RSI _from typing_. Using the mouse precisely for a summer where vim was forbidden (thanks big banks) did yield almost instant RSI. Trying traditional touch typing (with no movement) also agitates my arms. But imo folks should learn speedtyping techniques for qwerty to avoid RSI and skip the rabbit hole of alternate layouts and keyboards. Lot of inconvenience and more wasted time than will likely ever be saved.
The only true advancement is steno / charachorder. The actual charachorder lite isn't quite there imo (chord detection sketchy) but one of these days I will use ZMK to add the most common chords to my qwerty keychron k2 with gateron browns. Not to mention ZMK has far more features (like modtap) that you find yourself wanting once you use something like Charachorder, and Charachorder is still not open source ("someday").
If you're really in need of even faster typing than "faster than anyone you know", first reevaluate your decision-making framework, then voice dictate.