11 ms·
Fast Typing: Keyboard Layouts
- melling 6y ago“ 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. ”
- japanoise 6y agoSwitching 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
- blumomo 6y agoThanks 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 6y agoDidn’t work for me, sold it after two months.
- blumomo 6y agoWhat OS did you use it with? What didn’t work for you?
- atemerev 6y agoUbuntu. 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 6y agoThanks for sharing your experience. I’m really willing to relearn typing as I got too much used to the (awesome) touchpads of macbooks.
- codesections 6y agoThe 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-4000/dp/B000A6PPOK https://www.amazon.com/Microsoft-Natural-Ergonomic-Keyboard-... [1]: https://www.amazon.com/Kinesis-Advantage2-Ergonomic-Keyboard-KB600/dp/B01KR1C5PY/ https://www.amazon.com/Kinesis-Advantage2-Ergonomic-Keyboard... [2]: https://shop.keyboard.io/products/keyboardio-atreus https://shop.keyboard.io/products/keyboardio-atreus
- bnolsen 6y agouse a real split like a lily58 or kyria. Physically splitting the boards lessens the need for tenting and absolutely helps with posture issues.
- rsecora 6y agoKeyboardio 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.
- germ 6y agoIf 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-keyboards.html https://blog.gboards.ca/2020/01/weird-keyboards-programmable... [2] https://www.gboards.ca/product/gergoplex https://www.gboards.ca/product/gergoplex
- codesections 6y ago> 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 6y agoI 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.
- ubercow13 6y agoI 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.
- pastrami_panda 6y agoProgrammers, 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
- ZeroGravitas 6y agoI 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.
- thomasahle 6y agoI would assume you Jay remapped your vim keys. Or that standard such remaps were already available for dvorak.
- nandhinianand 6y agoI didn't .. and yeah the OP is right about the jhkl keys getting broken up, but I don't use them as much to move around as either wordwise movement or line wise movements in vim. I don't have to more than say 3/4 character wise movements. But then I'm a pythonista, and not a regular programmer role anyways.(more closer to data science /BA roles)... So yeah, that plays a part ..
- sergeykish 6y agoI've switched to vim and dvorak simultaneously, feels natural. Browser shortcuts was a bit of a pain, never adopted new places for Ctrl+C, Ctrl+V — use Ctrl+Insert, Shift+Insert — not much of a problem with X PRIMARY selection. No one is going to type on my setup so I've also switched Ctrl and Alt $ cat .Xmodmap clear control clear mod1 keycode 37 = Alt_L Meta_L keycode 105 = Alt_R Meta_R keycode 64 = Control_L keycode 108 = Control_R add control = Control_L Control_R add mod1 = Alt_L Meta_L $ cat .xinitrc xmodmap .Xmodmap setxkbmap dvorak,ru -option grp:caps_toggle ... (and mapped Caps Lock to switch languages)
- jrib 6y agoI 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.
- GrantZvolsky 6y agoI'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.
- atemerev 6y agoIn my observations, this is quite common. Most people who complained about RSI in my environment were heavy vim or emacs users.
- NateEag 6y agoWhen I switched to vim keybindings, my RSI got noticeably better. People are different, and there are few general rules in ergonomics.
- saurik 6y agoI 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 6y agoThat'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.
- g5becks 6y agoI’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 6y agoI 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 6y agoI 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.
- codetrotter 6y ago> 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.
- bayindirh 6y agoI'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.
- rsecora 6y agoMy 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.
- daveFNbuck 6y agoWhat makes remapping capslock wrong? Does proper typing training make it easy to reach the escape key?
- rsecora 6y agoI don't say there is a silver bullet. But there is tendency on people not trained in typewriting to have RSI. And the capslock remapping is a clue of people not being trained. Maybe the training forces to have the right siting position or to remove bad positions, or the memory muscle needed to achieve more than 100 words/min, or the hand not overusing 2/3 fingers. Or the hand position... Or maybe its everything. For me it's like heavy lifting, they way you push/pull the weights, minimize the injuries.
- daveFNbuck 6y agoHow does capslock remapping have anything to do with proper training? I remapped capslock because it had been years since I pressed it intentionally, but I use escape all the time. Does remapping capslock mean I worked too hard to type this comment?
- Reefersleep 6y agoI 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 6y agoI'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 :)
- meigetsu 6y agoAny thoughts on the ultimate hacking keyboard as an option? https://ultimatehackingkeyboard.com/ https://ultimatehackingkeyboard.com/
- speedgoose 6y ago380€ for a keyboard.
- DavidVoid 6y agoConsidering it's something you use for many hours every single day I'd say the price isn't too exorbitant.
- deleted 6y ago[deleted]
- Symbiote 6y agoIt doesn't have a function key row, which is annoying when you just want to press F5 10 times, or Ctrl+Shift+F10. It also doesn't have separate arrow keys etc. Being able to join it together isn't very useful -- if you can type on a split keyboard, why would you want to join it together? But, it's a decent option that you can simply buy. Many of the better options are sold as DIY kits, or at least require editing a text file and re-flashing the keyboard to change the layout. There are reviews of some other keyboards here: http://xahlee.info/kbd/ergonomic_keyboards_index.html http://xahlee.info/kbd/ergonomic_keyboards_index.html (and the DIY options under 'DIY').
- Offpics 6y agoRecently 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.
- haasted 6y agoRecently 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/
- shpx 6y ago> 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.
- mherrmann 6y agoI 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
- copperx 6y agoSomething 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.
- DavidVoid 6y agoIt 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 6y agoOh! 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.
- JesusFreke 6y agoI also recently posted a typing video on the lalboard: https://www.youtube.com/watch?v=oMhOIgrdeE0 https://www.youtube.com/watch?v=oMhOIgrdeE0
- tzs 6y ago> 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-pieces/dp/B001WAK6DS/ https://www.amazon.com/Self-Stick-Noise-Dampening-Bumpers-12...
- cosmotic 6y agoDVORAK 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 6y agoThat 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 6y agoThere 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 6y agoErr, 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?
- Symbiote 6y agoThat article is either crap (e.g. rubbished Dvorak to make some anti-government point), or irrelevant. It's irrelevant since we were discussing typing _comfort_ (RSI etc), and it's difficult to find someone familiar with both Qwerty and Dvorak who will not argue that Dvorak is more comfortable to use.
- mping 6y agoAnedoct: me and all my guitaris programmer friend never had issues with RSI. Wonder if it is a coincidence
- karmakaze 6y ago> 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