Halvar wrote: ↑Dogmatising personal rules makes no sense to me here. If you post a long list of dogmatic rules without any arguments in a forum, you have it coming.
Are you talking to me, or the other posters here? I didn’t post any list of dogmatic rules, only a list of features which each individually make a noticeable improvement. I don’t demand that anyone adopt any or all of those features (actually I couldn’t care less what you folks type on), but I’d recommend them all, either separately or together.
I guess I should apologize for before. Some of you guys are super annoying to have conversations with, getting distracted by irrelevancies, bogged down in grumpy pedantry, intentionally and obtusely misreading comments, or just demanding to be spoon-fed instead of thinking a bit for yourselves. I don’t think any of your were being deliberate assholes, but it still made me cranky, and I was somewhat trolling you back. Sorry. Hopefully this comment puts any concerns to rest. If not, well, at least I tried. Learn from it or don’t as you prefer. After this I’m pretty much done; if any of you want more do the damn research yourselves. I really don’t care *that* much whether some internet strangers understand keyboard ergonomics or not.
* * *
It’s entirely possible to type on unpleasant, inefficient keyboards. As I’m doing right now typing on a laptop. It’s even possible to type on shitty keyboards for decades without permanent injury, by using the best achievable form for the keyboard, by holding down overall typing time and taking frequent breaks, etc. Sure the standard design is poorly thought out, confusing, and inefficient, but since most people spend most of their time thinking anyway, inefficient computing input performance might not be a bottleneck, people’s performance might have enough surplus that inefficiencies don’t matter, or the prevailing inefficiency in the rest of the world might sufficiently hide the problem that no one really notices or cares.
Anyway, no dogma here. Just some observations:
Unfortunately many typists either never learn good form, type too much without adequate breaks, don’t sufficiently take care of themselves outside the context of typing, or have other injuries or problems, and end up suffering RSI. It’s a really serious problem costing lots of money for medical expenses and lost productivity and in severe cases permanent injury, which is caused by a combination of bad keyboard design, bad training, bad practice, and unwillingness to take it easy when something starts hurting. But a large part of the problem owes to the design of the standard keyboard.
A standard keyboard is inherently impossible to type on with an entirely neutral arm/wrist/hand posture. Two-handed touch typing at full speed on a standard keyboard using any possible technique is just trading off static load on one set of muscles for static load on a different set of muscles, ideally not overwhelming any of them. The most effective way to cope with this is to not type too hard or fast, take frequent typing breaks, change postures from time to time, maintain a healthy lifestyle (sleep, diet, exercise, stress, etc.), and limit overall typing time.
As typing form goes, the best approach on a standard keyboard is to bring the keyboard close to the body and ideally not too high relative to the torso, tilt it such that the wrists can avoid flexion to the extent possible (ideally close to zero), keep the wrists relatively straight (not too much ulnar deviation) and slightly lower on the medial side (reduce pronation as much as possible, though a standard keyboard makes this difficult). It’s often necessary to slightly raise the elbows and rotate them outward to reduce wrist pronation but this unfortunately creates extra static load on the shoulders and upper arms. Often people try to reduce the arm and shoulder load by resting elbows, forearms, wrists, and/or palms on some support surface, or extending the arms forward in front of the body, but this has its own problems, reducing finger flexibility, preventing the arm from absorbing typing impact, and putting pressure on various tissues in ways that can cause or exacerbate injury. Ideally fingers can remain relatively relaxed, with slight amounts of arm movement used to reposition fingers in between keystrokes to locate the keys. In particular the ideal is to have the first finger joint mostly extended when the fingertip is resting on an unpressed key, so that it has maximum strength and flexibility to flex to make the keypress.
Reaching for keys by flexing the finger too much, by extending the finger fully with the first joint flexed (e.g. to press number keys), by stretching fingers out sideways (esp to reach many far keys with the pinkies), or by rotating the wrist to the point of extreme ulnar deviation (e.g. to press delete or escape or to use certain chorded keyboard shortcuts) are all relatively bad, so on a standard keyboard the ideal is to take some performance hit by moving the whole hand at least part of the way to avoid such motions. Ideally, the thumbs can press the spacebar while the hand is relaxed, but on a standard keyboard their resting position for medium-to-large hands is not actually over the spacebar, so there’s a choice and trade-off between moving the hand slightly for every press of the spacebar vs. just leaving the hand in a slightly more clenched position all the time.
Moving the whole hand away from the “home” position is a substantial efficiency hit. Every time you need to reach for the mouse, or the arrow keys, a corner delete or escape key, or one of the further F keys, etc., there’s a noticeable lag in typing performance. (On manual typewriters or keyboards with certain sculptured keycaps, pressing some keys in the bottom row also requires moving the hand down.) In general, the further the reach, the worse the efficiency hit, but even short hops are a drag. This slowdown isn’t only the time gap from hand movement per se, but also slightly disrupts the train of thought because it takes a split second to re-orient the hand at each side of the move, making work less fluent; long experience, especially in practicing specific key sequences, can reduce these delays but not eliminate them.
Several features of the design of the standard keyboard either force or strongly encourage uncomfortable and inefficient motions. Most obviously, putting the keyboard in a single solid piece with all the keys resting in the same plane is a terrible idea. The fix is to split the keyboard, tent it (“roll”), rotate the two halves inward (“yaw”), set the tilt to match the angle of the forearms with the wrists straight (“pitch”), and optionally separate the two halves by some amount though this isn’t really essential after the orientations have been fixed up.
The placement of many very common functions is far from the home position, causing the slowdowns mentioned previously. Putting functions which are interspersed in standard typing near the home row makes a measurable difference in typing performance. The most obvious examples here, for which I believe there are some published studies, or at least plenty of internal corporate research, are putting a trackpoint or similar mouse pointer directly on the keyboard, and moving the delete key nearer the home position, e.g. by placing it on a thumb key.
The keys are larger and more widely spaced than they need to be if they were placed properly. The two sides are asymmetrical. The ad-hoc row-staggered layout means that for any specific “home” hand position and orientation there are at least some keys on the keyboard that don’t naturally lend themselves to use by any particular finger, and for any particular home position/orientation there are natural and easy-to-press positions which fall in between keys. More generally, the keys are not arranged to align with the natural range of motion of the various fingers. At least when using the standard typing technique, where in general each key is mostly or entirely accessed by a particular finger, there is huge room for improvement here.
The ideal case has the tips of the fingers falling naturally on the home position keys when the hand is in a neutral relaxed position with the proximal joint of each finger in resting position (i.e. mostly extended) and the other joints somewhat flexed. This means that the home key for the middle finger must be further away and slightly lower (vertically) than the home keys for the index and ring fingers, and likewise the home key for the pinky finger must be slightly nearer and markedly higher than the ring finger home key. From there, keys should be arranged in “columns”, possibly with the columns at slightly different angles to account for the way fingers splay apart as they are extended. Keys closer than the home key should be placed and oriented such that when the finger flexes at the second joint, the fingertip falls as naturally as possible on the top of the key. Typewriters and even standard profiled keycap designs fail somewhat at placing bottom-row keys correctly; chiclet boards on laptops actually do a better job at this, by making them the same height as the home row with the home row flat. Keys further than the home row should have a substantial (~2mm?) height step between keys, such that further-away keys can be reached by extending the middle and distal finger joints without too much hand movement and with the proximal finger joint remaining nearly extended (if the key / keycap is too low either the hand needs to move or the proximal finger joint needs to flex to reach the key top), and in particular so that the key can be fully pressed without the fingertip running into the key in front. Changing the keycap profile to increase the height step between further rows has a very noticeable positive impact on efficiency and error rate on a column-staggered keyboard, but is an improvement even on an otherwise entirely standard Sholes-layout keyboard. Once keys are at the appropriate position and height to match the natural motion of the various fingers, they don’t actually need to be quite as wide or widely spaced as they are on standard keyboards. Even marginal reductions in key width make further-away keys noticeably easier to reach. In my opinion curved plates which make the switches oriented in a direction other than up-and-down are a mistake. The finger naturally presses keys by flexing the first joint, and if the key is angled away, less force is directed along the switch axis, or alternately the finger motion required is partly “stabby”. This is a slight problem for IBM buckling spring keyboards, a noticeable problem for the Maltron, and a severe problem for the Kinesis advantage. All of these keyboards would be improved if they could place the key tops in the same place, but re-orient the switch press axes so that they were aligned with the home-row switches. One slight exception: for keys closer than the home row, it’s possible to use flexion of the second joint (a “trigger” press motion) instead of the usual flexion of the first joint, to press a key with its axis pointed forward-back instead of up-down. This is a potentially interesting way to make a useful row of keys two rows below the home row. It makes keyboard construction more difficult though so overall it’s probably not worth it, except in custom experimental keyboards.
The standard keyboard dramatically overloads the right pinky finger. It’s a noticeable improvement to move functions off the pinkies and add additional space between hands with functions taken over by the index fingers. It’s not strictly necessary to have three columns for each index finger (indeed my personal advice would be just cut down the number of keys), but a key two to the side of the index home position is much easier to press than a key two to the side of a pinky home position, as right shift, return, or right bracket are on ANSI layouts, not even to speak of backslash or the right control key or the insane ISO enter key. In general keyboards are improved by making them symmetrical and relatively compact, reducing the number of keys to the extent possible, making sure all the keys can be reached without too much overall hand motion and without needing to re-orient the hand or twist the wrist, etc.
The spacebar is much longer than necessary taking away valuable real estate for other potential thumb keys, and also not in the right place (or alternately, not wide enough) for the thumb to naturally fall on it. If intended to be pressed with the thumb, the spacebar should be separated from the bottom-row finger keys, and ideally should be made a bit wider. It can be much much narrower, even 1u length is okay, though I think 1.5–2u is the sweet spot for length, depending on the keyboard design. Making the spacebar key higher relative to the other keys (e.g. with a taller keycap) makes a positive difference on most designs. The proper shape and arrangement of thumb keys depends very strongly on the rest of the keyboard design, so it’s hard to give fully abstracted advice, but in any case it’s possible to improve the spacebar dramatically even within the design space of the standard grid-like Sholes layout, by splitting the spacebar, reducing the length of each half to 1.5–2.5u, widening it to 1.5u or moving it toward the body, and either moving other bottom row keys closer to the center of the board or adding additional thumb keys. There’s plenty of space in front of the spacebar for an additional couple keys, shorter than the spacebar so they don’t get pressed accidentally when the spacebar is pressed.
Keys like arrows, F keys, the “navigation cluster”, the numpad, and so on can in general be improved by eliminating them and moving their functions to a layer. Personally I feel the same way about the number row as well, but that’s a slightly more radical change. Even if additional blocks of keys aren’t eliminated, they should be brought as close as possible to the home position while keeping some shape to them so a hand jumping to them can be easily oriented, and they should be placed so they are as easy to reach as possible. The arrow keys on a standard keyboard are particularly bad; they’d be improved if they could be reached by rotating the arm at the elbow instead of reaching toward the body.
Aside: just briefly, some comments on strict “matrix” layouts... These are basically about as easy to type on as standard keyboards, offering at best marginal improvement. (My opinion is they are marginally worse, but it’s pretty much a wash.) But unfortunately they don’t have any of the legacy/training/compatibility/network effects of a standard, so practically they end up much worse. You get all the ergonomic disadvantages of the standard keyboard combined with all the practical disadvantages (retraining cost, difficulty switching between boards, lack of ecosystem, expense of building or buying something special) of a custom keyboard. It’s a bad deal. Why are they about the same? Well, notice that on either a standard keyboard or a “matrix” board, the home position for the fingers when they are in a relaxed position isn’t actually directly over the middle of the keys, and the fingers aren’t actually moving straight w/r/t/ to the rectangular axes of the standard keyboard. Thus, a one-piece matrix board makes B, Y, O, P, and Tab slightly easier to reach, while making Q, T, U, N, M, C, X, Z, V, comma, period, slash slightly harder to reach. Numbers are pretty much a wash, and other keys depend on the specific matrix layout. A split matrix layout is a little better, but if the two halves are oriented to align with the hands then generally pinky keys and middle finger keys end up being harder to reach than on a standard keyboard, while index finger keys end up a bit easier to reach. I tried typing on various matrix layouts, both split and single-piece, for about two months, and they are, like standard boards, unquestionably worse (from a strictly comfort/efficiency perspective, but they’re also harder to learn) than well designed column-staggered keyboards. A matrix layout works slightly better in a context like the Maltron or Kinesis Advantage, because the height difference between columns partially offsets the lack of horizontal offset, but IMO both the Maltron and the Kinesis would be improved by adding a bit of column stagger.
The whole hardware/software stack is designed around single keystrokes or combinations of specific modifiers + single keystrokes, vastly limiting the potential motions human hands are capable of. Pianos, stenography keyboards, and other devices take advantage of the combinatorial explosion in possible actions per stroke available with full chording, but in the context of standard computer keyboards, it’s barely been experimented with at all, mostly because the software and hardware stack are not set up to cope with it, and have strict legacy-support and “learning curve” constraints. Even modest amounts of extra chording can lead to huge efficiency advantages, e.g. by adding additional layers using extra modifier keys on the thumbs. A book could probably be written about properly designing logical layouts once the physical layout has been sorted out, but I’ll spare you all here. One possible advantageous change is to move the modifier keys (ctrl, alt, meta) to the “number” row. I tried a keyboard with such a layout for a month, and I very much liked it relative to the standard modifier key placement. Overall a much better use for that row than numbers and symbols.
In short, my answer to the thread topic is: 3 rows per finger is about ideal (unless you want a steno keyboard, in which case 2 is fine). 4 is doable but one of the rows isn’t quite as usable as the others. I’d stay away from 5 rows of keys, but if absolutely necessary can be accomplished if the keys are made narrower, there’s enough height step to further away rows, and the functions are rare, or possibly if the 5th row is two below the home row and tilted upward to accept a trigger-style press. 6 or more rows of keys is absurdity.
Likewise, for total key count: 25 keys per hand is about ideal if you want everything to stay reachable. 20 keys per hand still yields an entirely workable keyboard if well designed, but is a bit limiting w/r/t learning and legacy support. About 30 keys per hand gives a lot to work with if you need lots of fancy features. 35+ keys per hand is just wasteful, like a single person commuting to work driving a Humvee.