I too suffered from wrist pain and fatigue in the past. The experimentation with different layouts helped a little but it felt like micro-optimization. What actually resolved the problem was switching to an unorthodox ergonomic keyboard where none of the keys required straining or unnecessary effort (kinesis advantage, using a different one these days). Also, most common problems were caused by placement of special keys (shift, ctrl, backspace, enter) and that's not something colemak, dvorak or their friends seem to be addressing.
I see analogy to guitar playing here. No matter how well you figure out finger positioning for a complex passage, you won't be playing with ease unless your elbow, wrist and spine are also positioned properly.
There are so many quick wins to improve posture before the high-effort micro optimization of changing layouts:
- split the keyboard for better shoulder posture (eg ultimate hacking keyboard but don't stop here)
- Get a column staggered board with more thumb keys instead of row staggered for better finger movement (ergodox or iris keyboard)
- Get rid of the num row and limit movement for fingers to one key in any direction using layers to simulate the missing keys (corne or kyria)
- A sculpted and tented keyboard allows the arm to untwist. These keyboards are dish shaped which moves keys closer to your fingers. Examples are the kinesis, dactyl, or Tightyl (my own creation).
I think the sweet spot for most people is the column staggered split layout.
I'm using an ergonomic keyboard with the two halves of the keys at a slight angle and column-staggered design, and I can't imagine ever going back to a normal keyboard. Being able to enter every symbol without even moving the wrists is just too comfortable.
It's more expensive than any standard keyboard and I had to solder it myself, but it's basically customised for my fingers. I'm not typing faster, but I have much more fun doing it and fewer issues with my shoulders. I would say it's a much more important upgrade than changing away from QWERTY(which actually isn't that bad, there are a few false myths floating around about it).
> Get rid of the num row and limit movement for fingers to one key in any direction using layers to simulate the missing keys (corne or kyria)
Wow this is first time I hear this recommended in relation to keyboard ergonomics. As a user of compact 49 key keyboard without a num row, can at least confirm it is not bad for productivity. Numbers and symbols are on layers and thus spread over keyboard. As a programmer I use a lot of symbols and I like the compact layout more. Precisely because there is less weird finger movement away from working zone.
Another thing I can recommend on regular keyboards is angled home row finger position: sdfv and njkl instead of usual asdf jkl;. With corresponding change to zone of every finger. Elbows on arm rests, wrists are straight.
> Also, most common problems were caused by placement of special keys (shift, ctrl, backspace, enter) and that's not something colemak, dvorak or their friends seem to be addressing.
You're still mostly right, but Colemak does actually move Backspace to the Caps Lock key, which is a change I'd recommend to every single person who types on a computer keyboard.
I'm not convinced by that. I use thumb clusters now, but on a normal keyboard I would always move my whole hand and hit backspace with my right ring finger. Similarly with modifiers I would either karate chop or move my hand. Using pinky should be avoided if possible. Similarly the common recommendation to bind caps lock to control is the worst possible thing for RSI.
> I would always move my whole hand and hit backspace with my right ring finger.
My understanding is that (maybe non-intuitively) whole hand movements are more likely to cause wrist-related RSI than single finger travels. (Single finger travels are more likely to create knuckle RSIs, certainly.) The missing letter in RSI is sometimes "movement" as it is stress from repetitive movements.
Anecdotally, the biggest mistake and the source of most of my pain from the way I had learned QWERTY was a lot of whole hand movements, and reducing those was a very clear and specific goal for me when I relearned touch typing (on Colemak).
Hm, as a vi user i have escape there. so if i want to delete something without stretching too much, it's left thumb stretch back one left index stretch down out one (i'm on dvorak too). But since i'm also a kinesis user, i have backspace under my (right) thumb.
This. This idea is exactly something I picked up from Colemak (while didn't really enjoy the entire layout). The ability to just press ctrl + capslock (remapped to backspace now) to delete the whole last word with a single hand is by itself a great perk.
I had a Kinesis Advantage some ten years ago at my first job, as well as a vertical mouse; they didn't work for me in the end. Good keyboard, but it didn't fix my RSI issues.
What did help a lot was a Mac wireless keyboard (flat profile) and weight lifting, especially deadlifts that at first I couldn't do much of because of grip strength. Couldn't do pushups either due to wrist pain. But my grip strength quickly improved (I could do without the grip straps after just four or five sessions) and the wrist pain went away.
It's making a comeback now though, I've been working on a regular keyboard for a while due to working from home and haven't been in a gym for months now.
I switched to Dvorak before I started uni. I have been typing dvorak the majority of my typing.
Still discovered the hard way that I needed an ergonomic keyboard. I use a kinesis advantage, but frankly a Microsoft one will do. It just needs to be enough.
Also major factor: Switching away from a mouse. Every time I've done full time work at a computer (i.e. when I'm not studying), I got wrist pain.
Switching to a touchpad is tiring for the fingertip, since it's not designed to drag on a surface all day.
But switching to a trackball has been a fantastic choice (six or seven years ago by now - some kind of red Kensington ball). I think there's so much more choice in using a trackball than a mouse or a touchpad, since it can be operated with the fingertip or the hand, and it's trivial to operate it without bending the wrist badly.
I got the ergonomic keyboard before the trackball; but the trackball made an almost instantaneous difference, whereas the keyboard only makes a cumulative difference - nowadays I can use a straight keyboard temporarily (e.g. if I want to go somewhere and use a laptop, I can, even for weeks at a time) but I wouldn't want it fulltime.
I had the same experience. After trying Dvorak and Colemak and even stenography for a while I decided it was time to explore more hardware.
Went from mouse → trackpad → trackball. I tried fingerballs and thumbballs and settled on the Logitech MX Ergo (thumbball). Using the digit with the strongest muscles makes a lot of sense to me, although it helps to have bigger hands.
I wouldn't go back to a trackpad, even with the loss of gestures (I just use keyboard/trackball shortcuts instead), and I wouldn't go back to a mouse — pushing a rock repeatedly to move a pointer around the screen just feels weird to me now, and I notice wrist cramp within an hour.
Similar story with keyboards. I went Apple Magic Wireless → Ergodox EZ → Microsoft Surface Ergo (the default angle works great for me so I don't have to adjust anything and I like the single piece of hardware over the Ergodox; it's easier to move between rooms). I have the Keyboardio Atreus on order and am looking forward to comparing that. It seems like the perfect balance between size, features, hackability, and ergonomics to me.
Just a warning about trackballs: I love them and have used them almost exclusively for probably 25 years. A few years ago I started getting “trackball thumb”. So I advise switching up among various different trackball geometries. (I also use the Lenovo pointing-stick keyboards in the mix. )
This is a great point. Some languages have terrible ergonomics - those which rely heavily on brackets which are poorly placed on a keyboard. Ergodox layouts tend to map brackets to the second layer on ER,DF,CV keys to mitigate this. But it's better for languages to not require braces at all.
Indeed, and if you have to work with those languages, a good templating system like emmet or yasnippet will save you a ton of typing. Let the machine do the typing for you.
I suggest the advantage for everyone that talks to me about rsi and other typing related discomfort. It's just a great keyboard. Takes some getting used to (a few weird key positions but more the hardest thing for people to get used to is the way the keys are positioned in a true grid instead of staggered) but once you do you won't want to go back.
Rest assured though, you will still be able to use a 'normal' keyboard after your adjustment period.
A good example is the space cadet shift. If I tap left shift, I get an open parenthesis. If I hold it and use any other key, I get a capital letter. It's a lot nicer than hitting shift+9/0 and I got used to it in about 10 minutes.
Any keyboard using the QMK keyboard firmware can do this.
Not necessarily a symbol. I use "setxkbmap -option caps:super && xcape -e 'Super_L=Escape'" to make tapping Caps Lock simulate tapping Escape, and holding Caps Lock and pressing another key work as Super("Windows key") + that key in X11.
(eg. Caps alone = exit insert mode in vi, Caps + Space = Super + Space for toggling the tiling layout in my window manager dwm.)
> I see analogy to guitar playing here. No matter how well you figure out finger positioning for a complex passage, you won't be playing with ease unless your elbow, wrist and spine are also positioned properly.
This is a good analogy, and instrument players all hit the fatigue issue.
On top of posture, a lot of the pro players seem to manage it with a mix of:
- regular muscle training to protect articulations
- regular resting periods and avoiding activities that hit the same moves
- medication as soon as there is any sign of things going wrong
I think there is no magic bullet (or magic keyboard/mice combination), and switching to an "ergonomic" setup is only a small part of the solution for most of us. ATP had a pretty good take on this in their 'ask app' section https://atp.fm/377
I've had pretty bad hand/wrist pain some days from overusing the command key on my macbook.
The solution for me has been to try and use the right-hand side special keys when possible, but it's hard to break the habit of using my left hand for special keys after 20 years of doing it.
MacBook keyboard + constant track pad use (like 2 months worth) was really wrecking my arm, shoulder, and wrist. I don't recommend that combo for anything but light, short spans.
It's possible to improve ergonomics with a standard keyboard by abandoning the notion that you must type with your hands locked in place by moving your fingers only. My hands are all over the keyboard when I type to avoid finger strain, and yes I can still touch type this way. Human fingers were optimized for gripping and are poorly adapted to move laterally to strike a key, so if you need to strike a key that's not within comfortable striking range, move your hand slightly.
It's one of those little ergonomic things, like "use both hands to avoid Emacs pinky", that vastly improve life.
I think this is a great analogy. A friend is a pro flamenco guitarist; plays all over the world. He's so good that he doesn't really practice to "improve" anymore. He practices to protect his biomechanics by watching himself play in a mirror. He makes adjustments to his body placement so that he can keep playing for the rest of his life.
An oversight in the layout, in my mind—the human hand is better at typing in certain directions… the hands very naturally roll towards the center, but it is less natural to rotate away from the center. This is… somewhat covered in the article under SHU…
> It is much more efficient to ride the momentum of a single arm or wrist stroke and type a combo rather than just one key.
Try ASDF versus FDSA on a QWERTY layout. ASDF feels much more natural, doesn't it?
So, I’m concerned about the sequences like TH in the Workman layout. It looks like Workman is optimized more for minimum distance, and less for other factors. I think this is what happens when you optimize for the metrics that are easiest to measure! The thing about Dvorak is not just which keys press the fingers, but how you alternate.
So if you write THE on Dvorak, your right hand naturally rolls TH using strong fingers, and then you type E using the left. On Workman, you are rolling away from center, which is less natural.
Some clumsier words in Dvorak: SPHINX. PIX are all left 2nd digit, but they alternate with the right hand, to give the 2nd digit on the left time to move.
I may be biased. I switched to Dvorak in high school and it fixed my RSI. Dvorak is also available everywhere. I can sit down at an unfamiliar computer and change it to Dvorak within a minute. The alternation, to me, means that my fingers have more time to move and can move more slowly and gently at the same typing speed.
As a technical note—you should not be changing capslock in your layout like this on Linux. The option to choose a keyboard layout like US QWERTY or US Dvorak is a separate choice from the choice to map capslock to something else, and they shouldn't be combined.
I’m also a bit surprised that the bottom row is ZXMCV. This is so close to ZXCV… why not just use ZXCV?
That could be it. I'm also a piano player and I think inward finger rolls are overestimated on computer keyboards.
Dvorak also favours hand alternation, which I find appeals to me more. Unfortunately, Dvorak is not well suited to my native tongue (due to differences in letter frequencies) so I ended up learning Colemak instead, which also heavily emphasises inward finger rolls.
Weird. I think any stereotypical image of a person drumming on the table with boredom, their fingers roll from the pinkie to the index finger. Looking at gifs on Google Images, I couldn't find any going the other way.
That makes me think that an inward roll is much more natural. I can type ASDF almost as fast as I can type A by itself, quite literally. It's like a drumroll.
How do you usually get along in a professional setting with Dvorak? I use it too been using it for like 20 years now and it's very smooth but I'd be interested to know your impressions.
The only hiccup I encountered in the past several years is that I had to figure out how to set up my YubiKey. That, and video games use key labels too often, but that’s not a professional concern.
You had me with the FDSA example, but I wonder if that's because I'm also already biased towards Dvorak. Been typing with it since 2016 and loving it so far. Even "ls -l" doesn't bother me anymore - makes me wonder if QWERTY typists have under-developed pinky coordination.
After switching to Dvorak many years ago, I picked up the habits for a lot of shell commands to shift my right over two keys, so that my ring finger could hit the hyphen. `ls -l` is much more comfortable to type with middle-ring-middle than pinky-ring-pinky. I'm sure I've picked up other subtle shifts like that as well, and switching to a split layout keyboard also showed me just how much my hands crossed over for F, Y, and X.
I've been using workman for a few years now, and that hasn't bothered me at all.
I agree with not setting caps by default, since you can just use 'setxkbmap -o ctrl:no_caps'. I've been using a keyboardio model01 for the past year or so, and haven't bothered putting capslock into my firmware layout.
Having m between x and c did make learning more difficult, but I rather like it now that I am used to it.
I see no difference in rolling direction - both ASDF and FDSA feels uncomfortable. Try common words - FUEL vs THEN on Dvorak. Same for me.
I agree with metrics part - as a long time Dvorak user I feel article undervalues hand alternation and victimizes middle column. For me bottom row outer keys a weak part.
A lot of keyboards optimize the wrong things at least as far as programming is concerned. All the optimizations seem to focus on letters but most of the time an editor or shell can auto complete keywords or identifiers. A ridiculous number of symbols seem to be a very long way from the home keys on weak fingers with modifiers required to access them. If I had to write huge amounts of plain prose and had RSI I think I would just dictate it rather than try and optimize the alpha layout.
I have been tempted to get a large ortho (lots of modifiers suck) and setup a split qwerty with a heap of symbols in the center columns between them. I type '"[]{}().=<> all day so I don't get why they should be marginalized. It is like expecting an accountant to use the 1-0 row instead of a numpad.
The Neo2 layout optimizes for this. Ebene (Layer) 3 has <>(){}[] directly under the strongest fingers. On layer 4 you can type arrows, del, backspace, enter, pgup/down, tab, esc and insert without moving your hand. Using it for several years now and every time i have to use qwertz i realise how far the keys i have to press in sequence are distanced from each other. This layout is optimized for typing 70% of german and english words from the home row.
It was useable on Windows 7/10, but last time i tried on 10 (long ago) it didn't work since Microsoft changed something. Could be working, i rarely boot into Windows so i did not bother trying.
I too tried this with an Ergodox, but the keys you want to have your symbols on are just so far away anyway. The center columns for example are quite far.
Instead I think it's better to use layers (holding down a key to change what other keys do) and place symbols close to your home row. You can even have a numpad right under your fingertips.
This is why ergonomic keyboard users are generally moving towards boards with fewer keys, not more.
Look for QMK programmable keyboards where you can do this and much more.
Holding the key labelled "OSL1" will switch the layout to the "Symbols" tab. The blue keys are dual-function, tapping them will enter the character on top, holding will turn it into the modifier key below. Finally the Gaming layer, toggled by the bottom right key on the keyboard, turns off all the special mappings and turns it into a standard QWERTY keyboard, because my muscle memory for game controls is too deeply entrenched to deal with in the middle of a fight :)
I have the same experience. I started with using all the extra keys on the Ergodox, but it was difficult reaching them, including most of the keys in the thumb area.
I have since changed the layout to mimic the altreus layout (with most of the extra keys empty), which works much better. And am waiting for my altreus from keyboard.io to arrive as the extra keys on the ergo actually cause me to miss with the pinky and hit the "empty" keys sometimes.
Why do modifiers suck? I find that they make me stretch and move my fingers around less while allowing me to use a smaller and more comfortable keyboard. Having more modifiers helps! The problem with standard keyboards is that they're too big (keys become hard to reach) and they don't have enough modifiers.
I've been experimenting with Xmodmap on Linux for this reason. I remapped my capslock key to a symbol modifier, and then put all of my symbols in different places based on ergonomics and easy to remember mnemonics. Here's a small sample:
<caps-p> plus sign
<caps-t> tilde
<caps-a> at symbol
<caps-d> delete
<caps-x> exclamation mark
<caps-hjkl> vim movement
After filling out the keyboard with mnemonics I found the few remaining gaps in the layer with two empty keys next to each other and put my brackets braces and parenthesis there. The final move in training yourself to use your new symbols is to remove them from their original keybinding. I recommend trying it out, I've found the process enjoyable.
This comment spurred me to do something similar with AutoHotkey on Windows. I had mapped capslock to ctrl but never actually got in the habit of using it, but as a fresh meta key is actually very useful.
I focused on the keys I find most annoying, because I have a short pinky.
I'll probably add some more as I get used to it, it would be cool to be able to avoid the awkward shift+num-row-key altogether. Guess there is a blog post to write later...
Forgot to say - those combinations are for Colemak. If you are using qwerty, replace the <x> letters in "CapsLock & <x>::" lines with what you have on qwerty.
I totally agree, Colemak didn't help me there, my rate of mistakes for special characters is still way too high.
There are keyboards that move special characters to their own layer, basically using a meta key for all of them. I'm tempted to try something like that, but stealing meta-combinations is always painful (probably the best candidate would be CapsLock, which I tend to remap to Cmd/Ctrl but never actually got in the habit of using as such) and as far as I know there isn't anything remotely standard, which would make it awkward in the long run.
My Kinesis Freestyle at home has all sorts of programmable stuff, wouldn't be a problem there - the problem is that I have to share my time with a (Windows) laptop at work, so I try to find standard crossplatform solutions. I installed autohotkey and a bunch of other things but they look a bit complicated. I'm tempted to just get a second keyboard.
I have an ergodox and all the "middle" button are brackets, [],{},(). Its amazing. You can also set shift to type a letter (such as a bracket) on stroke, but be shift on hold.
I mapped all the programming keys to the alphabetic keys accessible via a third shift state. That buys me 24 symbol keys. Been using it for more than 10 years, works a treat.
My country uses the QWERTZ layout which has dedicated keys for German umlauts. I mostly type in English however, so I've bound "([{" to "öäü". I now type umlauts using "AltGr+oau".
It's definitely not a perfect solution, but it has worked well for me so far.
AZERTY (French) here with numbers accessed through shift and brackets through AltGR.
This is a horrendous layout. Bonus points for it being slightly different on Mac and PC.
I have absolutely no idea how people can use this layout for programming without going crazy. I don't program full time, I mostly do sysadmin work, and even if I don't think that typing speed is a limiting factor for how much code I can write, I do find it extremely annoying to type certain characters which are used quite often.
Regarding language I type equally English and French so I absolutely love the Mac OS international layout: QWERTY so everything is where you expect it but with ALT I can get pretty much every French character I want, easily. This could probably work for German, too: ALT U + U = Ü. ALT + S = ß. I'm not sure about other nordic languages, though.
I love this so much that I configured my linux and windows pcs to use the same layout. Some characters take somewhat longer to type (three different key strokes for ù instead of one) but I guess that for someone not writing exclusively french prose the tradeoff is completely worth it.
Dutch uses standard QWERTY, but does accents and tremas automatically if you type a letter that can have an accent/trema after you type a single or double quote, or a tilde. It's extremely annoying when programming.
US International keyboard layout does this to in Windows. It seems the only type of keyboard that doesn't do it is the standard US keyboard, but that one doesn't have a Euro sign. I'd like to have a board with a Euro sign, but without messing up my quotes.
What would be ideal for me is if I could type alt+quote to make it an accent over the next letter. Or even better, the latex way: \'e.
I would love to know how to customise this in various OSs. I suppose it should be possible.
I grew up in the US, and learned on standard US qwerty. After I moved to Europe, I found myself needing to type French, German, and Romanian words enough that I set up XCompose and I've been very happy with it. You just pick one key to be your compose key (AltGr is the classic choice, but menu, right windows, and caps lock are also good choices), and then you can hit Compose, accent, letter in sequence to type one of the "special" characters.
As a bonus, you can actually configure your own sequences for letters that you need often. For example, I have Compose ,s,h bound to ¯\\_(ツ)_/¯, Compose,g,<any letter> bound to produce Greek characters, and Compose,t,q bound to my username.
XCompose is available on Linux using `setxkbmap -option compose:ralt`, on Windows using WinCompose, and there's probably a way to do it on OSX but I refuse to support that particular company on moral grounds so you're on your own.
Totally agree. I am mostly typing the symbols @#()[]-+=<> for a great part of my day. Also, why do we need to restrict the keyboard to a specific size or a specific number of rows. Why not have more than 4 rows ?
I think this is an example of exceptions looming large in our mind, precisely because they are exceptions, and taking an outsized proportion of our attention. Before you go crazy remapping your keyboard to make symbols easy, take a scan of your real code. I fired a script to count the incidence of all symbols across a couple codebases large enough to be fairly representative here:
Perl Java Go
1 . spc - %26.40 spc - %17.98 spc - %10.43
2 . e - %6.15 e - %7.93 e - %8.92
3 . a - %4.41 t - %6.76 r - %6.83
4 . t - %4.34 r - %5.68 t - %6.72
5 . r - %3.85 s - %5.34 s - %4.99
6 . s - %3.84 a - %5.19 i - %4.83
7 . i - %3.34 i - %4.96 n - %4.67
8 . o - %3.03 o - %3.95 o - %4.57
9 . \n - %2.99 n - %3.79 a - %4.41
10. n - %2.97 p - %3.37 \t - %3.60
11. l - %2.67 u - %2.91 \n - %3.44
12. d - %2.32 c - %2.79 c - %3.05
13. c - %2.25 d - %2.55 l - %2.73
14. u - %2.07 l - %2.50 u - %2.55
15. _ - %2.02 \n - %2.44 d - %2.32
16. $ - %1.70 . - %1.99 p - %2.08
17. m - %1.70 m - %1.94 g - %1.98
18. p - %1.55 g - %1.62 . - %1.81
19. f - %1.41 ) - %1.29 m - %1.65
20. h - %1.31 ( - %1.28 b - %1.62
scp is space. Even Perl, a notoriously symbol-heavy language, has its first "symbol" show up only slot 15. This codebase prefers separation_by_underscores, so if you have camelCase you might not even get that. Java's first shows up as the period in 16, go's slots in at 18. (Go programmers typically aren't using the TAB key that much, it's autoformatted into existence with gofmt.)
I'm not saying there's no room for a bit of optimization, but I suspect a lot of programmers would mentally place symbols way higher than they actually belong in the precedence scale.
The other problem that emerges if you get too serious with this is that the languages are different enough that if you do swap out some symbols for some more privileged spaces on your keyboard, they aren't the same ones across languages. In Perl, $ shows up in slot 16 at 1.7%. In Java, it's slot 66 at .01%. Java favors the period first in slot 16 at 2%, in Perl that's slot 40 at .37%. I once did a reasonable attempt at a multi-language survey with roughly equal amounts of each language and what I found was if you're multilingual you have only marginal improvements available with the symbols.
Whether it's worth it is up to you, but the fruit here is much less low-hanging than you might think.
I think typing efficiently on a keyboard is akin to playing the piano with good technique.
I often see musicians playing piano (or keyboard synths) with improprer technique. They move their wrist a lot, bend their finger backwards to apply pressure, and tense their fingers by laying them flat. This causes stress in the motion and fatigue over time.
All (or most) the pressing power should come from the tip and the phalanges (?). You use each finger like its own little hammer. It requires a bit of training but not much really. You just need to strengthen those tiny muscles over time by consciously moving the finger only.
Of course the rest of the hand can move a bit but it shouldn’t tense any muscle at all. The wrist should only hover around the piano/keyboard to move closer to the target keys. And the rest of the arm and shoulder should of course not move or tense at all.
If you can play the piano like this, you can type on a keyboard the same way. No tension in the hand. Only a bit in the finger when it’s pressing, but none otherwise. As a result, you’ll likely prefer like me keyboards with very low travel. I have the Apple Mac keyboard which has a slight angle and very low travel. It’s very easy to “hammer” the keys with low effort. I’ve never had any wrist pain in 20 years of being both a musician and a developer.
Similar experience here, and in fact I use a floating typing style more akin to playing a piano instead of sitting on the home row. I actually did end up with bad RSI for a year, however, caused by typing on a laptop, but I now realise that was due to the extension of my arms.
For a while I used Workman on an Ergodox keyboard, and it was very nice. But I learnt that I actually love QWERTY when I type in my floating style, and ultimately moved back to it and a Topre keyboard instead (which is a nice mid-point between non-mechanical and mechanical boards).
I've just taken the piano back up after 18 years, and so far don't seem to be overly straining myself, so I'm hopefully on the right track with my technique. Years of playing diatonic accordion have hopefully used many of the same muscles!
Looks very interesting, but re-learning how to type is so painful, not to mention devastating to my productivity at work, that I think I can only afford to do it once in a lifetime...
I recently made the switch from QWERTY to Dvorak, during a 2 week period while I was in between jobs, and it was one of the most frustrating things I've ever done. Over a month later and I'm back up to a plodding 60 WPM (from a glorious 120 with QWERTY). Not to mention how shot my vim keybindings are!
Maybe if I eventually switch again it will be less painful, but the experience has taught me that typing is almost 100% an exercise in muscle memory.
Anyway, my point is, I wish I could be the kind of person that could type fluently in multiple keyboard layouts, if nothing else then just for the heck of it, but I'm not sure I'll ever have the kind of time to make that happen. Cool project though! There are certainly words and bigrams that are needlessly hard to type in Dvorak.
I've switched to VIM and Dvorak blind type simultaneously. And out of C++.
I am not such a great typist (ten years later still 40 WPM) but it was one of the best decisions. Comfort improved tremendously and with blind typing it feels like direct interface to screen. Yes, muscle memory is a king. To remember some passwords I had to type them in imagination.
Observing myself - comfort stems from hand alternation. Home row AOEUI is a must have feature.
I was curious about vim as well. I wonder if the defaults of vi are somehow optimized for QWERTY.
This thread convinced me to try switching to Dvorak but I'm a bit scared after reading your comment. It's not clear from your comment, did you switch back to QWERTY or are you still giving it a shot?
> I was curious about vim as well. I wonder if the defaults of vi are somehow optimized for QWERTY.
A few are, such an hjkl being on the home row, but the rest are more semantic (for example, "t" is "unTil", "f" is "From", "a" is "append", "i" is "insert", etc. So all of those lend themselves to muscle memory from repeated use but aren't particularly better or worse on any keyboard layout. Dvorak keeps "j" and "k" together (in the place where "c" and "v" are, respectively), which is a nice touch.
> This thread convinced me to try switching to Dvorak but I'm a bit scared after reading your comment. It's not clear from your comment, did you switch back to QWERTY or are you still giving it a shot?
I switched to Dvorak about a month ago, and have no plans to switch back! It is a definite improvement in comfort, which I expect to translate to a speed improvement eventually. Nowadays when I type anything at all in QWERTY I wonder how I ever put up with contorting my fingers into such strange shapes to type the simplest words -- not to mention how so many words have almost zero hand alternation.
The problem is that most of the typing in vim is based on muscle memory ... thinking about it I have no idea what the keys I use for commenting out code.
I tried to learn Dvorak and later Neo ... Not being able to use Ctrl-C, Ctrl-V like I was used to was annoying ... not being able to use vim anymore was the reason I stayed with QWERTY (QWERTZ in German).
That Ctrl key muscle memory is why Colemak made the explicit decision to leave all of ZXCVB in the same place as QWERTY.
A lot of Vim is mnemonic and while relearning the muscle memory is tough, relearning the mnemonics can be useful to reinforce what you know about Vim.
(Just maybe don't make the mistake I made at one point of trying a "remap the world" configuration, learning entirely new mnemonics for classic operations, and then realizing maybe too late I'd prefer a smaller remapped config. Unlearning the wrong mnemonics is hard.)
I absolutely love Workman. It's gorgeous. I spent months learning it, getting fast with it. I even got the supercool matrix style keyboard, I was so into it.
But now I use QWERTY, and I sold my matrix style keyboard. Why?
1. Using the standard is useful. Other people's computers use QWERTY. Terminals for typing things in airports use QWERTY. When you have to do first aid stuff on your system, you're not going to get to change the layout.
2. QWERTY actually isn't bad. Yes, the home row is largely wasted, but other than that, it's not as ludicrous as you've been reading. For evidence, look up who the fastest typists in the world are - plenty of them use QWERTY.
* if you think it's going to make you more efficient. If it's for fun, go for it. For me, it was worthwhile, because I got to forget QWERTY and re-learn with proper touch typing, not whatever 3-finger nonsense I was doing before.
It's not about being faster, but to not suffer from RSI. QWERTY forces your hands to stay in abnormal position which can cause wrist pain. Ergonomic layouts (and column-staggered or ortholinear keyboards) are designed with that in mind.
I should have said in my post that I have nothing to say about what you should do if you have serious pain from typing - from the other posts here it sounds like lots of things might help, including an ergonomic layout. I had minor pain and I did find it went away with the switch, but in retrospect, that was probably because I also focused on efficient touch-typing as I learned Workman, so I improved my posture, I think. I feel as comfortable typing now with QWERTY as I did with Workman.
Couldn't the hand positioning be mostly solved by remapping the few keys that pain you the most ?
For me it was the control key and escape keys, and the others keys are otherwise standard.
Also I'd argue people suffering from RSI shouldn't be striving for speed or efficiency that much. Some people switch their mouse hand or reverse buttons basically to detune, or split the load to other parts of their body, speed/efficiency be damned.
Don't use other people's toothbrushes. Don't fly; even if you sometimes do, don't base your life choices around airport terminals or ATMs. Do your computer first aid with a keyboard that has your layout built in so there's no need to change it. Qwerty is actually bad.
Note that you can learn a new layout without forgetting Qwerty.
If you switch between layouts while learning, you'll maintain that ability to switch. Similar to how the brain can switch languages.
I found this to be an easier way to learn, as it didn’t interrupt life as much. All of my work stayed in Qwerty until my Workman was good enough. And I still use both.
Edit: The one frustrating switch is Workman's moved copy-and-paste keys. I do press the wrong ones by accident. I would choose Norman instead of Workman today purely for that reason.
There is a truth here. But doesn't it sound like don't install applications, don't customize your system? It is a personal computer. And defaults are bad.
I can hardly type QWERTY and it is fine.
On the other hand - Dvorak, swapped Ctrl and Alt, Caps Lock to switch language. And that's in tiling WM on minor Linux distribution. When you break things you can break them hard.
I would argue pretty strongly with "defaults are bad"! Defaults are what you should use until you can very clearly explain why a customization is significantly better (and sometimes that is the case!). It's a boring, lowerst-common-denominator attitude that goes against the things that most of us here enjoy doing, but customizations are more things to think about and maintain, and ways in which my system operates differently from other people, making it harder to give and receive help.
It was not philosophical statement "all defaults are bad". I value defaults - my VIM setup become empty over years. I choose Linux distribution with defaults that match me. My setup worth a lot of trouble and costs a lot of skill. It is not universal.
But some defaults are bad. QWERTY is one of them. I have no experience in Workman but I'm suspicious of design process - author penalized hand alternation and middle column. As long time Dvorak user I can't agree. Just looking at Carpalx [1] and Neo Layout [2] - vowels in one hand home row - it can be good. QWERTY derived layouts best asset is compatibility, yet ZXCV lost to ZXCMV. I can't explain that, QGMLWB makes much more sense.
Also wouldn't recommend. I switched to Colemak back in the day. Switched all my phone keyboard and everything. I was a typing god.
Started a new job where I ended up having to switch to qwerty for pairing sessions, typing like I was using a computer keyboard for the first time, never mind interviews where one might need to live code on a foreign machine. Having to explain "oh hai, yeah I actually use a different keyboard layout because my fingers move less but it hamstrings me whenever I sit at _anyone elses_ keyboard" just doesn't cut it. If you've got issues that'd be helped by better typing ergonomics and really need to switch then go for it.
Otherwise, don't waste your time, just get better at typing qwerty, trust me.
On Windows you just install an extra MSI for Colemak, add it to the standard desktop build and you’re off (you use win-spacebar to switch to the new keyboard quickly when sitting at the keyboard).
On Mac you just switch to that layout (cannot remember the hotkey but there is one), no install required.
Linux likely has 15 different ways to do it and you just have to pick the easiest one for you.
You just need to have a chat with your boss. He’ll probably be happy to allow something that requires zero budget and ticks an extra “ergonomics” checkbox.
I'm sorry, I've seen far too many smirks when explaining why my keyboard doesn't do the keys they want as I hurridly re-enable qwerty, or why I type like a 5 year old on their qwerty keyboard. And there's no way i'm getting someone to facilitate my keyboard fetish by installing/enabling any layouts. Plus, it's just _better_ when you can read the keys, and I can't go disassembling keyboards all the time to put the keys in the right place.
There's just too much friction. Only Apple has the power to re-educate the world's typing habits, only then will I get back on the train. I say this as someone who used Colemak for 2 whole years btw.
This reminds me of the "it's easy to be a weirdo now" thread from yesterday. (i.e. no it isn't, we just moved the window a bit)
> no way i'm getting someone to facilitate my keyboard fetish
That's demeaning to yourself. Ergonomics is important and a keyboard is a work tool. It's like saying that a basketball player has a "shoe fetish" for insisting on using a shoe that is not the same model as his teammates'.
> Only Apple has the power to re-educate the world's typing habits
What do you mean, that Apple should sell Colemak keyboards? I agree there, but it's a bit of a chicken and egg situation.
> What do you mean, that Apple should sell Colemak keyboards? I agree there, but it's a bit of a chicken and egg situation.
You're right, it's chicken and egg. But Apple have a history of making a bold stand around product features.
Phones without keypads, phones without audio jacks, laptops without CDROM, laptops without USB-A.
If someone is able to ween the world off it's QWERTY habit - it's Apple. It doesn't need to be Workman or nothing. It could be as simple as offering Workman as an alternative replacement, signalling a shift toward Workman as the future. Then one day, probably before everyone is ready, no more QWERTY MacBook. Baptism by fire is the only way, in the end.
I hear you. I did it. But am I supposed to carry it around with me in a special case for all occasions?
The short of it is that in the end, I stepped down from my horse and conceded that it was more sensible just to make peace with QWERTY and get good at QWERTY'ing. This won't be the case for everyone, I'm just trying to shed light on my experience as "the keyboard guy". Colemak worked for me. The ubiquity of QWERTY worked against me. In the end I capitulated because going against the grain wasn't worth it for me all things considered.
Keyboard layouts are incredibly fascinating. For the amount of typing that is done today it feels like we are collectively still in the Dark Ages of textual input.
A while ago on HN there was link to a talk from a stenographer (the people who do court reporting and other live transcription). They achieve the highest WPM by using a smaller keyboard and pressing "chords" of multiple keys at the same time, which map to sounds or words. Over time each individual customizes their "dictionary" to meet their usage/needs.
From there it's easy to imagine a future where children are given devices that fit their hands like gloves or wii-motes that convert motions to text, with a system that adapts and grows with them over time.
Stenographers need to optimise for input speed, almost everyone else doesn’t have that requirement.
Right, max WPM isn't necessarily everything (though it's a pretty good proxy for overall effectiveness of the tool), what's more interesting is the way the device can adapt to the user. The programmers complaining about the symbol keys could create mappings that make those easier/more natural (combined with a device with a more ergonomic form factor). Technically you can kind of do this with a regular keyboard via macros/expansions/remapping but it would work a lot better if the with a device that was designed with that in mind.
I think it's possible to take this idea and use it for us programmers, without going full stenographer.
For example you could map j + k to send escape, which would be very useful for a vim user. Or have other symbols easily reachable, without having to resort to layer modifiers.
I never worked with dvorak or bepo but I felt qwerty or azerty are enough.. it's a bit like a guitar, things are not optimal, painful at times but you can do wonders anyway with some training.
I am using the qgmlwy along with a few custom layers and custom modifier keys.
Most of the improvements come from touch typing (not a custom keyboard). But a custom keyboard is still an improvement. The biggest issue for me is not the learning part (even though this took months), but the setup: whenever you want to switch os, reinstall, setting up the keyboard is a huge pain.
I have setup my layout on ubuntu with xkb and this took days of full-time work, because xkb is so convoluted. On osx, I just use a custom C script that transforms each keystroke, the code is ugly but this is easy to work with.
I've been using qgmlwb for 4 years or so. It's difficult to compare with qwerty, since I didn't type properly before, but it feels pretty comfortable and effortless. I feel like my right hand is overused, but I doubt it has anything to do with the layout, I just don't like using my right pinky; or, rather, it doesn't like to be used.
A few years ago I took the plunge and started learning Colemak after extensive typing left me with pain in my hands. I haven't had any typing related issues since so personally I can recommend learning an alternative keyboard layout (whether that be Workman, Dvorak, Colemak, or other).
Using qwerty on other people's computers has never been an issue since I use my own machine most of the time. I do have to look at the keyboard when typing qwerty but it's quick enough so I don't really mind.
If you're curious what it feels like to type Colemak, I wrote a small app a few years ago which simulates Colemak for someone on a qwerty keyboard:
One thing that often goes unmentioned when I see discussions about these sorts of alternate layouts is that, particularly for programmers, the keyboard isn’t just a simple device for entering text, it’s the mechanism through which we interact with our computing environment, and most tooling is either specifically or unintentionally designed to enhance the productivity of people typing in QWERTY. Whether it’s simple copy and paste, vim keybindings, shell commands, etc., using these sorts of tools from other layouts often feels much more tedious than it does in QWERTY. So I’d caution against adopting a new layout naively, unless you’re also willing to accept that you may have to also begin adapting your environment to your new layout in addition to learning the new board.
This is why many layouts, workman included, make compromises.
After years of using vim, I learned workman. On top of my qwerty muscle memory, I have qwerty-vim muscle memory to unlearn.
I've gone back and forth, but I've generally given up on using vim. It's missing a feature that to me is a deal breaker: 100% configurable keybinds.
I've been looking into creating my own from-scratch modal keybinds for emacs. I would love something with the features of evil-mode where the user creates their own normal-mode.
Even if a user is using a traditional keyboard with qwerty, it still sucks to be stuck with hardcoded keyboard shortcuts. It would be extremely helpful if configurability were considered a necessity in UI/UX design.
Yes, there is some idiosyncrasy with hotkeys, vim is quite ok (Dvorak user here). Overall I remember it being crazy for some time but currently I’m quite happy with the results in entering text and programming. For hotkeys I still have to make guesses here and there because some programs expect them to be pressed “as in qwerty”, others “as in dvorak”.
That's one of the reasons I decided on Colemak years ago: zxcvbqw don't move, which is most hotkeys (undo, cut, copy, paste, etc), plus hkjl, for vim, is ATLEAST on one hand, but unfortunately it's all hit with the index finger.
As much as I hate rebinding WASD in every game ever (and no two games share anything like a similar remap tool; every game's settings are a unique snowflake), it does at least amuse me every time that Colemak's replacement is WARS. It seems more appropriate for games, it spells out a vaguely appropriate word and R for Reverse actually makes sense mnemonically. (Walk, Around, Reverse, Sideways ;)
Though nearly universal support of Xbox gamepads and made me more of a gamepad by default player, saving WASD remapping for rare cases.
I'd love to see a rigorous analysis of whether this type of keyboard layout really reduces repetitive stress injuries. The metrics presented are interesting, but the reduced finger movement could be a bug rather than a feature. Small micro-stretching by having to reach for keys could actually be beneficial.
I think this is a very good and very underrated point. I'd like to see some evidence why there's any reason to assume repetitive movement with less stretching is somehow less harmful than repetitive movement with more stretching. I've been typing on the qwerty layout for about twenty-five years at this point, and I'm up to around 110WPM, so it would really take a gigantic amount of evidence for me to be bothered with trying to rewrite all of that muscle memory. There seems to be a tacit assumption that these alternate layouts improve something that qwerty is doing wrong, but as it stands I'm not convinced that premise has any merit.
It would be very difficult to get enough people to switch layouts to do any kind of study. But you can probably look to gaming, where they optimize the layouts of the keys/gamepads and there's plenty of RSI. I think changing keyboard layout is unlikely to have any benefit. Especially since you need to spend an extra hour or two a day on typing drills to become productive. That must offset any benefit.
You can drop regular practice after a while, so the penalty on speed and accuracy is effectively capped; while the benefit on wrist health is not, because it will stay with you for life. Imho a month or so of lower productivity is worth the long-term effects.
I agree modifier keys are the devil. Laptop keyboards are not designed for ergo at all.
I use an ergodox ez and have various layers. Layer for directional keys. Layer for all my vscode shortcuts (you can do Marcos). Layer for symbols. Even a layer to control mouse, however I don’t like or use this
I use thumb clusters for the most common modifiers like space, enter, backspace, command
What’s great is that I can define alternative keys when the keys are pressed down. So I use them to activate various layers
I also use auto shift feature so holding down a a key will get your the shifted option. Great for gets Caps version etc
It was a bit easier to learn because most of the keys are on the same finger as on qwerty, but with the rows swapped. For me the biggest problem with using an alternate layout is that the hjkl vim movement keys are scattered.
Which becomes pretty annoying if you regularly work over remote SSH sessions to large number of hosts where you may not be the only person on a given user.
(You could have some local shorthand to copy over your vimrc and explicitly start vim with a different copy, at which point you'll only have problems with shared tmux/screen sessions)
You still want i mapped somewhere. Do you put that on qwerty-i/norman-r? Now where do you put r? qwerty-r/norman-f? Where do you put f? qwerty-f/norman-t?
It's a mess. It would be much better if commands weren't so tightly associated with keys in vim.
> Try typing “The” with the T capitalized on Colemak and hopefully you’ll see what I mean. Try typing “The” with the T capitalized on Colemak and hopefully you’ll see what I mean
Why is he shifting with his right hand instead of his left? It seems obvious, but maybe isn't: you should shift/ctrl with the opposite hand that is going to type the letter.
I tripped up on this part as well. I've been using colemak for many years, and I don't enter "the" the way described.
When your hands rest on the home row, you left pointer finger is already on "T" and your right middle is on "E." To enter "The" you only need to move your left pinkie 1 cm to the left-shift key and your right pointer 1 cm left to "H". It's so little movement you can just about smash all four keys at once.
This is going back into the dark ages (we were taught on electric typewriters!) but when I did a typing course I was told only ever to use my left pinky for shift and right thumb for space.
Not one that I'm aware of, and a quick check of modern online typing resources doesn't share the same bias. I guess it was either the teacher's preference or something she was taught in typewriter school.
I think “in the dark ages” it was more common to end up using keyboards with only one Shift key - think “nuclear reactor control panel” and stuff like that. So it probably made sense to bend touchtyping theory for practical purposes when preparing kids.
On Colemak, the T is on the left hand, so the right hand would be moving to the right to press shift, then moving to the left to press the H, the moving right again for E.
I've been using Workman for 5 years now and it has been wonderful for reduced stress. The difference between QWERTY and workman has been so dramatic that I haven't needed to take any additional steps at managing forearm/wrist stress.
People seem to pontificate about micro-optimizations but the fact is that you're reducing your overall motion of typing by more than half. An ergo keyboard is another way to do that but you still have awkward motions.
Everyone has different sized hands. My fingers are a bit short for my average size. It works well for me.
A few years ago I was stuck between workman, norman and colemak.
I decided to go colemak for ease of transition.
Being a longtime qwerty typer, my hands came to favor a more left hand typing ratio.
I later realized colemak tends to be more right hand. My qwerty wpm rate went from avg 130 down to 80.
My hands feel more comfortable typing colemak for long durations compared to qwerty.
The placement of the letter H and E didn’t really bothered me. I’ve since picked up a modified version of colemak that fixes some of the short comings of colemak.
Maybe one day I’ll pick up workman due to having a more even left/right hand distribution.
Instead of using an alternate keyboard layout, I found the alternative finger positioning described here works great for me: https://typingsoft.com/typing.htm
The trick is to keep you wrists straight
Very nice work, I'd like to see the result not with books, but with programming languages.
The problem is but you loose a very valuable thing: the ability to use any keyboard. You won't be able to pair program. You'll be very slow when using your mother's computer. The ability to use any keyboard is more valuable than increasing your WPS.
Some people are able to use two keyboard layouts fairly well so long as they practice both. Having and using a traditional keyboard layout on a laptop in addition to your heavily-customized desktop setup is a good way to do both.
Typically alternative keyboard layouts are installed as a mapping at the operating system level, I don't think the author is proposing a keyboard with that hardware layout. And most modern OS's allow for switching key maps on the fly with little effort.
I worked in a lab with a guy who typed exclusively in Dvorak and there was no issue with pair programming along side him nor for him to get his key map on shared workstations.
Well, you are going to spend all the saved effort in ensuring you have the layout working everywhere.
I am contractor, most of the time working on corporate PC. I use dvorak and it is already a huge PITA to explain to yet another corporate drone I need to be able to set up my own keyboard layout. Windows does not have Dvorak layout with polish accents so I have to either use my own driver or, more likely, write without polish accents.
Another problem is that Windows can have different keyboard layout when logging in and different when unlocking the machine which might cause additional login failures. Some applications try to be smart (which rarely works) and control keyboard layout. At one bank the remote desktop app would switch keyboard layout periodically (like every 5 minutes) depending on my locale settings.
So this is with Dvorak, which is popular enough. Try with a completely unknown layout and you are pretty much screwed if you ever need to be able to use computer that is not your own.
I can just type both Dvorak or Qwerty, it hasn't been much of a problem switching between the two. But in general, I use a keyboard that has an embedded layout, so I just bring my keyboard with me and all my bindings, macros, etc are with me. Very nice!
I am currently building a keyboard from scratch. Will have matrix (ortholinear) layout and will be running my completely custom controller software so that I can play with the mappings and functionality to my heart's desire. In particular I was thinking about putting sd card slot where I could put steno dictionary and have steno built in the keyboard. Mainly because I typically work on some high sec corporate computers where I am unable to install any custom software.
I'm going on paternity leave soon and hoping to use the opportunity to learn a new keyboard layout but I'm having a tough time picking which one to learn. I've already got an ergonomic keyboard (Iris) but I still hate the feeling of querty's layout. I run into so many words that just feel bad to type.
I think I've narrowed it down to two options (but I'm open to suggestions): Colemak mod-DH and Dvorak. They both take pretty different approaches that both seem to have merit. I like the ubiquity of Dvorak but I don't really predict it'll be difficult for me to get Colemak on any computer I use. Dvorak seems great but the placement of L and S seem very awkward to me. Colemak mod-DH seems to make more sense but I'm skeptical of the promise of finger rolls.
I've been using this for a few years now. I deliberately only used it on a kinesis advantage (and typematrix I tried out for a while - lack of ergonomically placed modifier keys killed me though...). I deliberately use QWERTY on laptops and so on, so my fingers retain some memory of that and let me switch back and forth easily.
It took a while to get fast enough to be productive - it's a pain switching layouts.
The nice thing about using a kinesis advantage is that as it re-maps the keys in the keyboard, the computer isn't aware of keyboard mapping at all.
When I was trying out things like the typematrix or a MS keyboard that required drivers etc, it was always a pain getting things like BIOS passwords, login screens, etc. to work reliably.
I use the Neo layout since 2013. In my optinion, it is optimized for the German language and for programming. I really love it.
On Linux this worked perfectly for me, but on Macs there are some (Electron?) applications which have their own idea of keybindings. Notably MS Teams. They have their own idea of keybindings and assume some kind of quertz layout. Which using neo makes typing a questionmark, which works using "layer 3 key" (caps lock) and what is "h" on querty impossible.
So I end up mostly just typing :question in chat, which produces a questionmark emoticon. Talk about workarounds.
Oh yeah, it does not work because Teams opens the "help" window instead.
Learning a new layout takes months of training. If you want to improve ergonomics, I would take the following steps;
1. Get as split keyboard for better shoulder posture (ultimate hacking keyboard)
2. Get a column staggered board instead of row staggered for better finger movement and more thumb keys (ergodox or iris keyboard)
3. Get rid of the num row and limit movement for fingers to one key in any direction using layers to simulate the missing keys (corne or kyria)
4. A sculpted and tented keyboard which allows the arm to untwist and is shaped like a dish to move keys closer to your fingers like the kinesis, dactyl, or Tightyl.
I got used to a kyria board in a week and it's helped hugely to improve my back pain. Never going back to a non split keyboard!
This is completely false. If you go cold turkey and actually work at it you can actually memorize a keyboard layout in a single afternoon, though you will be slow as hell. If you keep at it without switching back you can get up to like 30 wpm in a week. I did it with both colemak and beakl 15.
The problem isn't that it takes months, the problem is that it is incredibly tedious and you have to really want to do it because you will hate your life for the first couple of days.
I'm not saying it's impossible or that you shouldn't do it. I'm saying it's not the first thing you should improve.
If you compare switching to colemak the other improvements I listed, it's by far the most effort. I am practicing colemak which mentally exhausts me a few times a week and I'm only up to 18 wpm. Picking up a split keyboard will take maybe an hour before you are back up to speed and you will gain the benefits instantly.
When you're "back up to 30wpm after a week of training" you're still typing at crippled speeds. It takes a significant amount of effort to learn a new keyboard layout.
I actually agreee. The conclusion I came to at the end of it was that learning a new keyboard layout was basically a waste of time for most people for a number of reasons. First of all there's no actual science that proves it's ergonomic efficacy and if it does actually accomplish anything it's negligible compared to other things you could do instead. On top of that it makes interfacing with other people's computers an absolute nightmare. It also has random bugs and quirks if you use software based implementations where it randomly won't work in vnc or a virtual machine or whatever. I actually did it just because I'm a technical masochist and it was fun, not because of some delusion of actually fixing anything. I wound up switching back to qwerty in the end.
As for picking up a split keyboard being easy, that isn't necessarily the case depending on how messed up your typing is. You may need to relearn how to properly type to use them. That said I would agree that you would get MUCH more ergonomic benefits from switching to a split keyboard than you would from learning a new keyboard layout with a fraction of the work required.
>When you're "back up to 30wpm after a week of training" you're still typing at crippled speeds.
This definitely isn't true. You are actually just under the average typing speed. Also if you are doing stuff like programming or many other things your 70+ wmp typing isn't actually doing anything for you because your are already bottlenecked by thinking and other such things. Typing at 30wpm isn't nearly as bad as you think it is. Also you continue to improve from there.
I'm a quite fast typist, typing at around 120-130 WPM (on short distances obviously) when using QWERTY. This skill is lost if I switch to a new layout.
I once tried switching to CarpalX. I was able to get to about 80-90 WPM - it had indeed taken a few weeks, if I recall - and I pretty much hit the ceiling around that level.
"Memorizing a layout in a single afternoon", or achieving 30 WPM in a week are entirely plausible scenarios, but they are not what I'd consider success stories.
In my experience, getting a better keyboard yielded about the same increase in comfort as learning workman. Doing both has made a huge difference.
One thing you missed that I would consider most important: Get a keyboard that places modifier keys under your thumbs. The thumb/palm keys on my keyboardio model01 are by far my favorite feature.
Only partly related, but if you are an aging programmer like me you should consider using a vertical mouse. They are a total eyesore, but switching from a normal mouse is almost seamless and they can dramatically reduce wrist strain.
I used hunt and peck for years before learning to touch type. After four years of touch type I'm still fairly crap. If I try to speed up i commonly get the letter order wrong of two successive letters. I'm a lot better than hunt and peck but I'm kind of disappointed. Would it be a major job moving to Dvorak and can you expect big improvements?
Also is it better for the keys programmers use that others don't use so much like += etc
> Would it be a major job moving to Dvorak and can you expect big improvements?
Yes, it will take a significant amount of effort to change over to Dvorak layout.
You're unlikely to see speed improvements with Dvorak without continuous effort. However, IMO, Dvorak feels a lot nicer to type with than qwerty.
IME: I learned Dvorak around 5 years ago, but switched back to qwerty. A few weeks ago, decided to use Dvorak again. There's a "like riding a bike" quality to it; although I'd recommend against using different layouts with the same physical keyboard.
> is it better for the keys programmers use that others don't use so much like += etc
IMO no. (They're infrequently used in either qwerty or dvorak, which makes sense to me. I don't notice one as better/worse than the other).
> After four years of touch type I'm still fairly crap.
Define "fairly crap". I do 50wpm on Colemak, which is better than most non-IT people but nowhere near the best. It's good enough for me, feels much faster than my previous "bad habits" (a mix of hunt & peck and muscle memory accumulated on long emails in my misspent youth), it's getting better the more I practice, and comfort is on another scale (no more wrist pain!).
I only started touchtyping seriously in my late 30s, had I done it earlier I'd probably be in the 80wpm+ by now. .
> If I try to speed up i commonly get the letter order wrong
You likely need more practice, sadly that's the only advice I can give you. Don't focus on speed, focus on precision. Speed will come naturally once your muscle memory sets in properly. Try to practice with text you are actually likely to encounter in real usage - there is little point training to type Dickens if your life is spent between angle brackets and special characters.
> Would it be a major job moving to Dvorak
Dvorak is a waste of time - it's already obsolete and never really delivered on its promises. If you make the jump, consider something more recent like Colemak, Workman, or other stuff like this, based on actual research and statistical analysis that were not possible at the time Dvorak appeared.
This said, changing layout is easy but frustrating. It takes time and practice. It's like learning an instrument - is it easy to play the guitar? Yes it is, conceptually; but it still takes years of regular practice to play well.
> Also is it better for the keys programmers use that others don't use so much like +=
The answer is a resounding "no" for the most common alternative layouts. For that, you have to try the more obscure ones like Neo. TBH I'm starting to think the only practical solution to this problem is a programmable keyboard or equivalent big hack.
> Would it be a major job moving to Dvorak and can you expect big improvements?
Don't expect improvements in speed. For me it's all about comfort.
What's a major job for you? You can memorize the layout in a day, type painfully slow for a couple days, start to feel rather comfortable in a week or two tops (still likely slower, depending on how fast you were, but now you're accustomed to the pace you type at on your new layout). Getting to the 80-100 WPM range takes weeks.
This, of course, assumes that you put in the effort (do drills and memorize the layout first of all; keep doing drills daily, and don't switch back to your old layout when it feels convenient).
Thanks for the replies everyone. The sense I'm getting is there's are no magic bullet keyboards out there and the best thing to do is stick with Qwerty and take some lessons. BTW I've seen a kid touch typing one handed at a phenomenal speed, the other hand being taken up with the mouse.
In my experience it pays off to do a bit of typing practice every day for a few weeks. It noticably made me a bit faster and more accurate and it wasn't even remotely as hard and time-consuming as switching the layout.
I think learning Dvorak etc. doesn't pay off at all and qwerty actually isn't as bad as people say(the real problems of mainstream keyboards are present in Dvorak etc. as well). Most people just don't consciously practice it regularly.
> Would it be a major job moving to Dvorak and can you expect big improvements?
Not necessarily, it depends on the reasons you are still bad at touch typing on QWERTY. In some cases learning touch typing in QWERTY after years of hunt and peck bad habits simply shifts some of those bad habits directly into your touch typing behaviors. Maybe you still glance at the keyboard too often? Maybe you still rely on muscle memory from hunt and peck days to type a couple specific words and don't realize it?
A clean break to an entirely different keyboard layout and relearning touch typing on it can sometimes be exactly the hurdle you need to really learn touch typing, especially if you can do it during an opportunity for a full "cold turkey" switch on every keyboard you use daily. Don't rearrange the letters on the keys. If anything, do something drastic like remove the labels entirely.
Maybe not for everyone, and certainly there are a lot of comments in this thread with opinions on the matter that it is too much work and maybe not worth it. Anecdotally, I know that I had to cold turkey relearn touch typing on something that wasn't QWERTY to see most of the benefits of touch typing, and I'm glad that I did.
> Also is it better for the keys programmers use that others don't use so much like += etc
That's one of the criticisms that Colemak (and Workman/Norman) make of Dvorak that it moves too many punctuation keys. It's clear we are in a world where QWERTY won, and its punctuation keys are mostly fine where they are, with one very obvious exception (;/: should not be in the home row).
> If I try to speed up i commonly get the letter order wrong of two successive letters.
Touch typing doesn't make you "perfect" (and never will). Mistakes happen and shouldn't be seen as a failure in touch typing. One suggestion that Colemak makes and applies to all touch typing even if you stick to QWERTY (and others in threads here have suggested the same thing) is to rebind your Caps Lock key to Backspace. Mistakes happen, and are common enough. The Caps Lock is a much friendlier and easy to reach location than the usual Backspace location. Make mistakes quickly, but fix them just as quickly.
Overall the layout felt great and relieved a lot of pain. I have two issues with it. The first one is that vim keybindings are terrible. This could easily be fixed by remapping keys in vim. The second issue is typing PO and OP sequences. This wasn't really noticeable until I hit around 60-70 wpm, then it stuck out like a sore thumb. If you don't typically type faster than that, this probably isn't an issue.
I have also typed Colemak and Dvorak (current layout) at a high level. Colemak was the the most painful for me as my index fingers just felt overloaded all the time. Dvorak was also a little painful on the right pinky until it got stronger. Dvorak was also the hardest of the three layouts to get used to.
All three are way better than Qwerty when it comes to typing comfort.
I don't use my computer for writing epic novels, I'm using it to play games (key placement doesn't matter) and programming. So how much easier/difference is there for programming in different languages? I know for a fact that PHP made the choice for the namespace separator based on availability on certain keyboard layouts.
Many years ago I too had pain in my wrists while doing lots of programming work. For me the game changer was using Vim and mapping ESC to jj in both the editor and the shell (via .inputrc). In fact I mostly use Vim because of the provided ergonomics, the fast editing capabilities are just the cherry on the cake.
In my opinion the main culprit are modifier keys (e.g. by default the shell uses emacs bindings and you do a lot of ^A, ^E, ^R, etc.), but using jj mostly solves the issue as you just have to reach for Ctrl when you require SIGINT or copy/pasting in different environments that do not support vi keys. There are also people that remap it to Caps-Lock, but I just don't like to use my pinky that often.
Of course, everybody is different, but it makes sense to think about a setup that suits you and your health.
It's true, I don't have any problem with using SPACE via left thumb, but I have never encountered a layout or keyboard that let's me use the thumb for modifier keys. Do you have an example?
The thumb (and thumb knuckle) keys are my favorite design point, but the entire design is excellent. They are out of stock, but the designs are open source, and there are a lot of other great DIY designs around.
The Ergodox has thumb clusters similar to the Kinesis Advantage. There is also the Dactyl, and many many more.
Agree with Workman's criticism of Colemak, that the letters D and H are placed sub-optimally.
I find moving O to reduce the use of the right pinky to be pointless, and self-contradictory since A is not moved, and remains under the left pinky.
I also find the movement of C and V to be a non-starter for me.
It looks like the Norman layout tries to address the DH issue of Colemak without messing up common shortcuts.
Although the DH issue is not enough for me to abandon Colemak. Probably because I have large-ish hands and thus don't make any wrist movement when typing HE, as the Workman author does.
Although, for those still on QWERTY, switching layouts in general is just not worth it. Remap capslock to a backspace and be done with it. And maybe get an ergonomic keyboard that doesn't mess too much with the placement of modifier keys.
DH was an intentional compromise that Colemak took to increase QWERTY compatibility and Colemak documentation has always acknowledged that, so I respect it isn't perfect, given trade-offs, but as Workman acknowledges changing DH has a knock-on of changing a lot of things that I like about Colemak.
I think Colemak also better optimized some trigraphs over Workman's digraph focus.
That said, the difference between Workman/Norman/Colemak/Dvoarak is all rather "slight" compared to the respective distance between Qwerty and any of them, so some of these distinctions truly are "micro-optimizations". Most people would do better to learn any of them than keep with QWERTY whether or not they can tell which one micro-optimized better.
I appreciate such efforts and consider QWERTY more or less a historical accident. But how do you actually use these layouts? Do you pull the keys from your keyboard and rearrange them physically? But what about notebooks then where this is often not possible? Or do you train you brain to remember the key positions so that it doesn't matter what character is printed on a key? But how do you _learn_ the layout then?
The longer I think about it the more I come to the conclusion that you have to hammer the new layout into your head, since there are many situations, like the keyboard of a colleague, where the physical layout wouldn't match. But again: how to learn it efficiently without a lot of frustrating typing errors?
The best would be some kind of official standard and the introduction of a new layout in schools.
I learnt Dvorak 6 years ago and now type exclusively in Dvorak on QWERTY keyboards (currently a Microsoft Ergonomic). I have never used a keyboard with a Dvorak printed key layout. I think my Dvorak typing speed is still slightly slower than my old QWERTY max, but it feels much more comfortable typing for long periods, and less effortful.
The printed keys don't mean much - to learn to touch type correctly you shouldn't be looking at the keys anyway. I used a few typing games to start and then switched cold turkey for a few activities that didn't require speed (like responding to emails). It was, indeed, very frustrating.
That said, I don't recommend switching for most people, because you will get much worse at QWERTY and when you occasionally need to type it (like on a colleague's keyboard) you will appear incompetent; you will ruin your muscle memory for keyboard shortcuts; and, because standard Dvorak is not great for programming IMO due to the position of the [{ and }] keys. But now I'm in too deep, and I know from experience how hard it is to switch so I don't want to switch back!
I switched to Dovorak maybe more than 15 years ago. But I found it put too much load an the pinky fingers (which already are pretty loaded doing enter, backspace, shift). Also typing german is very awkward with Dvorak.
I then switched to NEO layout [1] which is optimized for german, programming and english. I never regretted that. For programming, NEO is superb. It gives you 3 different shift keys (each present two times on both halves of the keyboard) thereby allowing a lot of punctuation and other special keys being typed blindly without much moving of the hand.
Switching back to occasionally work on a qwerty keyboard was impossible at first. But eventually I got used to that and I can now go forth and back and adjust within minutes. Though qwerty typing speed and accuracy is much lower than my NEO speed and using qwerty generally feels frustrating.
Touchtyping means you should never look at the keyboard - you rely on your muscle memory and relative positioning (starting from those little ridges on two characters in the middle of the keyboard) to hit the right key. As anything related to muscle memory, like learning an instrument or playing ball, it’s all about practice.
If you decide to try a new layout, print an image of it and keep it in front of you, then load some typing tutor program (some web-based ones: keybr, keyzen, ratatype, but there are desktop ones too which typically work better than browser-based ones, because those struggle to correctly detect the actual layout) and start practicing. After a few hours, you can try your hand at something fun like Typeracer, and then it should be downhill from there.
You’ll likely have to spend a few weeks doing an hour or so of daily practice, tolerating a lower rate of typing and a higher rate of mistakes (which is the most frustrating part - try to go for precision, even if it means being slower, it will work better in the long run).
I would recommend starting over a weekend and giving it at least 4h per day, so on Monday you should be good enough to resist the inevitable pressure to switch back. I started mid-week a few times, in the evening, and it was a mistake - without significant practice, the temptation to roll back to be productive is too high.
This is my experience anyway. Spurred by a bout of wrist pain, I switched to a Kinesis Freestyle about 5 years ago, and then to Colemak a year later. I never looked back, this combination took away my wrist pain for good. I can still occasionally use qwerty without cursing too much, but the impact on my wrists is definitely noticeable compared to Colemak. Same for going back to laptop keyboards, particularly post-2016 Apple ones (admittedly I've not tried the very latest one).
> Do you pull the keys from your keyboard and rearrange them physically?
Imo, that's a terrible idea. It just encourages the bad habit of looking at the keyboard. Learn to touch type, memorize the layout.
> But again: how to learn it efficiently without a lot of frustrating typing errors?
I don't think there's any way to avoid frustrating typing errors (except patience), but there are programs for training touch typing. Pick a weekend (or longer holiday), switch your layout, put a cheatsheet on the screen or print one out[1], start hammering your favorite touch typing program. Don't switch back to your original layout! The temptation to go back is huge since typing is so slow and frustrating at first. Just don't.
[1] A cheatsheet that is not literally on your keycaps is much harder to "cheat" with. Which means you can throw it away in a day or two because it'll no longer be useful; recalling the layout from memory will be faster.
You can actually reshuffle keys on many notebooks keyboards. And / or use stickers on the left over keys.
They don’t look great, but I prefer layout over look :)
Using a blank keyboard was a good forcing device to get better at touch typing. I sanded out a spare thinkpad keyboard. Cheap, effective.
You need to practice. It can be an enjoyable activity, like running or working out. Rewiring your habits is actually easier if you enjoy the process. It takes time though.
I have no issue working with other layouts, may it be another person computer (which if rare) or a mobile device, which don’t support Dvorak ootb. Our brains are great.
> do you train you brain to remember the key positions so that it doesn't matter what character is printed on a key?
Yes.
> how do you _learn_ the layout then?
Using an image of the new layout, and by doing drills. If you care about touch typing, you're training to type without looking at the keyboard anyway.
This is how I learned to touch type on Dvorak years ago. I had never learned to touch type on QWERTY before, and I still can't. But then again, I typically don't type on other people's computers and when I do, I look at the keys.
I've pulled keycaps - I lost use of my left arm for half a year about 20 years ago, so I switched to one of the single handled layouts that is available out of the box on windows, I switched the key caps on an old IBM PS/2 keyboard (amazing, metal body, mechanical). This has the obvious advantages, and only takes 20 minutes or so, but when I've used other layouts more recently, I've just used blank keycaps, it breaks the habit of looking at the keys
I learned at keybr.com, which shows the layout on the screen. Then, once you are properly touch-typing, it doesn't matter what's printed on the key caps. (And thankfully, Workman doesn't move the symbols around, so you can still cheat there :D)
for average keyboards you don't rearrange keys, they are shaped a certain way that would make weird ridges. either ignore keycapa or print / buy stickers of other layouts is easiest
I had some pain in my right pinky and it made me realize tons of programming symbols and Enter are over there. I’ve been strongly considering remapping them somehow, though after wrapping my pinky and ring finger together for a couple weeks I was fine.
I have sticky modifiers on the top alpha row on middle fingers. So E+JK give me (), E+M, give me {}, E+UI give me [], E+H gives =. I+QWERTASDFGV give me numbers, I+U gives & and so on.. (actually I use a custom dvorak, but it's probably less confusing to explain this in terms of qwerty). Every symbol is bound this way. Shifts are also sticky so I don't need to tense up my hand so much for every capital letter.
I'm still using too much pinkies for ctrl, but I think only a new keyboard will fix that (I need a proper thumb cluster, kinda like I had on my kinesis advantage).
Yeah I've been considering something like that; I'm pretty concerned with training myself away from QWERTY, but if I had some additional custom binds that seems workable.
On normal keyboard layout you press so many keys with your pinky. I think it's ridiculous.
I design my 40% keyboard (vortex core) layout[0] according to 3 principles:
1. do not assign pinky to any key need you press and hold (ctrl, shift, alt, etc.)
2. do not assign pinky to any key you press frequently
3. try to assign these keys to you thumb or bottom part of the palm (hypothenar?)
So I assign space to the left palm, ctrl to the right palm, alt, cmd and shift to the left thumb, pn (modifier to enter numbers/symbols) to the right thumb.
Enter is assigned to pn+n, esc is assigend to right pinky because I'm not a vim user.
I'm amazed that people are able to quickly "try out" new keyboard layouts. I'm not a particularly good typist as it is. I feel like a new layout would take months of infuriating practice and lost productivity to learn.
Slightly OT, but I just now realized that I rarely actually use my pinky finger to type (particularly on the right). Left pinky: ctrl/shift (and sometimes but not always "a"), Right pinky: enter and "/".
I usually shift my ring/middle finger around to compensate. If you asked me yesterday if I touch type "correctly" I would have said yes, but apparently I'm pretty sloppy with what fingers go where and my brain fills in the gaps without me realizing it.
My favorite keyboard improvement is Ten Key Less (TKL), and buying a separated numpad. Your hand will be nearer the mouse. Less movement is more comfortable.
I hadn't thought about it until this thread, but one of the biggest barriers for me using it was that we have a really quiet open office, but now that we are WFH...
> Typing ‘HE’ (in Colemak) forced the hand to make a very unnatural sideways twisting motion from the wrist and then back again.
Perhaps I have larger hands than the average, but I don't experience this. I can even type DE with the index and middle finger of my right hand. Anyone have video of how this is uncomfortable? I'm having trouble imagining it.
I was stuck on that as well. For reference, this is typing the combination HK on a Qwerty keyboard. I shift my index finger over for the H, and then use my middle finger for the K. Watching my wrists, they don't move at all.
I thought the rest of the article and the approach very interesting and rigorous, though, although I thought the text-only effort results of all the different books impossible to grok as text, and would have appreciated a simple chart.
I'd really love to see some serious work go into studying keyboard layouts to see if they actually make the differences claimed.
Not that I'm sceptical more that I'd like to be able to quantify the difference they are worth. I'd love to try one out but not sure it's worth the time investment.
Cool idea. "Database" is sadly still a primarily left-handed word, but I understand that's because the goal is not to change anything about querty that doesn't need to be changed. I think moving the 'e' to the right is a good idea.
Interesting. But perhaps similar to re-inventing spats to use plastic instead of celluloid - too little, too late. Perhaps more useful to work out making thumb-typing on a phone better.
As enraging as I find switching back and forth between English and German keyboards, I fear I just don't have the emotional fortitude for something like this.
are keyboard layouts like a time sensitive matter? qwerty is from the 1800's and dvorak is from the 30's. By comparison this article came out yesterday.
This isn’t a physical keyboard. The layout is just a mapping in software. The arrows are unchanged, so they’re not included in the diagram. Whether they actually appear on your keyboard is a separate question.
Long time ago keyboards did not have arrows. Nowadays, some keyboards use function key to switch some keys to their alternative function, including arrows. This is true especially with 40% keyboards where there is just no real estate for arrows and to some extent with 60% keyboards.
I'm aware, I've owned a few 60% keyboards. As a non-vim developer, it's not fun for programming, to say the least, though I do get to practice some hand contortions.
I have done testing of my own on personalized keyboard lay-out by keylogging myself.
My initial interest in keyboard layouts was piqued years ago with the CarpalX project [1], so I started keylogging myself in 2017.
I am a researcher, programmer, sysadmin, and work in a multilingual environment (Python, English, Dutch, R, Java, French, Spanish), so I was expecting some interesting results.
I put 3 years worth of keylogs into Patorjk's Keyboard Analyzer app [2] used by OP (after sanitizing passwords and personal identification).
Here are my personal results:
For me, Colemak variations seem to come on top over Workman and CarpalX in this test.
Note that Patorjk's Keyboard Analyzer [2] does not have a ergonomic typing effort modeled in as much detail as the CarpalX model which takes into account full stroke path.
It is very much possible that CarpalX will come out in front of Colemak using the more CarpalX model.
Other interesting layouts can be found at the Keyboard-Design.com ranking [3] which uses [2] on different (programming) language inputs.
For me personally, I will start learning Programmer Colemak on my regular keyboard and Colemak Thumbshift on my Ergodox.
OP argues against Colemak based on added typing effort due to horizontal and diagonal stretching.
If Workman is better in this regard, PatorJ's Keyboard Analyzer [2] as not as good a tool as CarpalX to reflect this advantage.
CarpalX takes into account finger travel distance, hand/finger/row penalties and stroke path.
PatorJ's tool does not model stroke path or allows for penalization of horizontal and diagonal movement.
I would like to have seen an analysis using CarpalX as that could have strengthened your argument for Workman.
Additionally, OP puts a lot of focus on the common monolingual English keystrokes (HE) which is not necessarily relevant for multilingual programmers.
A personalized approach is necessary because most standard lay-outs are based on monolingual text datasets of books as is in the OP.
Everyday typing of an IT-professional does not resemble natural language text in the slightest, so actual keylog input is required for any layout analysis IMHO.
Overall, I very much appreciate the effort OP put into Workman, it looks great!
It seems Workman is a serious contender for first place alongside Colemak and CarpalX.
I see analogy to guitar playing here. No matter how well you figure out finger positioning for a complex passage, you won't be playing with ease unless your elbow, wrist and spine are also positioned properly.