Humble Hacker Keyboard

By Xah Lee. Date: . Last updated: .

The Humble Hacker Keyboard, can be considered the first DIY keyboard, that began around 2009.

humble hacker keyboard
Humble Hacker Keyboard

If a keyboard's name has the word “hack” in it, then i despise it already. See:

The Humble Hacker Keyboard is not in production yet, if it ever will be. Its homepage is at: . Some detail about building this keyboard is at

Here is some highlight of major problems with this design i see:

Good points:

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:

 12345  67890
The 2 key clusters as 4 × 5 matrix for each hand. (shown using QWERTY layout)

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:

`  12345  67890  -=
   qwert  yuiop  []\
   asdfg  hjkl;  '
   zxcvb  nm,./
Conventional layout in matrix format

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.