der-B

MNT Pocket Reform Keyboard

I got my MNT Pocket Reform some weeks ago. It is a device with some unusual design decisions, which are covered by reviews and other blogs. Overall, I really like it — except for the built‑in keyboard: Its layout is flawed in ways that make touch‑typing text difficult and coding nearly impossible. Luckily, most of the issues are software-based and can be fixed by adapting the firmware.

Orthogonal Keyboard

The Pocket Reform has an 60% orthogonal keyboard. Since I build my own 40% orthogonal keyboard I was excited about the Pocket’s keyboard.

One issue I have with my orthogonal keyboard is that it works well for the US (and UK) layouts, but not for DE (German) layout. German has four additional letters (äöüß), yet orthogonal keyboards don’t have any unused keys left to accommodate them. One has to put these letters on an other layer (upper or lower), but on 40% keyboard, these layers are almost completely used. MNT has a nice solution: They use a keyboard layout EU which has all European special character available on an layer accessible with the AltGr-Keys (only on ISO keyboards). This could also be a solution for my keyboard.

Palm Rest

The MNT Pocket Reform does not have enough space to rest the palm on it. I expected that this makes it hard to fix the device when it has to sit on your lap, e.g. while working on a train, but it is not a problem at all.

Homing bars

One issue with the Pocket Reform keyboard is, that keys F and J don’t have homing bars. This makes it hard to align the hands for touch typing without looking on the keyboard. I’m used to it since my DIY keyboard also lacks these bars but from a commercial product I expect homing bars. The absence of these makes the keyboard backlight essential. Otherwise the hand alignment would be a nightmare in dark environments.

SHIFT keys

MNT Pocket Reform keyboard with EU layout

MNT Pocket Reform keyboard (©MNT Research)

A more serious issue for touch-typing is the absence of the right SHIFT key. That forces the usage of the left pinky to enter any uppercase letters. Normally, one uses the right SHIFT key to enter uppercase letters located on the left side. It becomes worse, when one needs to enter an ‘A’. Then the left hand has to move the left, since one has to hold down the SHIFT key with the pinky and hit ‘a’ with the ring finger. After this, the hand has to be realigned, which is not easy, since the homing bars are missing. My custom keyboard uses an odd trick I learned from Matt Gemmell: The ENTER key is also a SHIFT key. By tapping the key alone, it acts as an ENTER key. When holding it down and pressing another key, it becomes a SHIFT key. I took me only a few minutes to become used to it. Fixing these issues makes the keyboard fine for writing regular text, but other issues still make it unsuitable for coding:

Special Characters for Coding

A lot of special characters need to be easily accessible for coding. AFAIK only the US keyboard layout has these special character easily available, since all early influential programming languages are developed in the US. It is impossible to touch-type code on a DE layout since important characters need complicated key combinations. The same is true for the MNT Pocket Reform keyboard. One has to hit HYPER+SHIFT+O for ‘{’ and HYPER+SHIFT+P for ‘}’. To hit these key combination, one needs to displace the left hand which is devastating for the typing flow. A little bit better are the key combinations for ‘[’ and ‘]’ (HYPER+O and HYPER+P), but not much. In contrast to standard keyboards, these key combinations a baked into the firmware and can’t be fixed by layout change in the OS.

Modifier keys

The MNT Team put some special characters next to the SPACE keys. These keys are easy to reach with the thumb, but this is a wasted opportunity: The thumb is special, since one can move it horizontal on the keyboard without moving the hand. While doing so, one can also move all other fingers as usual on the keyboard. This is a reason why almost all DIY ergonomic keyboards have three keys accessible for each thumb. Therefore, on an orthogonal keyboard the keys next to the SPACE keys should be modifier keys. (One can also argue, that one or both SPACE keys should be modifiers.) On a plank keyboard the keys next to SPACE are used to access three other key layers: upper, lower and adjust. Upper and lower contain all special characters, while adjust is used to change some keyboard settings.

CTRL and ESC

I also don’t like the location of the CTRL key. Usually it’s not necessary for touch-typing, but one needs to find it easily while using programs which heavily use shortcuts (e.g.: FreeCAD, KiCad, Gimp, …). Therefore, I don’t like keyboards where the CTRL key is not on the lower left corner. The same is true for the ESC key: It has to be at the upper left corner.

Arrow keys

The arrow keys are also suboptimal arranged. The arrangement is copied from classical keyboards. Therefore, the up-key occupies one of the keys which can be reached with the right pinky while touch-typing. No one uses the arrow keys while touch-typing, so this key should be used for something more meaningful. The four arrow keys should be arranged in a single row like the keys ‘hjkl’ in vim: left, down, up, and right.

Conclusion

So is the MNT Pocket Reform keyboard that bad? Not really, since I’m touch-typing this post on the criticized keyboard and it works astonishingly well. The adaption to the keyboard didn’t took to much time. I expected that the keycaps are to small to touch-type but it is OK. I don’t know whether this also applies for coding, since I didn’t had time to code a lot on the MNT Pocket Reform.

I’m not sure whether I’ve always had strong opinions about keyboards and that’s why I built my own, or if building my own keyboard is what gave me those strong opinions.

With that, I will have a look into the keyboard firmware as the next step.