The Joy of Keyboard


Being a developer, the computer keyboard is probably the most frequent electronics device that I’ve physically interacted with on daily basis. However, typing on keyboards to me had been just a medium to input my thought into the computer, but never a joy. I love computers and how we can express our ideas onto them, but just could not enjoy typing. Needless to say, I could barely do the touch typing with 10 fingers.

There was a time I wondered if my job is programming and typing is a way to do that, so I should definitely love it, and moreover, make it more productive and more enjoyable. I didn’t have the answer until lately, things have started to change.

Mechanical keyboards

Mechanical keyboards

To anyone who doesn’t know much about keyboards technology, most of the typical office and laptop keyboards nowadays use a set of membrane sheets with rubber domes. With this design, the key needs to be fully pressed, when the top of a rubber dome touches the top membrane to actuate a keystroke. Those types of keyboard are popular due to its manufacturing cost efficiency.

Rubber dome over membrane
Rubber-dome over membrane. Image by Daniel beardsmore via Deskthority

The term of mechanical keyboards is used to refer keyboards with different operational mechanism than the membrane with rubber domes. Those have various key switch designs and provide, respectively, different typing experiences. Some mechanical key switches can be either tactile or linear, clicky or quiet, and light or heavy to click. Those key switches, in common, don’t require a full press to actuate a keystroke. Moreover, they are famously much more durable with each key can bear up to 50 million presses. Hence, as expected, they usually come with very high price tags.

I have started to observe mechanical keyboards since many of my colleagues using various models of them. It was questionable to me why people could spend a few hundred dollars for a keyboard instead of an usual $20 one. Furthermore, I had lent few mechanical keyboards with Cherry MX Blue and Brown switches to try. Despite their clicky sound, and somewhat strange friction tactile feedback, those keyboards, in fact, didn’t fit my taste. It’s clear that those pricey keyboards would last longer than mine but it’s not truly convincible per se. Nevertheless, I had believed that at some point the future, I might end up buying a mechanical keyboard, so I kept them under observation.

Cherry MX Blue exposed
Rubber-dome over membrane. Image by Evilhom3r via Deskthority

In a recent trip to Japan, I had spotted a realm of mechanical keyboards where I could actually try a plenty of them out at storefronts. Ultimately, there is one keyboard that matches perfectly with my personal preference, is called Happy Hacking Keyboard (HHKB). HHKB uses Topre, an electrostatic capacitive switch which is considered a hybrid mechanical switch because it has a rubber dome underneath every key.

Its tactile feedback is so smooth and the thunk auditory experience is simply right, neither too clicky, nor so quiet. In addition, HHKB’s small form-factor is a clear advantage to carry around with me to anywhere. While typing on it, my fingers can easily stretch and reach all keys without moving my wrists.

The HHKB demo I saw at Yodobashi-Akiba surprised me since it was manufactured in 2006, and still in good condition in 2017 for people to test. The first impression was so good that it actually made me want to buy it immediately and type on it more and more.

I decided to purchase an HHKB with blank keys since I believe it might be a good time for me to improve my 10 fingers touch type, which I had yet mastered before.

My original HHKB
My Happy Hacking Keyboard

On the downside, HHKB has a very weird layout that at the time I brought the keyboard back home, I honestly had no idea how to practically use it.

60% keyboard

60% keyboard

No numpad, no arrow keys, no F row, everything is simplified. HHKB is categorized as a 60%, comparing to full-size or Tenkeyless keyboards.

The HHKB layout is really weird when it leaves blank spaces on two sides of the bottom row, which are usually filled with Control and Fn buttons. The Control is put in place of Caps Lock normal position. And to use the arrow keys, I had to press the Fn key, which locates right next the Right Shift to activate its second layout, and use [ ; , ' . as ↑ ← → ↓ keys respectively.

However, I personally do prefer the arrow keys on the left-side such as W A S D keys. At this point, I had to think of more customizations for this HHKB.

Customization

Customization

Ironically, in spite of naming “Happy hacking”, this piece of ¥23,000 plate could not be hacked out of the box. The built-in DIP switches functionality is utterly limited and hardly satisfy my need. After a bit disappointing moment, I started to search on the internet and found out a wonderful thread in Geekhack where, Hasu, a super smart Japanese engineer, actually makes HHKB hackable. After considerations, I decided to order Hasu’s Bluetooth controler to replace the vanilla non-hackable one.

Inside my HHKB
Inside my HHKB with the vanilla non-hackable controller

I received the Bluetooth controller in a week after my order. The new controller is not only allow me to customize the keyboard at firmware level but also making it has the wireless option.

Hasu Bluetooth controller for HHKB
Hasu's Bluetooth controller
HHKB bluetooth installed
My HHKB with the Bluetooth controller installed

The only missing thing was the battery. According to Hasu, 1000mAh would stay well for 8 hours in moderate use. I had picked a pair of 1000mAh batteries, so the keyboard would have 2000mAh, more than enough for at least one day work.

A pair of 1000mAh LiPo battery
A pair of 1000mAh Lithium Polymer batteries
HHKB battery installed
Batteries installed inside

From what I am observing, my 2000mAh can stay up to about 20 hours. That’s fairly short compared to other wireless keyboard manufactured, but I can always plug the USB cable and switch it to USB mode as needed.

HHKB front side
HHKB front-side with the Bluetooth/USB switch, Bluetooth and power LEDs, mini-USB port, and reset button (from left to right)
More layouts

More layouts

Thanks to Hasu’s programmable controller and his firmware, I can customize my HHKB layouts as I want. You can take a look at how I set it up at TMK Keyboard editor

There are totally 05 layouts:

0. Normal mode

0. Normal mode

My default layout with some changes to improve my typing experience.

HHKB Layout 0
1. HHKB mode

1. HHKB mode

The original HHKB extra layout, mostly use for media keys, and switching to Game mode and Numpad mode

HHKB Layout 1
2. Mouse mode

2. Mouse mode

My most frequent used layout along with the default one, for accessing arrow keys, F1-F12, Tab, and mouse keys

HHKB Layout 2
3. Game mode

3. Game mode

Use for playing video games, it’s just the normal standard layout, with Left Command removed

HHKB Layout 3
4. Numpad mode

4. Numpad mode

Rarely use but I do miss my old full-size keyboards with numpad, so I set it up for the sake of completeness

HHKB Layout 4

All layouts are based mostly on my personal taste and fit with my own workflow, so YMMV.

Keycaps

Keycaps

As using Topre switches, there are not so many choices of keycaps out there. I can’t say I am not attracting to fancy/colorful/handmade whatsoever keycaps, but the Topre switches keep me away from them, most of the time, which is a good thing to my wallet. I will spend my time to improve my touch type instead of constantly replacing keycaps. Well, I hope.

My colorful HHKB
``Backspace`` and ``Space`` keys with other color PBT keycaps, just to make its appearance less boring
Conclusion

Conclusion

To sum up, I am quite happy with my HHKB now. I am also able to do the touch typing with 10 fingers after 1 month using HHKB with blank keys. It’s a great natural feeling of typing that I’ve never experienced before.

For those of who have been using keyboards at work regularly and looking for ways to improve typing experience and productivity, I encourage you to try at least making some modifications on your standard keyboard layout such as swapping your Capslock and Backspace as Colemark people recommended, and better, getting your own mechanical keyboard which is layout customizable and make it fit your own need. You may not want to go back to your same old keyboard anymore.