Live data from Hacker News

Workman Keyboard Layout (2010)

workmanlayout.org

141–150 of 233 posts

Re: Workman Keyboard Layout (2010)

#141
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:

  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...

Re: Workman Keyboard Layout (2010)

#142
post #140
post #108

Earlier quoted context omitted.

With a QMK programmable keyboard you can turn any key into a modifier if held, while operating as a regular key when tapped. Another way is to get another keyboard with more thumb modifiers.

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.

[deleted]

Re: Workman Keyboard Layout (2010)

#143
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.

[0]: https://imgz.org/ih6XktnR/

Re: Workman Keyboard Layout (2010)

#144

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 mu…

> 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.

Re: Workman Keyboard Layout (2010)

#145
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.

Re: Workman Keyboard Layout (2010)

#146
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

Here is what my layout looks like https://configure.ergodox-ez.com/ergodox-ez/layouts/RlxdW/la...

Re: Workman Keyboard Layout (2010)

#147

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. A…

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.

Re: Workman Keyboard Layout (2010)

#148
post #131

Earlier quoted context omitted.

What helped we is switch from C++ to Ruby. I see analogy to guitar player here too. And Dvorak of course. I can use it on notebook.

> What helped we is switch from C++ to Ruby 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.

Re: Workman Keyboard Layout (2010)

#149
post #23

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…

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:

   plus sign
   tilde
   at symbol
   delete
   exclamation mark
   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.

Re: Workman Keyboard Layout (2010)

#150
post #129
post #95

Earlier quoted context omitted.

> 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'm fine using pinky because I'm a guitar player who struggled with that and fixed it by training for more than a year.
Post reply on HN