
Fast Typing: Keyboard Layouts - pavanyara
https://codefaster.substack.com/p/fast-typing-keyboard-layouts
======
pastrami_panda
Programmers, and people working with computers in general, should really take
better care of their neck, shoulders, scapulas, wrists etc. I just realized
that the cobra[0] is in some ways the inverse of sitting down and is
beneficial for "resetting" some effects of prolonged sitting. But there are
many excercises and stretches that should be performed regularly. I've started
getting pretty bad scapular pain that one day started impeding my work and
it's a real pain to fix once it gets that bad. Having good gear is nice, but
it should always be accompanied by a good stretching and excercise program.

[https://images.app.goo.gl/MQX6XStfAMN2rhjK7](https://images.app.goo.gl/MQX6XStfAMN2rhjK7)

------
SuperPaintMan
If you're willing to go down a rabbit hole, designing your own keymaps and
hacking on a layout can go a long way to alleviating RSI symptoms. The author
doesn't touch on it but QMK will change the way you interact with a keyboard
and make those tiny 40% and smaller boards feel a ton bigger.

When I made the layout for GergoPlex[2] I designed it around
Vim/i3/Programming and other uses secondary. But because you can easily change
it for your specific workflow weakpoints that you identify can be dealt with.

>Actuation force and travel probably matter more for RSI

I am not a doctor, but this matches my experience. I use 12g Low-Profile Kailh
Chocs and noticed a good change in flare-ups as I kept driving it lower and
switching to a non-MX switch.

I was able to get Kailh to manufacture lighter weighted Choc switches (gChoc,
20g Linear) for use on boards like GergoPlex and others. Reviews seem good
across the board on those for people suffering from RSI, so I'll keep at it.

I'd argue that the main factors to be optimized for in decreasing order are:
Split, Stagger, # of keys, layout, Spring weight, Travel distance. But getting
there is a very, very strange time[1]

[1] [https://blog.gboards.ca/2020/01/weird-keyboards-
programmable...](https://blog.gboards.ca/2020/01/weird-keyboards-programmable-
keyboards.html)

[2]
[https://www.gboards.ca/product/gergoplex](https://www.gboards.ca/product/gergoplex)

~~~
codesections
> I was able to get Kailh to manufacture lighter weighted Choc switches
> (gChoc, 20g Linear) for use on boards like GergoPlex and others.

What are your thoughts on linear versus tactile switches as far as preventing
RSI goes?

~~~
SuperPaintMan
I think on the right kind of switch it doesn't matter. The idea with a tactile
bump is to give your fingers feedback to prevent a bottoming out, but on a
lower profile switch that's just not an option (the general consensus is that
tactile chocs are a little bit garbage) and you're probably going to bottom
them out anyway.

My solution to this is to just use O-Rings on Chocs to soften the bottom out.
It's less jarring and gives a bit of mush to a bottom out instead of a hard
hit. To some this is heresy though.

That being said, if you're deadset on the feel of a tactile, it's an option.

------
ZeroGravitas
I agree with most of this, except the vim part. I use vim, dvorak and a
Kinesis Advantage keyboard and have never felt that it held me back. If
anything, I think it encouraged me to use more appropriate controls a
available in vim. If you're moving around in vim one character at a time
you're probably not getting the most out of it.

I did learn dvorak before vim though, I can imagine unlearning and re-learning
to be harder.

~~~
jrib
I agree. Yes, hjkl are no longer a single cluster in Dvorak, but jk are now on
one's left hand for vertical movement and hl are on one's right. So it has
that advantage. Like you pointed out though, you want to avoid overusing those
keys to move around anyway.

I did learn Dvorak after Vim. Yes, it meant there was a second layer of added
pain. I stopped using vim for a couple of weeks altogether, learned Dvorak to
the point where I could touch type again (although more slowly), then went
ahead and retrained the muscle memory for vim.

For anyone not used to using vim, vim users get to the point where they think
"change word" and their mind maps that to top row middle finger, bottom row
middle finger. There's no middle step of "change word" -> "cw". So just
learning the muscle memory for letters isn't sufficient for then using vim as
fast as you could before. At least that's how it was for me.

As someone who also started feeling RSI symptoms in his early 30s, I
definitely recommend learning Dvorak and picking up a split keyboard. I like
the ergodox, personally. The straight columns seem to help too. I think other
alternative layouts and ergonomic keyboard combinations have their merits too.

For anyone else hesitating, observe how frequently your wrists end up in
awkward angles while typing on a regular qwerty layout. That and the pain I
started to feel is what motivated me.

~~~
nandhinianand
I also learnt QWERTY->vim->DVORAK in that order... And yeah i started
experimenting with DVORAK when I was trying to build a habit of journal and
found that it makes quite a bit of difference to typing continuously for say
15 minutes or more. Much less tiring and much less errors.

Currently considering expanding out from vim into vscode or pycharm.... (have
failed and come back to vim multiple times in the past due to muscle memory).

------
rsecora
My two cents on the RSI and fast typing.

I learned typing 40 years ago, in the same way as secretaries do, with a real
mechanical typewriter (an Olivetti one), and following an standard typewriter
course for 2 months. My parents and relatives also used mechanical typewriters
for 20 years before (8 hours a day).

The writer says "CapsLock is useless... remap". I have seen that statement a
lot of times, and I deeply feel it wrong. That means the author hasn't been
properly trained at typing. Maybe he also lacks:

\- The balance of the "space" between the two hands.

\- using the opposite shift for the special chars.

\- using caps for continuous uppercase...

\- numbers had an assigned finger. (Some people overuse only 2 fingers for
them).

\- the hand position and they way the rest/float in the keyboard, needed to
achieve more than 100word/min.

\- forearm and hand alignment.

I have work with people with RSI and almost all of them lack proper training
at typing. So they tend to overuse 2/3 fingers, to only use one side of the
space bar, or only one shift. They don't balance correctly the hands, and some
positions are forced.

~~~
xwdv
Remapping capslock to escape is not wrong if you’re using vim, in fact I would
say it’s practically a requirement.

~~~
rsecora
I've been using vi since 1985 (Xenix vi), and I have never in the need of
remapping caps to ESC.

But I don't press ESC with the little finger, I use the ring finger.

Maybe I use the ring finger because the keyboards of the 80s were too hard.
(and there were no ESC usage in those days typewriter training).

~~~
xwdv
Pressing escape is a very slow movement for something that happens quite
frequently IMO.

------
codesections
The post strongly recommends two different split keyboards to prevent RSI: the
Microsoft Natural Ergonomic 4000 [0] and the Kinesis Advantage [1].

I'm curious how these would compare with the Keyboardio Atreus [2], which I've
been considering for a while. The Atreus isn't tented, but it's also
significantly smaller, which seems like something that might be helpful in
reducing RSI

[0]:[https://www.amazon.com/Microsoft-Natural-Ergonomic-
Keyboard-...](https://www.amazon.com/Microsoft-Natural-Ergonomic-
Keyboard-4000/dp/B000A6PPOK)

[1]: [https://www.amazon.com/Kinesis-Advantage2-Ergonomic-
Keyboard...](https://www.amazon.com/Kinesis-Advantage2-Ergonomic-Keyboard-
KB600/dp/B01KR1C5PY/)

[2]: [https://shop.keyboard.io/products/keyboardio-
atreus](https://shop.keyboard.io/products/keyboardio-atreus)

~~~
rsecora
Keyboardio Atreus only have one shift, one control and a tiny space-key and
return-key.

Some positions that need shift/control in the left hand will be forced.
Keyboards use two shift/control to alleviate the stress. Traditional
typewriters have both for fast typing and a balance of force with both hands.
It's like a dance of fingers, using the shift with the opposite hand to the
key being typed.

On top of that, there is a small "space key", in the right. Being space one of
the most pressed keys,it put too much stress on that. traditional keyboards
have a large space-key to help the hand position and press with the opposite
hand to last key typed.

In an ergonomic keyboard the hand and forearm shall be aligned (that's done),
but the keys shall help.

------
codetrotter
> Personally, I use vim for everything and dvorak ruins the home row of hjkl,
> so I haven’t learned dvorak. If I were to, I’d first learn emacs, use emacs
> for everything, and then learn Dvorak.

I use Vim and Dvorak. At the beginning when I switched to Dvorak it felt
awkward but, there’s actually a deeper reason it don’t matter that much.

Pressing hjkl for anything more than a few presses at a time is generally IME
not desirable.

At the time when I began using Dvorak a decade ago I was still fairly new to
Vim and so I used hjkl a lot.

Over time I learned to use more efficient motion commands, as well as using
both the hjkl and the other motions in combination with numbers. Like say 5k
7w instead of kkkkkllllllllllllllllllllllllllllllllll.

And in fact the slightly awkward placement of hjkl on Dvorak may even have
contributed to me bothering to learn more motion commands and combining them
with numbers.

I’ve even gotten quite good at eyeballing number of characters, words, lines,
etc without explicitly counting them.

------
GrantZvolsky
I've been typing without any signs of RSI until I started using vim. Vim
forced me to switch from my 'custom/natural' hand position* , which uses just
3-4 fingers of the right hand, to the home row position, which uses all five.
This put too much strain on my ring finger which is much weaker than the other
fingers, and that I believe led to RSI. Maybe I'm an outlier with atypical
anatomy, or maybe we should challenge the notion that there is only one
correct hand position.

* Interestingly my peak typing speed is 500 CPM in the 'incorrect' position and 470 CPM in the 'correct' position.

~~~
saurik
I have always used vim and I have a "custom/natural hand position" and am not
at all sure how or why you are feeling the need to use all five fingers... I
find vim extremely effective even on an iPhone pecking with my thumbs.

~~~
GrantZvolsky
That's a good point, it was an overstatement to say I was forced to switch.
The reason I did is because I naturally rest my right hand with my index
finger at the gap between the i/o/9 or o/p/0 keys and the rest of the hand
stretched comfortably, but all the vim tutorials I'd read suggest you should
rest your hand at the home row. If I rest my hand like that, it forces me to
use the touch typing technique that I diligently studied and practised at
school but never found comfortable.

~~~
saurik
Yeah... just ignore those people. I appreciate why they say that, but they
probably say that about typing in general or something. You do you, and vim
will still be your friend at the end of the day.

------
bayindirh
I've used Ergo 4000 for a decade (I still have it), but moved to a
conventional G710+ because it has Cherry MX brown switches.

The problem with Ergo4000 is, its keys wear down over time. It's a very nice
keyboard and tends to teach you touch typing correcty but, the keys become
heavier over much use. I didn't notice it until I've switched to G710+. Cherry
MX Brown switches are really softer and allows me to work with my computer
longer.

I don't have RSI but, My fingers felt tired at the end of a long session. Now
with 710+, it never happens.

------
cosmotic
DVORAK has long been debunked. It was a fraudulent study conducted by the US
navy. The transition into dvorak will slow you; the constant need to setup
your key layout on new computers will slow you, the inability to use other
computers quickly will slow you, the inability for others to use computers
you've setup will be a problem...

[https://reason.com/1996/06/01/typing-
errors/](https://reason.com/1996/06/01/typing-errors/)

~~~
LargoLasskhyfv
That was interesting to read. But does it really apply today? The lost Navy
study was made in even pre-cubicle times. And even as a cubicler maybe bring-
your-own(-typing)-device could apply? Not to mention work-from-home.

~~~
cosmotic
There still hasn't been a study proving dvorak's superiority over qwerty since
then so any claims to its efficiency should be met with serious skepticism.

~~~
LargoLasskhyfv
Err, yes. But isn't dvorak obsoleted meanwhile? There are so many others,
Colemak, Workman, the list goes on and on. Anyways, my point still stands.
Does it matter in a world of working remote, or bring your own device? Why do
people prefer comfortable chairs instead of that molded plastic stuff in
airports, subways, and similar?

------
karmakaze
> Mechanical keys don’t help

I've used QWERTY for decades on whatever keyboard came with each machine. In
the past year I've had fits of 'shooting nerve pains' along the back of my
hands and forearms when I couldn't type for days. Since then, I've switched my
typing style to more of a striking than pressing motion and also using a
mechanical keyboard--no discomfort since.

> Learn Dvorak…unless you use vim

It's weird that vi and command-line have separate motor memories from typing
words. I'm still trying to relearn them.

I also did go down that rabbit-hole of custom layouts, starting with a naive
'lets just shuffle a few keys' to a custom alternative to Colemak/Soul/Niro
that I independently/incrementally arrived at.

If I were restarting from the beginning I would suggest MTGAP, it seems the
most efficient. And I highly recommend Stevep99's keyboard layout analyzer[0].

In case anyone's curious, the layout I ended up using is Qwicker (aka KFLY)[1]

[0] [https://stevep99.github.io/keyboard-layout-
analyzer/#/config](https://stevep99.github.io/keyboard-layout-
analyzer/#/config)

[1] [https://github.com/qwickly-org/Qwicker](https://github.com/qwickly-
org/Qwicker)

------
Offpics
Recently I've realized I cramp my hands during the sleep. Now I sleep on the
side with flat joined hands near my head and it greatly reduced my pain. Also
5 minute walk after 25/30 minutes is a blessing also, great for the whole body
and also the mind. It's hard to take a break when you are in the zone but it's
worth it in the long term.

------
blumomo
Thanks for this article. It made me buying a Kinesis Advantage. Since long I
wanted to “get rid” of my notebook‘s touchpad and start using HJKL and all the
other navigational commands in vim (instead of 2-finger scrolling on my
touchpad). With that ergonomic keyboard, I will have no other choice. Looking
forward to relearning my typing habits!

~~~
atemerev
Didn’t work for me, sold it after two months.

~~~
blumomo
What OS did you use it with? What didn’t work for you?

~~~
atemerev
Ubuntu. My typing/coding speed was still slower after one month, and it felt
unnatural. I guess I just have adapted too much to regular keyboards.

~~~
blumomo
Thanks for sharing your experience. I’m really willing to relearn typing as I
got too much used to the (awesome) touchpads of macbooks.

------
mherrmann
I would recommend QFMLWY over Dvorak. It has even lower typing effort [1]. It
and the MS Natural Ergonomic keyboard greatly reduced my wrist pain.

1:
[http://mkweb.bcgsc.ca/carpalx/?full_optimization](http://mkweb.bcgsc.ca/carpalx/?full_optimization)

------
Reefersleep
I bought an Ergodox EZ because I wanted to try out the wonderful mechanical
keyboard feedback that many blog posts talk about. The tactile feedback in
particular; as I didn't want to bother my colleagues, I bought Blue Zilents
from Zeal PC [1], which were a nice upgrade from the Cherry Browns - silent,
regular, good tactility.

I never really got what I was looking for. While the keyboard "felt nice", the
extra travel seemed excessive when compared to the standard Mac keyboard (2015
model), and the tactility didn't really improve my typing. Rather, due to the
ortholinear layout of the Ergodox, and the keyboard not having room for the
Danish characters (æÆ, øØ and åÅ) which I use every day, I spent a lot of time
configuring first the keyboard layout, then my brain to fit it. And in spite
of the silent switch choice, I could never be as ninjaish as on my Mac
keyboard.

The final straw, however, was when I read a blog post that confirmed my
general feeling about the sluggishness of the keyboard; the software that the
keyboard runs internally means another hurdle in the signal path from my
button press to the computer reacting, and a huge one when compared with other
keyboards. Regardless of how much I practiced, the keyboard would _never_ feel
as fast or responsive as I'd like it to, and consequently, my efforts into
improving my typing would probably proceed at a poorer rate than it could
have.

I reverted to the Mac keyboard, and I'm happy!

This isn't intended as an Ergodox bashing. Personally, I learned from the
experience that a) Mechanical keyboards are not for me, and b) The Ergodox
certainly isn't for me. And, possibly, that c) The butterfly mechanism of the
2015 Macbook Pro is actually a perfect fit for me. But I also learned a more
general lesson, which is d) To keep critically pursuing alternative
interfaces, _especially_ when I'm experiencing fatigue or pain, and e) That
regardless of the interface, repetition can be hurtful. In my future home
office, I hope to have more than one pointing device and more than one
keyboard, so that I can switch it up once a while - use an vertical mouse
rather than a horizontal one, or switch to a touchpad or Wacom when I feel
like it. And the same for the keyboard; changing the angle of the board
(angles in the case of a physically split board), strapping keyboards to my
thighs, using keyboard with different switch mechanisms and key layouts. And,
of course, getting away from the keyboard, stretching, and looking into the
distance :)

Take care of yourselves, fellow keyboard warriors!

[1] [https://zealpc.net/products/zilents](https://zealpc.net/products/zilents)

~~~
YorickPeterse
I've been using an Ergodox for about a year now, but never noticed any latency
issues of any kind. This is just using standard Cherry MX brown switches.
Perhaps the issue was something else?

At the end of the day I think it's a matter of taste/preference. Some like
mechanical keyboards (i.e. me), others don't. That's fine, just pick whatever
works for you :)

~~~
Reefersleep
I didn't do any testing to figure out where the latency came from, but the
article was pretty thorough in documenting the palpable difference between
Ergodox and e.g. the Apple Magic keyboard. I managed to dig it up for you:
[https://danluu.com/keyboard-latency/](https://danluu.com/keyboard-latency/)

Come to think of it, I might have incurred some latency myself with the
particular layout I'd brewed; some keys had dual meanings depending on whether
I held them down or not. That was a patch on the problem I had with the
physical Ergodox layout lacking my Danish characters, though, so even if I'm
partly to blame myself for the latency, that wouldn't have made a great
difference in my overall assessment.

I agree fully; pick whatever suits you. I kind of still want a mechanical
keyboard that has extreme amounts of click and clack, just because it feels so
nice to type with. I just don't know which model I'd pick, and it'd be pretty
expensive for something I'd only use occasionally.

~~~
YorickPeterse
> [https://danluu.com/keyboard-latency/](https://danluu.com/keyboard-latency/)

I'm surprised the HHKB2 scores better than the Ergodox. I used one for years
but found it to type more sluggish. I suspect this is due to Topre switches
requiring a bit more force to push down.

> Come to think of it, I might have incurred some latency myself with the
> particular layout I'd brewed

Oh yeah, the dual-function keys are horrible latency wise. I tried various
ways of reducing this, but you end up having to choose between high latency or
low latency but keys not registering. I ended up not using dual-function keys
because of this. This is a bummer, because the concept is great.

The Ergodox/QMK does let you tweak the USB polling rate, but I haven't really
taken a good look at this yet.

> I kind of still want a mechanical keyboard that has extreme amounts of click
> and clack, just because it feels so nice to type with. I just don't know
> which model I'd pick, and it'd be pretty expensive for something I'd only
> use occasionally.

Personally I'd love to see something like the Ergodox, but a bit more compact
(e.g. no thumb cluster), and half the height. Height especially is something
that seems overlooked with mechanical keyboards. This is a shame, as I suspect
it's easier to keep your hands/arms at the right angle with a flatter
keyboard.

~~~
fomine3
The HHKB2 in the article is Lite2 that's cheap edition and doesn't have Topre
switches but basic membrane switches.

> A major source of latency is key travel time. It’s not a coincidence that
> the quickest keyboard measured also has the shortest key travel distance by
> a large margin.

So this article's measurement highly depending on key switches. So it should
use gaming keyboard that uses shallower actuation point key switches. I also
want to see how variable actuation point keyboard works. (like Topre's
Realforce APC)

------
DavidVoid
It honestly surprises me that the evolution of ergonomic keyboards has been so
slow. Sure, we have plenty of split keyboards now, but we don't have any
commercially available DataHand-like designs [1]. Watch someone type with a
DataHand you'll see that they barely need to move their fingers at all [2]!

The best similarly ergonomic designs we have at the moment are a gaming keypad
[3] and some DYI projects [4].

[1]
[https://en.wikipedia.org/wiki/DataHand](https://en.wikipedia.org/wiki/DataHand)

[2]
[https://www.youtube.com/watch?v=IrRWTeJ0-Ow](https://www.youtube.com/watch?v=IrRWTeJ0-Ow)

[3] [https://www.azeron.eu/](https://www.azeron.eu/)

[4]
[https://github.com/JesusFreke/lalboard](https://github.com/JesusFreke/lalboard)
see also
[https://geekhack.org/index.php?topic=41422.800](https://geekhack.org/index.php?topic=41422.800)

\----

On another note, does anybody know how good steno keyboards tend to be for RSI
issues in the long run?

I've practiced some steno with a regular keyboard (thanks to plover [5] and
Typey Type [6]), but I'd need an actual steno keyboard to continue since I
don't have N-key rollover on my current keyboard.

The Georgi [7] seems like a good option and I'd imagine that it would be
pretty good for ergonomics since it's a split design and also rather small.
The only problem is that I'd have to learn steno which will likely take quite
some time.

Here's a demo of someone writing code with a steno keyboard (54 keystrokes
needed vs 143 if you were using QWERTY) [8].

[5]
[http://www.openstenoproject.org/plover/](http://www.openstenoproject.org/plover/)

[6] [https://didoesdigital.com/typey-type/](https://didoesdigital.com/typey-
type/)

[7]
[https://www.gboards.ca/product/georgi](https://www.gboards.ca/product/georgi)

[8] [https://youtu.be/Wpv-Qb-dB6g?t=380](https://youtu.be/Wpv-Qb-dB6g?t=380)

~~~
LargoLasskhyfv
Oh! Azeron... at first sight I thought gamer crap, but after exploring a
little I thought _WOW_!

 _Very_ interesting. Now it only lacks integration of something like the
Spacemouse from 3dconnexion.

------
tzs
> The Microsoft Natural Ergonomic 4000 has a built in stand for negative tilt.
> The kinesis advantage2, however, does not. I solved this by going to a
> nearby plastics shop and had them build a custom stand for me which worked
> well.

What's it typically cost to have a custom plastic stand made?

I would have just taped a couple of dead AAA or AA batteries to the bottom, or
went to an office supply store or Walmart and got something like these and
stuck them to the bottom [1].

[1] [https://www.amazon.com/Self-Stick-Noise-Dampening-
Bumpers-12...](https://www.amazon.com/Self-Stick-Noise-Dampening-
Bumpers-12-pieces/dp/B001WAK6DS/)

------
ubercow13
I use a weird layout and vim everywhere. I have a remapping I have to apply in
every software I use vim keys in so that the home row is reverted. Overall
it’s doable but not really worth it, but now I’m stuck.

------
melling
“ Almost every serious programmer I interviewed painfully developed RSI in
their 20s. I didn’t even know until I asked them! Me? I was 24 when it struck.
No warning. Just pain. ”

------
shpx
> Learn Dvorak…unless you use vim

I’ve been using vim with Dvorak for close to a decade now and it’s completely
fine. J and K are where C and V are on QWERTY and it works great, I’ve even
heard people say they like it more than where they’re supposed to be.

H is one to the left of where it is on QWERTY, but L is in the far top left,
it’s my least favorite letter to type. It doesn’t matter much though, because
you rarely use H and L, it’s usually W and B or 0.

------
g5becks
I’m left handed and I use a [https://blog.splitkb.com/blog/introducing-the-
kyria](https://blog.splitkb.com/blog/introducing-the-kyria) keyboard with
[https://workmanlayout.org/](https://workmanlayout.org/) , it’s helped me
tremendously.

------
atemerev
I am usually quite saddened each time when I see the common “moving hands =
RSI” conclusion. It is not like that. RSI mostly happens when you move your
_wrists_ while trying to keep your hand in place. When I type, I move my arms
and my wrists together, to prevent straining and unnatural angles. Worked so
far (I am 37, and I code every day since 19).

~~~
xwdv
I tend to agree. This seems like it would be an obvious thing but a lot of
programmers never grok it early enough in their careers. A few posters around
computer science labs in universities could save a generation from RSI.

------
haasted
Recently got an X-Bows keyboard [1] which bills itself as a keyboard with
"Natural Ergonomics For Better Typing". Haven't had a chance to put it through
its paces yet, though.

[1] [https://x-bows.com/](https://x-bows.com/)

------
copperx
Something that people forget often is that they can use speech recognition to
give their hands a break. Especially if they write a lot of prose, such as
email or documentation.

------
meigetsu
Any thoughts on the ultimate hacking keyboard as an option?

[https://ultimatehackingkeyboard.com/](https://ultimatehackingkeyboard.com/)

~~~
speedgoose
380€ for a keyboard.

~~~
DavidVoid
Considering it's something you use for many hours every single day I'd say the
price isn't too exorbitant.

------
japanoise
Switching to dvorak definitely helped me. I did as the author suggests,
learned dvorak and switched to Emacs. Ever since, I've never struggled with
RSI

------
mping
Anedoct: me and all my guitaris programmer friend never had issues with RSI.
Wonder if it is a coincidence

