Creating Your Own Keyboard From Scratch – The Beginning

Summary Page

Almost a year ago I read the book: “New Programmers Survival Manual” by Josh Carter. Overall I liked it and special parts such as “Get Your Tools In Order” inspired me to personally change some things. There was one chapter about keyboards and touch typing. I have tried to learn touch typing before. But I was infected by the idea once again. This time I was willing to force myself through the first weeks of nightmare slow writing and aching forearms. To support that I chose to switch to a different key layout. So that it would be useless to look at the keyboard. Besides QUERTY (actually QUERTZ on my German Keyboard) there is the DVORAK Layout. It is quite old, standardized by ANSI and optimized for speed and writing English texts. The problem was, no “Umlaute” and you need those for the German language. Yes I know there are adapted versions, but while looking around I stumbled upon NEO2, specially optimized for German and with a quite extended strategy for different key layers or levels (reachable through modifier keys, e.g. shift, alt). Giving each layer a special purpose. Level M4 for example makes all special symbols that you typically use for programming tasks easily accessible. Take a look at the NEO2 homepage for more information (it is German, though). So I started and was so damn slow it was a pain.

Picture of the a intermediary result of TheTasTaTur Mark1

I became used to the new layout, though. And after one month I was able to write half as fast as with my prior 4-fingers-keyboard-dance. After 3 month I was faster writing code then before I switched to NEO2. After 9 month I had beaten my old speed for prose.

Another thing that draw my attention in Carters book was the recommended Kinesis Keyboard. While looking where I could order one, I found other similar keyboards. Especially the Maltron keyboards and the TypeMatrix seemed interesting to me. I struggled deeply. But I couldn’t get myself to order one of those because neither seemed really what I wanted. By that time I had a quite clear understanding of how a ideal keyboard for me should look like:

  • For esthetics and because I am quite used to notebook keyboards the keys should have a flat profile.
  • The keys for the left and right hand should be separated, so that you can move them around. Reposition them independently of eachother to your actual sitting pose.
  • The keys should be ordered in a matrix instead of the classical staggered rows – that was a hart time learning to move my left hand pinky under the ring finger to press the “Z” key (in NEO2 there is the “Ü”) and stretch the right hand pointer to reach the “Y” (in NEO2 the “K”).

Second picture of a intermediary result of TheTasTaTur Mark1

Inspired by the interesting selfmade and selfmodified keyboards layouted in NEO2 that you can find on the layouts homepage – especially this one looked adoring: Tastaturselbstbau von Daniel V – and because I remembered Arduino – and that I was looking for a worthwhile project I might tackle with it – I said to myself: “Hey, why not create your own keyboard”. The constrain was to keep the material costs beneath the price tag of 359€ for the Kinesis Advantage Pro and to create a somewhat nice looking and quite practical solution that I could really use in my day job.

So that’s how it all began. To give you a preview of how it all ended these two pictures of an intermediary version of “TheTasTaTur Mark1” should give you a good feel for it. Later I added a thumbstick and mouse buttons. I have no picture of it yet.

Read the stories about how it went from there and about key modules and key caps, the keyboard matrix and resistors, arduino uno and power saving, bluetooth hid and RF as well as debouncing and mouse moves by thumbstick in one of the next posts in this category.

Summary Page


One thought on “Creating Your Own Keyboard From Scratch – The Beginning

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s