New Keyboard: Gergo
5 minutes read | 987 words by Ruben BerenguelMy girlfriend likes to joke/complain that I have more keyboards than hands. And indeed, I have probably a dozen or so different keyboards, most of them bluetooth. But, I have found the best one for the day-to-day work (sadly it is not bluetooth). It is a Gergo.
A few months ago I had a sudden bout of wrist/finger pain on my right arm. That’s not new: 3 years ago I learned Colemak to help with it (it did), but still on occasion my elbow nerves play funny and I need to stretch more than usual. This time I decided it was enough. Checked all keyboard recommendations, and it sounded like a split keyboard could help.
After a lot of checking of different models (Mitosis, Keyboardio, Iris) I found out the Gergo. It had some interesting properties:
- Customizable with QMK firmware (more on this later)
- Relatively cheap (cheaper than most, on par with others, nice looking, unexpensive shipping)
- You can buy a pre-built kit
The last one is fundamental, since I know that if I need to assemble anything (no matter how fun it can be) it will sit undone for months or years.
I’ve been using my Gergo for more than a month already, and now is the time to share how the ride has been.
QMK
QMK is the Swiss-army knife grade firmware for keyboards. It lets you customise a lot of things, both by writing your own code and extensions and also comes with a graphical system you can use online (not in Safari).
Customising everything may sound… okay-ish, but painful. Why not use the defaults? Defaults are fine when you do default things, but a Gergo is a split, weird, 50-keys keyboard. Unless you tweak it to your liking, it’s going to be a pain. But once configured, this little thing is capable of a lot.
What does QMK offer?
In short, high customisation. For instance, QMK offerst layers, that you can switch to with modifiers. Think of them as shifted keys: pressing a modifier gets you to a different layer. Even without going into the firmware and going crazy, I have set up my Gergo to:
- Have conditional modifier keys. So, TAB doubles as Hyper (Cmd-Ctrl-Alt), and space doubles as switch-to-layer-1
- Be able to work one-handed. For no specific reason, I can use my Gergo using only the right side.
- Be as similar as possible to a “normal-ish” QWERTY. This may sound surprising, but my layout is still relatively close to normal. Except for
-
,[]
,{}
, the rest of the symbols are pretty much where you’d expect them in a normal keyboard - Have a dedicated key (in the second layer) to bring up the emoji switcher. I never remember the proper keypress for it, now it’s built in
The online configurator is easy to use: move keys around and compile the firmware. Once compiled and downloaded, you can flash your keyboard with the QMK Toolbox. In the case of the Gergo, you can set it into DFU mode by holding the right-lower blue key (where you’d expect Right Shift to be) while you plug it in.
This is what my current layout looks like
Legend and comments
LCAG_T(KC_TAB)
:Command
-Option
-Control
when held,TAB
when pressed. This is what is known as the HYPER key in most Mac circles (QMK calls Hyper all modifiers, includingshift
, at the same time)LCTL_T(KC_GRV)
: Left Control when held, grave/tilde otherwiseN/A
: Not mapped to anything (tendency to press it without intending to)LT 1, KC_SPC
: Toggle Layer 1 when held,SPACE
when pressedLT 2, KC_ESC
: Toggle Layer 2 when held,ESC
when pressedTO(4)
: Jump to layer 4LT 2, KC_ENT
: Toggle Layer 2 when held,ENTER
when pressedLT 2, KC_MINS
: Toggle Layer 2 when held, minus/dash when pressedLT 1, KC_SLASH
: Toggle Layer 1 when held, slash/question when pressed
Note that it is a pretty symmetric layout with respect to layer toggling, and otherwise has keys in “expected” places. Also, many layer toggles, you can never have enough?
Legend and comments
LCAG_T(KC_TAB)
:Command
-Option
-Control
when held,TAB
when pressedLT 2, KC_SPC
: Toggle Layer 2 when held,SPACE
when pressedLCTL_T(KC_GRV)
: LeftControl
when held, grave/tilde otherwiseLCTL(LGUI(KC), SPC)
: Show emoji picker in Mac OS
Note that hyper
, shift
and control
are kept in this layer. This is to allow stacked modifiers, so you can do control-!. Also note that SPACE
-'
(with space held) maps to return, which is relatively natural. Holding both spaces switches to layer 2. Symbols are “where you’d expect them”, just lower. So, holding SPACE
has a vibe of “holding SHIFT
”.
Legend and comments
LCAG_T(KC_TAB)
: Command-Option-Control when held,TAB
when pressedLCTL_T(KC_GRV)
: LeftControl
when held, grave/tilde otherwise
Almost nothing is preserved here: keeping hyper in the number layer allows me to do hyper-4
, which I have mapped to screenshot (and shift-hyper-4
, mapped to screenshot to disk). VIM home arrows, and volume control are here. Numbers are also where expected, holding two SPACEs or the Layer 2 toggles brings them on.
One-handed layout
This is still a work in progress I never use, but is fun to think about it.
And here you can find the JSON for it. You can upload it to the Configurator to adapt it to your needs.
Downsides of a Gergo (or most split keyboards)
- Transport hassle: The Gergo doesn’t have a case, so I have been using a Tupperware that more or less fits it neatly. It also fits well inside a Bellroy Tech Kit.
- That’s it. Once I got used to typing on it (to be fair ortholinear was harder than split), it has been a joy to use.