The people who use our boards.

Alex Grafov

Software Engineer & Team Lead

Who are you and what do you do?

I was born in the 70s, in the Soviet Union and still live in Russia. My home is in Moscow, which I share with my wife, daughter, two sons and a funny Samoyed dog. I spend most of my time either programming or learning new ways to program. Why do I do it? Well, just because I like the challenge. Programming is my hobby for life, and I make my living as a software developer. In truth, I think I might just enjoy typing, which probably explains why I became a programmer. :)

In the 80s, I learned to type on a mechanical typewriter before I ever even tried working on a computer. Something from that must have shaped me, because it seems I’ve fallen in love with the meditative process of pressing the keys to get the fine-letter imprint on the paper.

From time to time, I type something for my homepage:

What hardware do you use?

In the past, I used a PC with top hardware configurations that were contained in large noisy boxes. Later, I switched to laptops and left behind the preferences for top hardware, though I try to keep a balance between mobility and performance. Currently, I use a Lenovo T460s laptop. At home, this is supplemented with a dock station and external NEC LCD. Frankly, I have been very disappointed with the customizability of laptops. Modern gadgets look light, thin and slick, but they lack the modularity that I so liked in the old PC machines.

And, of course, I use the Ergodox EZ — the black model with Cherry MX Brown switches and blank keycaps. I use this together with a trackball. Previously, I had used the Logitech Trackman Marble but recently I switched to Kensington Expert Mouse. The trackball sits very comfortably between two parts of the keyboard.

For games, I still use a traditional mouse, gamepad, and joystick. Obviously, each kind of task requires its own tools.

ErgoDox with Kensington
ErgoDox with Kensington

And what software?

I’m an old-school Linux user. I prefer Gentoo Linux for my desktops and Debian Linux for servers. So, most of my time I spend in GNU Emacs and terminal. And I use a tiling WM (window manager) that requires minimal mouse involvement. So perhaps you can understand why I like ergonomic keyboards :)

What’s your keyboard setup like? Do you use a custom layout or custom keycaps?

A long time before Ergodox, I attempted to adapt a laptop keyboard to my own tastes, using my own layout. My aim was to avoid the QWERTY layout’s known flaws and achieve a layout that would be effective for a default Emacs setup. As an example of optimization for Emacs, I grouped the cursor movement keys (BPFN) together, and moved the clipboard-related keys so they are suitable for use with one hand. I’ve published my efforts as the Keymacs layout (‘Keymacs’ means a keyboard for Emacs). I think that I am the one and only proud user of this excellent layout on this planet (though maybe some Martians might adopt a similar approach due to their anatomies consisting of multiple tentacles). Nevertheless, I am satisfied with my work and have been using the layout for more than 4 years. So, since switching to Ergodox EZ, I have adapted this layout to suit the new keyboard. You can see this adaptation alongside other customizations I’ve made here .

When I was just starting out, I tried using the graphical configurator for the Ergodox EZ. That was the easiest option, but I wanted more customizability so I switched to building QMK on my own. Thankfully, QMK is well documented, and easy to hack on.

Here is the link for the Keymacs layer in the graphical configurator: — though this is just an example. If you would like to try it, then check out the C-sources at Github.

Well, for me, Ergodox EZ is the best keyboard I’ve ever tried. However, I feel it has one flaw. This is because, when you are placing the keyboard on your knees, both parts try to crawl away from each other, becoming a totally non-usable configuration. I’ve searched the internet for a solution but haven’t found any accessories for this case. So, I’ve made a new one! A simple hack that does not require any hardware modification. I used two neodymium magnet balls, and that was it. Each part of the Ergodox EZ has four aluminum pins that are not magnetizable, but the metal screws and nuts that are used with the pins are magnetizable. After buying two 15mm neodymium magnet balls, I just placed them on the nuts over the holes, and those same holes help to center the magnet balls on them. So, when I need to merge two keyboard parts, I just move them closer together. The magnets sound their “clack” on the nuts and I get a durable enough “monolithic” keyboard that easily changes angles in my lap but stays in one piece. I use this method at times when I am working with my laptop but not on a table or other flat surface. I think it counts as more of an “engineered” solution but it works for me.

Keyboard with magnets
Keyboard with magnets

Another minor customization concerns the rotation of some keys under the thumbs. However, this is not my invention, as I came across it in the blog of another Ergodox user, though unfortunately I can’t remember the URL. The idea is simple and targeted at users who place their hands a little closer to the bottom of the keyboard. In this case, the thumbs are used for pressing the keys “B” and “N” (referring to the letters in a default layout). And I found it comfortable to use my thumbs for pressing the corner keys on the bottom row. Because of this, I have turned the keycaps of the “B” and “N” keys by 180 degrees, and the keycaps for the corner keys by 90 degrees, as shown in the photo below.

Rotated keycaps
Rotated keycaps

Plus, as a final improvement, I used O-rings for the Space, Enter and corner keys, which I commonly press quite hard. This helps them sound a little quieter.

What would be your dream setup?

My dream is a direct computer interface with my brain. I would like to be able to write down my thoughts even faster. However, as a more realistic target, I think it is reasonable to use more mechanical input devices with tactile feedback. With modern UIs, we have moved from verniers to digital regulators. I think that this approach is not always ergonomical. For example, I would prefer to change the volume with an analog knob (as I do on my external sound amplifier). Therefore, I think it could prove ideal to have some analog knobs directly on the keyboard. Another case is vibration, which is actively used in modern smartphones, though I think the keyboard is also the right place for vibration notifications that could be triggered by some applications. I understand this will require a more complicated protocol than is currently used for the USB keyboard, but this feature may be really useful, especially for silent office use.

More mechanical knobs, handles, and other such things may help us to make input devices more comfortable too! Although maybe I just played too many steampunk games…

© 2022 ZSA Technology Labs, Inc.