Humble Hacker Keyboard
The Humble Hacker Keyboard, can be considered the first DIY keyboard, that began around 2009.
If a keyboard's name has the word “hack” in it, then i despise it already. See:
- Computing Culture: What's Hacker?
- The Idiocy of Hacker Keyboards
- Paul Graham's Infatuation with the Concept of Hacker
The Humble Hacker Keyboard is not in production yet, if it ever will be. Its homepage is at:
http://humblehacker.com/Keyboard/
. Some detail about building this keyboard is at
http://geekhack.org/showwiki.php?title=Island:6292
Here is some highlight of major problems with this design i see:
- The navigation keys {Home, End, PageUp, PageDown, ↑, ↓, ←, →} are all clustered in the middle. Placing them in middle increases reach. Closely mixed with many other keys without gap makes is error-prone and requires looking.
- The function keys become one continuous row. Without gaps, it makes these keys less usable without looking. 〔see Increase Productivity Using Function Keys〕
- Overall, this keyboard is one neat rectangular array. BAD! It would be much better to have a gaps in the middle, gap below the row of function keys, and other sort of curves or natural asymmetry. When you see something that's perfect geometric lines, such as “modern furniture” in exhibition halls, it might be beautiful, but in general are the most uncomfortable to use. Nature does not have perfect geometric shapes. No part of our body is one perfect square or circle. When keys are mono and uniform, it is harder to distinguish the keys visually or by touch.
Good points:
- Dvorak Keyboard Layout.
- Grid layout of keys. (See:Keyboard Design Flaws.)
- The letter keys are grouped into 2 clusters, one for each hand.
- Ctrl on both sides, symmetrically positioned, right next to the key pressed by pinky. This is excellent!
- A ⌘ modifier key for the thumb (That's Mac's ⌘ command key or Windows ❖ Window key). Excellent. 〔see How to Avoid the Emacs Pinky Problem〕
- Two Tab keys. A forward tab and backward tab (usually pressed as Shift+Tab).
You might be wondering where did keys like {[, ], {, }} went. Or, where's {\, |}. According to its creator, these are typed by pressing with one of the Fn1 to Fn4 extra modifier keys. I think this is good. The issue with these symbols is that, if you look at a conventional flat keyboard layout, or many International Keyboard Layouts, there are more characters than can fit the 4 × 5 matrix key cluster for each hand. For example:
It has 40 spots to map characters. Multiply by 2 for Shift variation, you get a total of 80 spots to map characters. But written texts need more than 80 characters. For example, the ASCII (for English) has 95 printable chars. More is needed for European languages. e.g. «¿¡¢£¥®© ÀÁÂÃÄÅÆ Ç ÈÉÊË ÌÍÎÏ ÐÑ ÒÓÔÕÖ ØÙÚÛÜÝÞß àáâãäåæç èéêë ìíîï ðñòóôõö øùúûüýþÿ». So, you need to add more keys to your keyboard for them.
The way conventional keyboards solved this problem is by adding 7 extra keys for the pinkies to the US standard PC keyboard:
Keyboards in Europe have more keys, typically one extra to the left of Z, and 2 extra to the right of ;. 〔see International Keyboard Layouts〕 Note that 2 extra keys to the right of ; is ridiculous. In such a keyboard, you have to extend your pinky far to the right to press the frequently used Enter key. (or, move your whole hand.)
Another solution for solving the extra characters is to use a modifier combination. The modifier to enter extra characters is usually known as AltGraph key.
If you create extra physical keys for them, such as the {[, ], =, |} on conventional keyboard, they are far away from home row and pressed by pinky. Or, you need to place them in middle of keyboard, or at the bottom of space key. None of these are ideal.
If you use modifier key (AltGraph) as a solution, then the problem is that you now have to press a key combination for typing these characters, but your fingers don't have to fly about.
From my personal experience of extensive key mapping and macros and the need to type Math Symbols and Unicode Characters , i think the AltGraph solution is actually more ergonomic. It's faster to type and more comfortable. The drawback is it's a bit more complex and takes some time to memorize the key locations. A keyboard with special symbols printed in front of each key would solve that, but the extra printing makes it more costy to build.