The perfect keyboard

For many things i have been on a constant search for perfection. So far i have found my perfect shoulder bag, my perfect calendaring system, my perfect search engine and my perfect blog engine. But one thing i missed so far, up to the point where i nearly built it myself. A perfect keyboard.

What makes it perfect?

In my daily work i rely heavily on my keyboard. I don't even use an external mouse. My windows manager is a tiling one which i can easily navigate with only a keyboard. I do notes, calendaring, todos and mail in emacs, as well as writing blog entries, clocking project times and more. And with my fingers always on my keyboard, the perfect one should support me mostly in programming and in emacs, especially its famous org-mode.

Whenever such a possible keyboard appeared on the market I checked its features out for programmable keys, and obviously the price. Normal keyboards with some prorammable keys ranged between 30 € an 70 €. More sophisticated models started at 100 €, but most of them are for windows only, because their extra functions are using proprietary windows drivers, that are normaly not available for linux, my operating system of choice.

So, perfect for me means at first, its functions should not rely on some obscure drivers. It should only use standard USB and HID protocols for communication with my computer. In fact such a keyboard would be usable on any operating system.

On the shoulders of giants


There are dozens of specialized keyboard manufacturers, mostly in the market of POS (Point Of Sale) Systems, where programmable keyboards are handy when it comes to scales and cash-desks. Thankfully Grant Rettke did a lot of research work in that area, and even though I'm not sure whether he still wants to build one on his own, or if he is only interested in the perfect layout, he hopefully found me my perfect keyboard. The Expertkeys EK-128. I ordered it at amazon.de, and after a few starting troubles (the first order was cancelled by amazon, the second keyboard ("used but in perfect condition") had a dead row six) i will hopefully receive it today.

The differences

As it isn't primiraly targeted as a conventional PC keyboard, some of its features are quite unusual.

  • all of its keys are programmable
  • none of its keys is pre-programmed
  • the keyboard can be programmed in 4 layers. Two of them are provided by a software driver, whereas the other two are built-in in the hardware an do not depend on the operating system. Only during the programming process a windows OS is needed. Its GUI is - politely named - suboptimal. A professional GUI person would call it "a pain in the ass" But you will get your work done, and you will never have to use it again after your initial key-mapping.

My layout

I gave it a quick and dirty first shot, and this is my rough vision of a perfect keyboard layout ek-128-layout-0.png

  1. My native language is german, so it uses the german QWERTZ layout with umlauts
  2. As it has a separate tenkey area, there is no use for a numbers row above the letters. So i can move some of the most used keys for programming down to the unshifted layout.
  3. Separate keys for Cut/Copy/Paste right above the cursor keys
  4. A large collection of keys reseerved for Emacs (the blue ones)
  5. A Hyper key for an additional keyboard layer

Andy Drop

I like it, when I see the intentions of a code author, and i like to see it written down in remark lines. Why didn't someone do that with the world. It would be far easier to understand. So I started to document my world wherever I see the need to do so. In text. With Emacs Org mode. I want to share this world with you.


  • Emacs logoEmacs
    The OS-like text editor
  • Org mode logoOrg mode
    Emacs built-in mode for organizing everything
  • Plaintext logoPlaintext
    Using plain text for everything