I've fallen all the way down this rabbit hole - from a full-size to a 60% to an ergodox to a CRKBD (36 key split) - and come all the way out again, settling with a chiclet standard qwerty (Apple wireless keyboard).
I think the central hypothesis of using these keyboards is flawed. It seems to all centre around thinking that less movement is better, and that keeping as close to the home row as possible is king, even if that means chording, contorting your hands to reach far keys, and over-relying on your weak pinky fingers.
Human bodies are meant to move. I've found that since I've started dancing over keyboard more with my fingers (a sort of advanced hunt-and-peck using all fingers but the pinky), combined with using a low profile keyboard, my hand pain has disappeared, and I'm at my fastest WPM yet (105). YMMV of course, but it's worth considering if you're peering into the rabbit hole.
Most people don't understand it, or understand it too late, after they have joint pain.
I concur with you on these extremely pared down keyboards. It's a nice and niche optimization for the use cases you have (programming in a certain language, etc.), however the general applicability of the tool dies with every iteration, plus the movement aspect of the body.
I've moved to 75% keyboards because of a combination of minimalism and underutilized numpad (that part literally collects dust), however I'll not move beyond that size, because the F-Row and the standard keyboard layout is both needed and practical.
I have two keyboards (one for work, one for home). A Logitech K380, and a NuPhy Air75, both are nice and compact wireless keyboards with a 75% layout, and they are both comfortable and fast to use.
However, I don't rather comment on people's choices. It's their hobbies and path to exploration. They shall do as they please. Feel bad for the people who suffer RSI though.
I could argue this subject all day! Like you said, I do ultimately think it comes down to personal preference. If you like your setup, you’re going to get more done with less stress.
I really do feel that CRKBD has optimized a particular utility of keyboards (I use one). By having every key no more than one unit away from home, you can always be confident that you’re hitting exactly the right key. This eliminates errors in a way that I personally enjoy more than any alternative. With QMK, layers make full utilization of keycodes trivial. I use 20+ layers, and it’s second nature now that it’s all muscle memory.
I actually moved to an ergodox _because_ of pain. Since moving to a split ergo board my back doesn't hurt and I've stopped getting tingling in my ulnar nerve. Different situations for different people, I suppose
I have to share my story, because I read the comments here and the post and I fell into a similar trap about a year ago.
It all sounds good. Compact keyboard has always appealed to me, so did ergonomics, I bought a split keyboard (36 keys) with Miryoku layout and went to town. I lasted about 1 month and quit.
What happens is the amount of keys you have to type concurrently increases forcing your fingers in weird positions.
For example, typing the following 48 characters
if (needle in [a, b, c]) {
println('found it')
}
In a standard keyboard you have to press 53 key presses (parenthesis is Shift+9 so that's two keys for a single parenthesis etc)
In a Miroyoku layout it's 59 key presses. This might not sound like a lot but it's a ~10% increase.
It also doesn't account for a very big problem, arrow key navigation for non VIM users. Since pressing the arrow keys requires two button presses in smaller keyboards, and done repetitively it's a huge slow down in navigating text. Now there are solution to this, most IDEs can support VIM keybinds, or have their own hot keys to skip words etc. To me the arrow key navigation is what got to me long term and I opt4ed out of it.
I'm at 48 keys right now, but I would like to counter that it's not just key presses you should care about, but also movement of the hands. My setup definitely isn't perfect but your example is exactly the kind of key sequence I have optimized for. Having parenthesis and the various brackets on the home row or very close is super awesome for programming.
Honestly, you don't need to go down to so few keys, just program your keyboard to have one more layer that puts those special characters into a better place for you and I think you'll get 90% of the benefit of the OP's keyboard.
What actually tipped me over to doing this 'layers' thing, was exactly these keys being in different places on different keyboards.
Having (){}[]-+ in the same place and easily touch-typable was much better than having them in different places depending on what I was typing on (dvorak already has < and >, ' and " period and comma in a sensible place).
It is interesting that you think arrow keys are a likely blocker. I have a Kinesis Freestyle Pro and my favorite feature is having the arrow keys on the second layer as vim style HJKL. I also have backspace, esc and del on the second layer with the right half of the space bar as the layer shift key. Moving these common keys made a huge difference to me, and was an easy transition since I exercise them so much.
The reason I couldn't move to a much smaller keyboard is that the less common keys that I use a few times a day like `{}\<>? feel like they would be so much harder to retrain. Similarly I am only passable at touch typing my number row, and I don't think I could survive without the labels for the symbols that are usually over the numbers.
It's much more comfortable imho. You can reach all buttons without moving the hands all over the place, arrow keys are directly under my fingers at all times. It's not faster if you meant that with "efficient", but it certainly makes standard keyboards feel cumbersome to use. On the other hand more keys everywhere don't make you more efficient either, they just increase the chance of you messing up a hand movement when typing blindly.
With fully programmable layouts the number of keys doesn't mean that much, though for me the sweet spot is around 42. Going much lower than that comes with too many compromises.
For me, it’s the confidence of knowing you’re hitting the right key. Memorizing how your layers are configured is nbd (it quickly become second nature). 42 keys (CRKBD?) allows you to confidently strike each key and confidently return to home. I’ve never been able to guarantee this if a single key is even 2 units away from home.
That being said, I think the most important thing is that you like what you’re using. If you prefer Mac’s native keyboard, more power to you. More keyboard happiness is less work stress.
I put a lot of thought into where I map things. If I make sure it’s in line with my long term plan, then I never have to move it. I get the rarely-used mappings memorized eventually.
Amen. I know a guy who moved to one of these minimalist keyboards (clickity keys on a lovely mahogany plank). He claimed that he could type just as fast on it, but it must have been like Invisible Boy in "Mystery Men": he could only do it when nobody was watching.
Many people don't use the F-Keys and don't know the joys and speed it brings. Instead they store macros to another layer, which includes the key-depth, but they don't care.
75% is a good compromise in size and usability in my experience.
That's a great idea. I'd like something like the space cadet[1], but with function keys at the top and familiar arrow+ins/del/home/end/pgup/pgdown section.
I've tried to use smaller keyboards with layers, but unless I'm using them everywhere I will forget what buttons to hit. And ultimately, my desk space is not at such a premium that a full-sized keyboard is unwelcome in that space.
I do also enjoy (full sized) split keyboards though.
When learning my 36 key layout, I needed to disable the other keys on my full size keyboards, to force myself to use the subset. Once I'd learned that, I could turn them back on without being tempted to fall back to them instead of learning. Once I learned it, I prefered it even on the keyboards with many more keys available, like my Kinesis Advantage.
Yeah the trick is to actually use the small layout everywhere, not just for consistency but to continue getting the benefits of reduced finger strain and hand motion.
I reproduced most of a small keyboard’s layout on my laptop using KMonad and now don’t even touch about 20 keys even though they’re available. It’s that realization that makes one dream of just omitting the unused hardware.
For my usage I’ve found the happy spot to be somewhere in the realm of HHKB/Tsangan/60%. 65% can be OK too assuming it’s using the HHKB Backspace placement (where the pipe key is on typical ANSI boards) and Control is in the Caps Lock position.
The F-keys just don’t get enough usage to justify dedicated keys, and while dedicated arrows aren’t bad the reduced hand movement of layered arrows with the HHKB layout is nice. Numpads are useful occasionally but not often enough that I want one permanently integrated into my keyboard eating up desk space and being unmovable, so I have a standalone numpad that sits to the left of my keyboard when it’s needed so I can mouse around and use the numpad at the same time.
These layouts are also similar enough to typical laptop keyboard layouts that I can still use those without much trouble, so I don’t need to tote around a keyboard.
I'm blanking on the name, but there was an older 5-way switch keyboard, where the 4 non-thumb fingers went in a recess with 4 paddles and a push-button; I've known several people who used that because of severe RSI, but it was quite expensive.
Yes, this is actually what lead me to the CharaChorder! The data hand seems superior for single letter entry, but the CharaChorder has a type of chording built in to the firmware. I imagine sticking their chording engine in the DataHand would be incredible.
His plan was to mount them to the sides of his chair so he could type with his arms hanging at his sides. I don't recall if ever got past using just one of them, and actually, I'm not sure why he needed two in the first place. Now I'm doubting my memory. Anyway, more on this innovative keyboard:
That looks quite a bit more spartan than these chara corder keyboards I saw in use recently: https://www.charachorder.com/. They have a QWERTY keyboard with chording firmware (and a chip for custom keyboards) to try corded input for those who want to experiment without going all in.
I think that has more to it as it's not just chorded but has a steno dictionary as well. There must be a way to turn a standard keyboard into a chorded one?
The given reason for going from 58 keys, then to 34, is ergononics. There has to be a better way to provide ergonomics than such a heavily shifted system, no? I'm not sure I could switch to a keyboard if it meant giving up QWERTY touch typing.
I find shifting extremely comfortable, but not quite to the extent as the author of this post. Like the author, I use thumb keys on the opposite hand to make the other hand start typing symbols. For example, I press the key below V with my left hand, and then home row on the right hand "jkl;" becomes "({})". (Actually, the whole side becomes symbols. I use the characters below the numbers to type the shifted symbol there, so qwer is !@#$, though on the other side, I don't duplicate the parentheses and instead have `~ below 9 and 0.)
Overall, I find that this is ridiculously comfortable to use.
I suffered from mild wrist pain when typing on standard keyboards, mostly because my pinky had to do so much work for programming (and pressing backspace, kill the default position of that key with fire), and the Ergodox helped me a lot.
One thing I'll note, when I moved from Ergodox to Moonlander, I lost the 1.5U key next to the h/n keys (heh). I used to use that as backspace, but moved it to my left thumb. When you're backspacing an entire word (not something I do in Emacs, but something you have to do in the web browser), the up/down/up/down/up/down motion isn't as fast with your thumb as it is with your pointer finger. OS X users probably don't have this problem, as C-w isn't "close window" there like it is on Windows.
I haven’t given up touch typing QWERTY letters. Basically everything I need for “chat” is on my base layer of 42 keys. On top of that, I use a system of 20+ layers that has become second nature to me. It’s really wonderful and I feel like the average person confined to a built-in laptop keyboard is missing out. I’m constantly mapping application-custom functionality to a 2-stroke combo (Emacs).
That being said, the most important thing is that you enjoy what you’re typing on.
I recently pared back my own layout to something similar, and it's been surprisingly comfortable. I had learned to type on a split board for the first time a few months ago, and going from a more "full" split layout to something where you've essentially shoved all non-alpha inputs down into other layers was actually surprisingly intuitive.
I'm still memorizing some inputs; ones that require holding a layer key, then holding a homerow mod on one hand, and finally hitting the intended character key are proving especially tricky.
(eg: hold thumb key to switch to symbol layer, hold down homerow mod for shift, press desired symbol for shifted version -- poor example, but all the same.)
More folks should give this sort of thing a try! Provided you're not also re-learning the alpha-key locations at the same time, it's really not so bad a transition. A day or two architecting your layout, a few days tweaking with use, some dedicated practice, and normal use from there on out should get one comfortable. :)
I am using 34 keys keyboard as well, but instead of Miryoku based layout I am using Callum like layout. I am experimenting with it heavily but I feel like I am finally settling on something stable.
my primary keyboards are a planck for my personal desktop and ergodox infinity for work. i guess if i used the planck every day i'd get used to it but i think that the braces/brackets/parens are common enough they deserve their own keys instead of chords. but again, i've not given the time to learn to type with chords as a daily driver.
i would like one of these though and maybe move on from the planck for my desktop. the minimalism is sexy as hell
This is roughly what I do too. I've found it pretty good.
Minor differences:
I use Dvorak as the base setup.
I use the same system on Mac laptops, so the two inner thumb keys are both 'space' because when on the laptop rather than a split keyboard I use the spacebar to toggle into the num/symbol layer if held.
Command keys on Mac laptop (either side of the spacebar) are set to backspace and enter if used individually.
I didn't got full home row mods. I use two keys at once for ctrl (sd or kl on a qwerty layout), and two keys at once for shift (cv or m, on querty).
A few other double key shortcuts e.g. xc as ":" for vim stuff, and cv in querty (jk in dvorak) as escape.
I have a 36 key keyboard but I guess due to the double space it's a 35 key layout. Don't use the other button (option) for much, just arrow keys with vim hjkl so could possibly live without it as a 33 key layout.
This is roughly what I do too. I've found it pretty good.
Minor differences:
I use Dvorak as the base setup.
I use the same system on Mac laptops, so the two inner thumb keys are both 'space' because when on the laptop rather than a split keyboard I use the spacebar to toggle into the num/symbol layer if held (I believe you can actually use thumb on the trackpad as extra keys if you want and your laptop layout works, but never got around to trying it).
Command keys on Mac laptop (either side of the spacebar) are set to backspace and enter if used individually.
I didn't go full home row mods after trying it. I use two keys at once for ctrl (sd or kl on a qwerty layout), and two keys at once for shift (cv or m, on qwerty).
A few other double key shortcuts e.g. xc as ":" for vim stuff, and cv in querty (jk in dvorak) as escape.
I have a 36 key keyboard but I guess due to the double space it's a 35 key layout. Don't use the other button (option) for much, just arrow keys with vim hjkl so could possibly live without it as a 33 key layout.
This is interesting from an observational point of view, but I've went down that rabbit hole and it's a never ending one. In the end, my productivity didn't improve anywhere near the time I eternaly spent optimizing the method.
I went back using a simple ANSI US layout keyboard (not the standard here) where the only change I do is to assign CTRL to CAPS LOCK.
I like weird keyboards. I have acquired, in order: a Kinesis Advantage 2, an Ergodox (split ortholinear), a OLKB Planck Light (40% ortho), and a OLKB Preonic (60% ortho).
I've been daily driving the Preonic for 4 years now and once reconfigured, it is the most comfortable of my keyboards. The layer system is a game changer: you can put arrow keys on the home row, just a modifier away. One other cool trick is having enter on the bottom right key, you can press it with your palm.
I remember seeing the half keyboard back in 2001 (http://www.amazon.com/exec/obidos/ASIN/B00006IZIL/donhosek) and being intrigued with it (I was contemplating it for use with my Palm Pilot) but the price was prohibitive for something that I might not like. Ultimately, the fact that I have to move between computers periodically has kept me from doing anything but a traditional qwerty keyboard for anything.
Overloading Space, Tab and Enter to be used as a modifier when held means that you can't get auto-repeat on these keys and they are activated on-release instead of on-press, correct?
QMK firmware has a handy feature for this called Tapping Force Hold[1]. If you hold the key normally, it modifies the layout, but if you tap it once (or more) and then hold, you'll get the normal repeating behavior.
Example A:
Hold Backspace => Activates layer overlay
Example B:
Tap Backspace => Input backspace
Hold Backspace => Input held backspace => OS handles repeating as configured
I believe so. You also lose repeat on the home row keys because they become modifiers when held. It’s a trade off, but one that many people make since repeated key presses is not as useful as the mod keys. Same is true for people who remap caps lock: they give up a lesser used feature for something more useful for their specific preference. Of course once you get into keyboard customization you can start doing things like map caps lock to escape when pressed alone, control when pressed in combination with another key and maybe make shift + caps lock activate caps lock. Depends on what you need and what you’re trying to accomplish.
I get auto-repeat on space by doing tap-then-hold of the key. Apparently not for tab/return. - I presume the behaviour is configurable if that's something that suits you.
I learned the Workman layout before getting an ortholinear keyboard.
It was slightly more difficult for me to switch back to qwerty when I was still using a traditional staggered keyboard to type workman, especially when I was still getting comfortable with workman.
I wasn't really worse at qwerty than before: I just felt extra uncomfortable with the context switching.
Now that I'm exclusively using an ortholinear keyboard to type workman, I'm back to my original comfort level typing qwerty on traditional staggered keyboards. I don't enjoy it, but I don't really think about it either. Context switching went from a mild nuisance to completely effortless.
I can't speak to the particular 34-key board in the OP, but I've been using a Colemak 60% (HHKB) at home and a full-size QWERTY at work for a few years (after using Colemak almost exclusively for a few years before that) and I can jump back and forth with no trouble at all. It was a little awkward at first, but that was when I was just learning Colemak and had never properly learned to ten-finger-touch-type QWERTY.
I've typed Dvorak for years on staggered rows, and retained my ability to switch back to Qwerty at ~70% of the speed. I just switched to staggered column 58-key Dvorak though, and I have noticed it takes me a minute to go back to staggered row on my laptop keyboard in either layout. I think it has more to do with the key positions than the layout.
I'd love to see the opposite — bigger keyboards, with more keys dedicated to domain-specific functions (something like this[0]). I think that would mean less cognitive overhead in general as you do a particular job.
I've found using Dvorak on a standard keyboard (until split keyboards became available) is quite efficient -- haven't found the need to switch to anything smaller. Back in the day built a mechanical foot pedal that would activate the control key for programs that required a lot of Control-key combinations (like WordStar), but fell out of use over time. Been using this setup for 35 years now.
I went Miryoku on 36 keys, learnt to touch type and it’s honestly been the best thing I’ve done for my coding. I know it sounds extreme but I feel like never having to look at the keyboard means I stay in flow and make fewer mistakes.
It wasn’t that hard to learn. Time investment of about 30 minutes/3 times a week for about six month.
I've always been of the opinion that 36 is too few, but this does a good job of converting me. I already do similar stuff with layers ie: one layer for a right hand numpad, another for home row arrows and some common programmer symbols.
One of these days I'll try out something other than QWERTY.
Correction:
s/to move $ to the left of ^/to move $ to the right of ^
Good post, although I find homerow mods kinda annoying so I personally don't use them (ergodox ez). I think the perfect layout for me would be something like a Sofle :)
I think the central hypothesis of using these keyboards is flawed. It seems to all centre around thinking that less movement is better, and that keeping as close to the home row as possible is king, even if that means chording, contorting your hands to reach far keys, and over-relying on your weak pinky fingers.
Human bodies are meant to move. I've found that since I've started dancing over keyboard more with my fingers (a sort of advanced hunt-and-peck using all fingers but the pinky), combined with using a low profile keyboard, my hand pain has disappeared, and I'm at my fastest WPM yet (105). YMMV of course, but it's worth considering if you're peering into the rabbit hole.