Using 60% mechanical keyboard for programming
Nowadays, the popularity of sixty percent form factor mechanical keyboards is growing fast. The main driving force of it is the gaming industry. And the reason for it is a compact footprint, which releases more space for mouse movement on a desk and allows more natural hand position. Dimensions of the keyboard were decreased due to the removal of Arrows, F-raw, and Numpad. I have never used Numpad, so it is not a big loss, but Arrows and F-raw actually merged into a keyboard as a second layer. So it could be easily reached by pressing Fn + corresponding key. For gaming, all these keys are not critical because aren’t used much or even at all.
Almost all major keyboard manufacturers in 2021 have their own version of 60% keyboard, but I choose Ducky. One 2 Mini with the brown cherry MX switches looked better in my eyes than other options. It was so, because of exceptional build quality, proven keyboard switches, PBT keycaps, multiple functional layers, macros support, and optimal price. Also, it comes with additional colored keycaps which could change the visual look of the board.
As a developer, I decided to use One 2 Mini as my daily driver for programming. Here are some of my thoughts about it.
- Ergonomics. It is much smaller than my previous ergo keyboard (Logitech Wave) so it allows me to use a mouse much closer to the center of the table. In this case, I have less wrist and shoulder pain.
- Also ergonomics. Because of the smaller depth dimension, it is possible to locate the mouse before the keyboard. This position is even more comfortable than the location on the sides of the board. It was not possible with the Logitech Wave because of its bigger depth.
- Mechanical switches are much more pleasant to type on from the feel and sound point of view. Everyone can find something specific and satisfying. Because of a wide range of switch types and manufacturers.
- Personally, for me, this board had a meditational effect. I had to concentrate on learning new key combinations to reach the required buttons or functionality and most of the time it helped me to concentrate on the process and not on the outside world or social networks.
- Arrows for moving the cursor. Before, I haven’t realized how much important cursor movements for programming. You need it all the time. And to reach it you have to enable Fn-layer by pressing Fn + I/J/K/L. I couldn’t used to it, so remapped these keys to the right bottom of the board: Win, Fn, Ctrl, and Shift plus Fn, and Alt were interchanged. It is a hack because sometimes I lacked right Shift, Alt, and Ctrl. Some other boards have a better solution for Arrows: tapping on the keys above actually registers as an arrow call.
- The same story is for PgUp/PgDn keys. Sometimes you need it to reach faster bottom or top of the file. It is not so annoying as Arrows and I got used to it pretty fast.
- Editing text: to select the text you need Shift + Arrows. In this case, I need a 3-keys combination Fn + I/J/K/L + Shift. It is not comfortable if you want to select something fast. Same for the Delete key, it is available only on Fn-layer. Fast editing could be painful on a 60% keyboard.
- For the programming, F-raw is critical for debugging and refactoring. Almost all combinations use keys from the F-raw, which means, that 2-key combinations transform to 3-keys and 3-keys to 4-keys. It was extremely annoying for the first tries but with time I got used to it pretty easily.
- In general code editing speed could getting lower due to the necessity of Fn-key usage. 4-keys combinations and selecting the text are the biggest concerns but could be overcome with time.
It was an interesting experience, but 60% layout is not the best match for programming in my opinion. I can’t live without Arrows and dedicated Delete/PgUp/PgDn buttons. On the other hand, I wouldn’t choose to use full-size keyboards anymore because their footprint on the desk is too big and forces not a natural hand position. Fortunately, there are more keyboard layouts available with a small footprint but more keys like 65%/75%/TKL.