the very first blog

View My GitHub Profile

8 September 2017

Keyboards as core tools

by Konstantin Petrov

I want to address some of the core tools and concepts any person who write his or her thoughts thought of.


What? You mean keyboards? Do you really want to start with it? Every keyboard can be used for writing, right?

Yes, that is true. One can use any keyboard he could find. But there is a difference.

Why it matters? I am writing this paragraph on my phone. It has a big screen, plus I use good on-screen keyboard. It helps, but I still cannot write without looking at the board. Not that I want, right? I wish to be able to write in any place I want. But to write comfortably, I need a good keyboard, and it should be physical. After that, I want to write using any computer and operating system I have, and for now it means Android, OSX, and Windows. My keyboard should give the same output in any operating system. To achieve this it should be programmable. Last but not least, I like to type on mechanical keyboards more. It gives me immediate feedback. It satisfies my feeling of achievement.

What keyboards are already exist?

There are tons of keyboards out there. Well, if we talk abou compact keyboards, there are some different types.

Regular size, 100%, 100+ keys

These are big, fullsize keyboards. They are most common, because they are superposition of all features. Qwerty, number and f keys, additional number pad on the right or sometimes on the left. Regular users rarely type in lots of numbers, it needed only to enter lots of numeric data. Also using a mouse is uncomfortable with this type of boards, because users hand has to reach far to the right. Left-handed users here are in the better position.

80% size. Tenkeyless

These are keyboards are bit smaller than usual - they lack number pad. It gives them nicer more compact look still providing lots of keys such as Insert/Delete/Home/End/PgUp/PgDn. Most users have never seen them, but they can prefere such a keyboard over the regular one. I am now using one of these: Filco Majestouch 2 TKL.

65 or 60%

Popular class among the enthusiasts. These boards still give user all the regular text-editing capabilities in the main layer. However, many of them lacking arrow keys (they are on the FN layer) and regular movement keys. That’s why many people avoid these.

Some of them are programmable. It is because for bigger boards there is no need to be programmable, maybe just macros. But when size is limited, one needs to do all the things with less keys.

For example, there are Pok3r keyboard made by Vortex company.


I tried to stick to it twice. Both times I was excited first days, and then I stumbled upon same problem. Layers. Not that there is no layers in Pok3r keyboard - there are 3 of them. The problem however lays deeper in the usage patterns.

One can create a layer for his or her needs with Pok3r, and use it. But to do so one needs to switch to the layer, not to shift to it. I mean that it works like switching the layout, not like pressing Shift button. So if one has written a nice macro for a button it will work only on this layer.

40% and ergonomical boards

Well, there is where all the intersting things begin. Because of small size or unusual form factor these boards usualy can be programmed in any way. Also, lots of them can be obtained in a for of DIY kit, so one can choose a body, keyswitches and keycaps, wires, some features such as LEDs.

What do I want from programmability

I would like to have regular layout with Shift layer for capitalised letters and then Alt and AltGr layers for specials. After that I would like to have a layer for my macros. It means I need to build a DIY keyboard.

There are two different options building a keyboard on one’s own - to use preproduced board plate (PCB) or to handwire it. Last means that one has to connect all the keys in a matrix oneself but gives a remarkably bigger opportunities to choose form and number of keys used.

All boards made on PCB on the other hands will be defined by it, but they are much easier to build.

For the first build I would use PCB.

Last but mot least division is traditional staggered layout versus ortolinear keyboard. In last option all the caps are placed in a form of rectangular grid. It allows one’s fingers to move less and do not turn so much.

Example of ortolinear board is Planck or Preonic keyboards. They can be obtained in a form of DIY kit and assembled with minimal knowledge and skills.