Workman Keyboard Layout (2010)
workmanlayout.org
workmanlayout.org
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).
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.
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.
I have not found anything like that for laptops. Not even a split space bar. The tap/hold feature is possible at the os level, with caveats.
I usually map the key left to the space bar to Enter.
I believe some people have done portable kinesis builds, which could be an option in tandem with a laptop.
Tap a key, get a symbol. Hold the key, get something else (perhaps a modifier).
(eg. Caps alone = exit insert mode in vi, Caps + Space = Super + Space for toggling the tiling layout in my window manager dwm.)
Any keyboard using the QMK keyboard firmware can do this.
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.
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.
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).
And Dvorak of course. I can use it on notebook.
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.
Much of what we type is repetitive.
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
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.
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.
Rest assured though, you will still be able to use a 'normal' keyboard after your adjustment period.
It's one of those little ergonomic things, like "use both hands to avoid Emacs pinky", that vastly improve life.
> 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?
It doesn't for me. Is it significantly more difficult/awkward? Maybe I'm used to it from playing scales on piano?
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.
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.
1. http://3.bp.blogspot.com/-wuJ87jox608/VEHZPg9Fo7I/AAAAAAAAGg... 2. https://i.pinimg.com/originals/a7/d9/52/a7d952cccac40f9949bf... 2. https://www.cinemacats.com/wp-content/uploads/gifs/finncatty... 3. https://66.media.tumblr.com/33c922620e578affa28ad2b15634c870...
alias 'h=ls'
alias 'ha=ls -a'
alias 'hh=ls -l'alias ll="ls -l"
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.
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 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.
It's definitely not a perfect solution, but it has worked well for me so far.
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.
If you're typing numbers frequently and don't have a numpad, then it seems like that would be a worth while investment.
I find the physical shape of the keyboard to be a much more important factor than the layout. Tilted splits are where it's at for me.
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.
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.
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.
Another way is to get another keyboard with more thumb modifiers.
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 :)
https://git.neo-layout.org/neo/neo-layout/wiki/Grafiken
It is included in a lot of linux distributions.
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.
https://git.neo-layout.org/neo/neo-layout/wiki/Neo-unter-Win...
Should be useable on OSX with: https://karabiner-elements.pqrs.org/
https://git.neo-layout.org/neo/neo-layout/wiki/Neo-auf-dem-A...
There is a graphic for users of the kinetic advantage too:
https://git.neo-layout.org/neo/neo-layout/wiki/raw/neo_advan...
A review: https://geekoverdose.wordpress.com/2016/12/27/how-i-taught-m...
(edit: added links, review and useage sentence)
<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.I focused on the keys I find most annoying, because I have a short pinky.
Result: https://imgur.com/a/2XvKVa3
Script: https://pastebin.com/tJVw2nxg
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...
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 don't have a J/K codebase here to check.)
I've been using a keyboardio model01 for about a year now. Having modifiers under my thumb had made them much more appealing.
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.
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!
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.
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?
Only hjkl for movement. Everything else is fine.
I still wouldn't make the switch again. You'd get more millage from spending the ~2 weeks doing a bunch of speed typing practice with qwerty.
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).
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.)
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.
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.
Emacs is a great editor, and I've been looking into creating my own modal keymap for it.
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.
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.
I'm a dvorak user who wouldn't do it again if I had the chance.
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.
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.
loadkeys dvorak
Now you are using Dvorak at the emergency console. Workman is more obscure, and that's a disadvantage, but Dvorak is available everywhere.And Qwerty is awful, the home row is a huge, huge part of that problem, you can't just wave that away.
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.
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.
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.
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.
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.
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.
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.
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.
Another argument goes: we don’t know what creativity might be enabled if everyone had that option / ability.
I’ve always thought fingertip and finger joint implants would make good contacts for chord-like input. Ideas are cheap though.
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.
There is still nothing that replaces a keyboard for unambiguous typing.
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.
Here's a blog post if this interests you: https://blog.gboards.ca/2020/01/weird-keyboards-programmable...
http://mkweb.bcgsc.ca/carpalx/?full_optimization
I've been using it on my Kinesis for a while, and it's totally worth it:
https://github.com/qmk/qmk_firmware/blob/master/keyboards/ki...
How would you characterise it? Speed, comfort, typo rate, something else?
What layout(s) did you touch type on before carpalx?
I might be interested in switching (after 15 years of increasingly customized dvorak).
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.
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:
The only issue I have is in games, where WASM is a religion.
Though nearly universal support of Xbox gamepads and made me more of a gamepad by default player, saving WASD remapping for rare cases.
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.
Still an interesting article, none the less.
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.
That being said, RSI isn't there only reason to use an alternate layout.
I've been using workman for a few years now, for comfort. I find it much more comfortable to use.
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
Here is what my layout looks like https://configure.ergodox-ez.com/ergodox-ez/layouts/RlxdW/la...
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.
(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.
Workman was slightly more difficult to learn, but that isn't really significant to me.
I've been typing with workman for a few years now, and am very happy with it.
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.
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.
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.
Both have given a similar and drastic increase to the comfort of typing.
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.
In the end, portability didn't matter, because I can just use my programmable keyboard everywhere.
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.
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.
To me, it's absolutely worth it. If I'm going somewhere that I might use someone else's system for more than a few minutes, I bring my keyboard.
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've considered building something extremely small like a Planck just for the extra portability.
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 got sick of typing ls -l with my pinky, so I decided against Dvorak.
I really liked the feel of digraphs in workman and norman.
In the end, I decided I didn't like the h placement in Norman.
After typing with workman for a few years, I'm very glad I learned. Every time I type, I am reminded how much more comfortable it is.
I would recommend you look at what's available, and choose whatever one you like best.
If you are on the fence about two or three, just start learning all of them, and drop the ones you don't like.
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.
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.
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.
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.
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.
And then what? You go back to your original layout? No wonder it's taking months.
The best way to learn a new layout is to switch to it and never look back.
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.
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.
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).
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.
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).
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.
If your goal is comfort, you may see significant gains. I did.
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.
You just wrote a whole paragraph on HN.
In my experience, there is a huge increase in comfort to be had.
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.
Modifier keys are great when they are put under your thumbs.
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.
If you want to go down this rabbit hole, reddit is a good place to start: https://www.reddit.com/r/ErgoMechKeyboards/
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.
Switching to workman has been absolutely worth it to me.
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.
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.
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.
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 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.
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.
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.
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).
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).
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 tried out several layouts before deciding I liked workman the most.
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.
https://www.youtube.com/watch?v=Wpv-Qb-dB6g
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...
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 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.
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.
At the end of the day, workman is much more comfortable, and that makes me happy.
Only then can we talk about moving the vowel keys.
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 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:
Programmer Colemak 59.06
Colemak 59.02
CarpalxQ 56.02
Workman 57.43
Workman for Programmers 57.16
Simplified Dvorak 54.71
Programmer Dvorak 53.96
personalized 53.53
QWERTY 46.61
AZERTY 44.83
I did build an Ergodox but never got around to learning it, so here are Ergodox scores: Colemak Thumbshift 63.12
Ergodox/Colemak/Cub 60.93
Ergodox Colemak v1 60.13
Ergodox/Workman/Cub 59.27
Ergodox Colemak v2 57.07
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.
1. http://mkweb.bcgsc.ca/carpalx
2. http://patorjk.com/keyboard-layout-analyzer
3. https://www.keyboard-design.com/best-layouts-by-average-rank...
I've been using workman for a few years. I chose it over colemak and norman after trying them all and picking the one I enjoy the most.