Here is a link to my keyboard layout which you can freely use. It is optimised for Vim and Ubuntu use.
Here is a link to my keyboard layout which you can freely use. It is optimised for Vim and Ubuntu use.
Why? You'll never even double the "throughput" of that "channel", let alone improve it by an order of magnitude.
And I say this as someone who wasted lots of time and money attempting exactly that before I realized that typing is not what I spend most of my time doing while programming.
I've heard the refrain "you don't spend most of your time typing when programming" so many times it's almost become a trope. I personally spend enough time typing during a typical day (working or otherwise) that I really appreciate the benefits of a highly optimised keyboard setup, although of course YMMV. I don't think the argument holds water.
Better tactile feedback and more reliable input means I don't have to constantly multitask half a task worth of attention onto making sure the input I think I'm doing went off as intended, which makes it easier to concentrate on the main task, which reduces the build up of fatigue, which reduces the rate at which the cost of mental effort increases throughout the day.
Which is not to mention things like the chance of getting hand cramps from the additional tension there caused by interacting with a less reliable keyboard, and by the tendency to use excess input force in attempt to get strokes through more consistently.
So if you are typing a lot, I would recommend getting an ergo before you start having issues.
For reference I could type about a paragraph in one go on a regular keyboard, now I can type an entire page before I start having pains/cramps.
What has always stayed with me was her guidance on posture and form. The 'piano style'* on which she insisted is almost completely contrary to modern ergonomic teachings, and yet I can say almost 40-years later; still works and is effective.
I readily admit that I'm probably lucky too in that I don't follow that guidance to the T, I do however follow the basic form of it. This anecdote simply agrees with your statement.
*: 'piano style' wrists higher then knuckles, finger-tips hovering/barely touching home-row, back straight
What? That seems to be exactly the current advice.
http://ergonomictrends.com/proper-ergonomic-typing-posture-a...
http://ergo.human.cornell.edu/ahtutorials/typingposture.html
(First two hits from a Google search.)
I tested using by high end gaming mechanical keyboard at work and my error rate went down a lot
Personally: I spend ALL DAY typing. Configurations, code, documentation, tutorials, arguments for doing things one way or another, user stories for work, chatting with my coworkers, running cli commands.
I see a huge difference in my productivity between myself and my peers partly due to my faster text input and editing skills.
Yeah. Yet, when you switch to a completely different (and maybe not very comfortable) keyboard layout and get slowed down to 50% of your usual speed and make a lot more typos, it just immediately shows how incredibly frustrating coding can get even if typing isn't the primary challenge in it.
Input should flow effortlessly and comfortably. That just makes it easier to focus on the more important stuff.
Then, I put the keyboards there, adjust the desk up to that height, and put books under the monitor until the center is exactly level with my eyes. Trackball to the right.
This is dramatically more comfortable than anything else I could be doing. It's hard to convey how uncomfortable a straight keyboard is to someone who hasn't tried the alternative.
Ergodox EZ may puzzle people with its layout, but the split island part alone has made computing comfortable for me, especially when combined with a sit/stand desk. There's a lot less physical strain to wrestle with, which a bigger difference as time goes on.
I've tried split keyboards. They feel unnatural. I feel like I type better/faster when my hands are closer together.
The single greatest thing I've ever done to completely cure RSI pain while typing is eliminating "wrist yaw" - i.e., maintaining a mostly straight line from my elbow to my knuckles. The bonus is that I can type comfortably on any keyboard.
ymmv, obvs.
I defined custom layers so that I can toggle a layer on depending on whether I'm using the keyboard with Chrome OS or Ubuntu Linux. This allows me to use the same shortcuts between the two OSes, while they are otherwise not customizable on Chrome OS. Also, it allows me to use media keys for Chrome OS on a split/ergo keyboard.
Plus as a Vim user, I'm able to use HJKL arrow keys in any app on either OS.
My layout is here:
https://configure.ergodox-ez.com/ergodox-ez/layouts/3vzB7/GZ...
This is how I feel about the Qwerty keyboard layout.
Maybe it's not about throughput so much as eliminating unnecessary mental workload and friction.
Two, it’s not just about speed. Some small changes here led to much less physical pain.
On the other hand it can be very rewarding to choose something relatively unique for one's keyboard, or even make their own. The keyboard is kind of "intimate". It makes sense to make it yours. Not everything has to be utilitarian.
I guess my question is -- did everyone else switching to the Ergodox EZ have this problem? And should I just push myself to suffer through it more? Or is it the case that I should revisit my layout (again) to figure out if there's a way to further optimise it so it feels less foreign? One of the really frustrating things is that there isn't a natural place to put fairly common programming key combinations such as "()", "{}", "=+", or "-_" -- does everyone else just use layer toggles for that?
EDIT: Ah, I see your layout makes fairly significant use layer toggles. And you also had trouble with "on-boarding" for the first few weeks -- I guess I just need to force myself to use it then. I might take yours and modify it to add some of the tmux and i3 macros I have defined.
1. Only switching to layers when pressing and holding keys, not having them permanently toggle - otherwise, I find it's very easy to get disoriented and mistake what layer you're on.
2. Not using any common keys as toggles, since the sight delay was driving me insane
3. Probably the biggest one - instead of trying to learn/adjust to the layout you have (especially the default, which I found to have a lot of questionable key placements), whenever you press a key and something other that what you expected to happen happens, adjust your layout to make your original intuition work. This involved a lot of frequent small layout changes initially but I think led to a much less intense learning curve.
Anyway, best of luck - here's the layout I use now, if you're interested: https://configure.ergodox-ez.com/layouts/Jrnz/latest/0
As you can see from the table on my GitHub page, progress was slow and took several weeks to reach baseline levels. This was from maybe 45-60mins per day of dedicated practice. I see the time investment as having paid for itself tenfold already.
When typing what I saw before me, my brain could dedicate 100% to typing, and this was fine. But when programming, or even writing an email, part of my brain must concentrate on the content, and my typing what very laborious, maybe half of the normal speed, with many errors. This was taxing much of my mental energy. I kept on for a at least one month of typing practice before really making a permanent switch. It was hard, but I do not regret it at all.
Worth noting: I thinkered with the layout quite a bit. Even moving one special character somewhere else could take me a full day to adjust, and it was painful. So I finally settled on a good, but probably not optimal layout.
As some other comment above, I do not use common keys as layer keys (something I really wanted to use) because of delays. It is not much, but I experienced much more typing errors with this.
I used to get a lot of back pain, which I realize now was from scrunching my shoulders together to keep my wrists in typing position for X hours per day. The fact that it’s a quality mechanical keyboard (the quietest switches, brown I think, are just fine for an office) is an extra bonus. I’d recommend giving it a try for anybody considering it. It’s a good in-between, being an ergonomic keyboard that isn’t particularly “funky”, in terms of layout.
https://keeb.io/collections/keyboard-pcbs/products/quefrency...
Thanks for this. I'm getting closer to what I'm looking for.
I'm comfortable designing and assembling PCBs but don't really have time to debug a brand-new design, so I've ordered a low-profile Lily58 kit. The Lily58 is most of what I want and has open source PCB, schematic and case. If it doesn't work for me, I'm expecting to modify it to something more like Quefrency.
I use a modified version of the default symbol layer that's more programmer friendly (I think) and I put the toggle for this layer under my right index finger. I feel like I'm more accurate now because it's not just my right pinky doing all the symbol work.
https://configure.ergodox-ez.com/ergodox-ez/layouts/aN90b/la...
Following is my mapping. https://configure.ergodox-ez.com/ergodox-ez/layouts/zLQW4/la...
The one hitch I hit early on, is that it turns out I type 'y' with the left finger on laptops, and on a stock ErgoDox, that involves hitting a layer button, which of course throws off one's rhythm. I had to turn that key into a dead key until I got used to typing y with my right finger (I still hit it with the left on a laptop).
I like the ultimate hacking keyboard better.
Then I tried the ultimate hacking keyboard and I absolutely love it, especially the mouse emulation layer. And it took me way less to get used to it compared to the above two. I can't recommend it enough!
1. Ergodox EZ Split Island Keyboard
2. Dvorak keyboard layout
3. Taking a Rust programming job
Now I look forward to Mondays.Also, if by any chance you feel like sharing details about how, and in which order you made these transitions; things you wish you knew before trying... please don't hesitate :)
The worst part was having to relearn keyboard shortcuts, so I don't know if I'd recommend it to an emacs or vim user.
Would it be sensible to make such a 'dramatic' layout change at the same time as the switch to a split ortholinear such as the EZ? It seems more straightforward to do it all at once, but also taking quite the tall order at once — ortho + colemak + strict touch typing.
If you already type e.g. T with the wrong hand, then it's annoying to start typing it with the correct hand (because it's on the other side of the split), then learn a new location with a new layout.
(Do also consider Dvorak. The difference is not really worth an argument, but at least with a programmable mechanical keyboard one of the main advantages -- that Control Z/X/C/V remain in place -- can be kept with Dvorak with a small adjustment to the layout. I've never tried Colemak, but I do like the hand alternation design of Dvorak, and I think I would miss it.)
I'll definitely make all changes at once, then. I'll experiment with both Dvorak and Colemak for the letter keys.
Shorcuts are not much of a problem for me, extensive MMO raid gaming in my teen-20's made sure of that.
I miss AutoHotKey (AHK, windows program) very much, haven't found anything to remap keyboard inputs so extensively and granularly on Linux. KDE helps a lot, but nowhere near enough for my taste. I'm very excited for the EZ Oryx firmware tool in that regard, as it may replace AHK (and whatever it can't do yet, I can probably program, which is sweet).
If I were doing it again I would go for the split keyboard from the start.
The one thing I wonder about as a colemak user is should I have opted for a fully optimised layout instead? Having the common keys stay the same as qwerty was convenient while learning colemak but really isn’t necessary after a few weeks. I don’t regret choosing colemak though because it’s got good OS support (cones built in with Linux and OSX) while the fully optimised layouts typically have to be manually installed. I’ve been a happy colemak user for about 8 years now and couldn’t imagine still using qwerty.
Used to map navigation to AltGr+u/n/e/i (for up down left right), so qwerty i/k/j/l which was a suoer comfortable way for me to navigate (left thumb on AltGr and then wasd style cursors) but since I got the kinesis keyboard, I haven’t bothered. I do still use windows key + unei for navigating in i3
Moving the cursor Forward, Backward, Previous line, Next line is Ctrl+F/B/P/N, which doesn't involve learning anything new when changing layouts. "Paste" is actually "yank", so that's Ctrl+Y.
Why? I find the thumb clusters way better, I feel like they're just a bit too far away on the ergodox keyboards. That, and the shape of the keys and the curve of the stagger are better IMO.
The downside is you can't use any keycaps because they're unique to this keyboard.
But I'm not planning to switch because it will make me unlearn all the traditional keyboards for me. In particular, I will have trouble touch-typing on a laptop keyboard after that, and there are zero options for an Ergodox-like layout on a commercially available laptop. So, no way to work on a train or a plane.
I wish some laptop maker were so brave as to offer a split and angled keyboard as an option on a laptop with decent internals, though.
https://www.aliexpress.com/item/32957791164.html https://www.aliexpress.com/item/32961243162.html
The keys are not profiled (they are all the same shape, rather than having different heights for each row), so except for the F and J (which have homing dips) they are interchangeable.
Alternatively, there are the geeky custom sets, like https://candykeys.com/group-buys/kat-milkshake , which sometimes support Ergo/Orth layouts. They can be less flexible (if they keycaps are profiled), and they will be considerably more expensive.
The Ergodox is not perfect, though. I think it has too many thumb keys (blindly copying Kinesis); they take up space but you can't really take advantage of them. Going from a staggered layout to ortholinear was quite the struggle for me. I endured and "got it", but I know a lot of people aren't going to have the patience.
Ultimately I like this article because it shows that hand-wired keyboards are quite practical. The author went overboard making it look nice, but you can build yourself a very nice keyboard with an Arduino, some switches, diodes, and wire, and a 3D printer. It won't look as nice, but you can get every single detail perfect.
Most of us here on HN spend so much of our lives typing that we really should invest in good tools, especially for comfort. I rely on my hands so much that I feel like spending $300 to protect them from RSI and to improve typing comfort and accuracy is a no brainier. I think anybody who types a lot should get an ergonomic split keyboard with mechanical switches (and learn to not bottom the keys out). Your hands will thank you. A once off cost of $300ish is really not that much compared to discomfort or injury.
* Bed
* Office chair
* Keyboard and mouse
* Monitors
* Footwear
* Cooking basics like a couple of knives and a pan or two.
Perhaps this can explain it better than I will ever be able: https://wiki.lspace.org/mediawiki/Sam_Vimes_Theory_of_Econom...
"At the time of Men at Arms, Samuel Vimes earned thirty-eight dollars a month as a Captain of the Watch, plus allowances. A really good pair of leather boots, the sort that would last years and years, cost fifty dollars. This was beyond his pocket and the most he could hope for was an affordable pair of boots costing ten dollars, which might with luck last a year or so before he would need to resort to makeshift cardboard insoles so as to prolong the moment of shelling out another ten dollars.
Therefore over a period of ten years, he might have paid out a hundred dollars on boots, twice as much as the man who could afford fifty dollars up front ten years before. And he would still have wet feet."
Perhaps a modernized/realistic version would be "you can spend $200 on pizza ten times in a year, or you can spend the same on a couple of knives and second-hand stainless steel pans. At the end of the year, you may have some excess body fat depending on activity level, or some good useful cookware" (or something, I dunno, I'm never going to be as smart or eloquent as Terry Pratchett GNU)
Unfortunately my life isn't stable enough to invest in something that I can't carry with me when I have to move. It's luxuries like these that I've often had to go without entirely (having a chair and desk is so nice compared to using a laptop on a mat on the floor). If immigration were easier, I'd have already settled down, but instead it's been 8 years and counting living like this. I really hope my pending resident visa application comes through this time, so I can start investing in things like those.
I'm not sure if there's a common mechanism by which things like that come to be. Possibly that they are designed for customers who are buying in bulk for use by other people (cubicle drones, PBI, buyers of assembled bikes), and who have a vested interest in reliability.
"spend money on things that go between you and the ground" aka tires, beds, chairs, footwear, cushions, etc.
This is just based on my top of the head ‘when does the cost exceed the cost of labor and materials’ estimate.
except it isn't a great keyboard when compared with standard keyboards, and its value proposition is absurd when taken into account that standard keyboards cost around 10€ and ergonomic keyboards by reference brands such as Microsoft go for about 50€.
One can easily spend more in coffee over a few months than it costs to buy one of these somewhat better keyboards.
It's an easy sell when the doctor says "you need this to avoid time off work" or similar. More developers should take a preventative approach and invest in ergonomic hardware.
(I'm pretty sure my desk is about $500, and the chair probably similar.)
My chair at home actually only cost $500 because it was the store's house brand, but it happened to be the most comfortable. If it weren't for that, I'd have bought an Aeron. A name-brand office chair lists for $1000-$1500, but avoiding a sick day or three due to back pain makes one very +EV, very quickly.
Mine is still going strong after more than a decade.
Also, these 300 eur laptops are not something I'd consider for everyday work. Way underspecced for a lot of stuff, and generally miserable to work with or carry around.
It's an expensive experiment, especially considering the vast variety of different styles, layouts, pressure sensitivity, etc, etc.
After that for about another decade, I bought a new keyboard each year, often anywhere from $20-50, and it was always disappointing... I'd put up with it for the better part of a year and move on. I'd tried several of the more popular mechanical keyboards, never quite the same.
I then found Unicomp was still making them... though not exactly the same, still really nice imho. I use one of the 103 key models at home. I've since switch to a cherry mx brown das keyboard at work to spare my coworkers the noise. In the end, the $120 or so I spent for a keyboard that's lasted me years is far better than one I've swapped out at least once a year.
I'd probably consider it if I had any signs of RSA or actually liked split keyboards at all. Ironically, moving to a mechanical keyboard with a tactile feel, the RSA symptoms I did have have since gone away. I've still tried several other KBs and styles since then, my only suggestion is stay away from mechanical keyboards under around $80 as they're often knockoff switches that are not as good and don't feel the same.
The Type M is the original IBM PC keyboard even better than the type F AT keyboards.
It's great, and what's not to love if you're a POSIX guy? The Ctrl and Caps Lock keys are swapped, so the Ctrl key is on the home row like God intended. It has buckling spring, positive keyclick action and it's so good if you do a lot of keyboard input or use Vim and/or Emacs. The bottom plate is steel and it's heavy, it won't slide around on my desk.
Sure, for custom mechanical keyboard snobs, the keycaps aren't anything to write home about because sometimes the key characters aren't properly centered on the key surface. But my keycaps look OK, maybe I just happened to get a good one. And it doesn't bother me anyway because I never look at the keys when typing.
https://www.hagstromelectronics.com/ke-xtusb-keyboard-encode...
I have built my bed frame from soda cans and wooden slats I found on the street
€60-80 buys a mass-produced ergonomic design, like the Microsoft Ergonomic. These aren't adjustable or programmable, but it's easily a worthwhile improvement.
(Personally, I bought a mechanical keyboard because I don't like the low-travel laptop-style keys that are now standard on the MS Ergonomic and other similar "cheap" ergonomic keyboards.)
€100-150 buys a mass-produced, adjustable, reprogrammable (to some extent) keyboard, like a Kinesis Freestyle. This will help people with wrist issues, and will seem an obvious improvement to anyone who has a Microsoft Ergonomic. It also comes with mechanical keyswitches, which give more options in typing pressure.
€300 buys a sculpted ergonomic keyboard, like the Kinesis Advantage2. I've never used them, but people who have had wrist problems seem to swear by them. They look comfortable to use, if you know how to touch-type in the standard way.
Within this whole range are DIY and small-scale ergonomic keyboards. The price varies a lot depending whether it's self-assembled, self-printed/cut, etc (this obviously makes no difference to the effectiveness of the keyboard), the type of key switches chosen (this makes some difference, but will eventually lead to the kind of discussions one hears about 99.999999999% copper speaker cables where people are spending €2+ per switch) and the key caps (which is 99% appearance).
All of them are fully programmable, and there's potentially a lot of customization possible for tilting, positioning and so on.
The key switches and key caps are independent from whether the keyboard is ergonomic or not, so you can also spend €300+ on an extremely un-ergonomic keyboard with just 50 keys, a milled aluminium case, 8° tilt, no feet, €2 switches and incorrect Japanese key legends with colours taken from a manga. This should be considered art rather than a useful tool.
Adding the €150 Japanese key caps to a €120 kit-built ergonomic keyboard doesn't make it worse, but mine looks good enough with the plain €15 key caps.
My current favorite keyboard is about $150, and I would happily pay more because it's a good tool and when things are groovy I hardly notice it's there. I have a couple spares in a closet, because I don't want to spend time retraining.
(also, y'know - hand made products)
More likely is that Ergodox EZ outsources the PCBs, cases, metal parts, etc. and just do the final assembly themselves. (The keyswitches are socketed, for example, so you just pop those in, put the keycaps on, flash the latest firmware, maybe run a quick test, and ship it out.)
The line can be really blurry these days. Take a tour of the Prusa factory: https://www.youtube.com/watch?v=xX3pDDi9PeU. Sure, they ship you 3D printed parts... but they have hundreds of 3D printers running 24/7 to meet demand. Is that handmade? Is that mass produced?
Not sure how much it's changed, but I was able to build both of mine <= $200 each.
I guess it's a niche item.
The downside is I work 50 / 50 home and work so if I liked it I would probably need a traveling case or something.
That being said I've made a script that uses xmodmap and xcape to emulate some of the functionality of my ergodox layout. Obviously I can't physically modify the keyboard but I can remap control to caps lock, use xcape to make it send escape when used on its own (and use "space cadet shifts" to input parentheses), I also like to shuffle some keys to make them easier to reach (for instance I don't use Alt a lot but I use Super to control my WM, so I use xmodmap to swap them on regular keyboards).
It's annoying for the first hour, then the muscle memory kicks in. It seems to be slowly but surely sinking in, I expect at some point my fingers will just learn which is which.
(Mine is also mostly QWERTY, but admittedly that's hard to tell looking at blank caps.)