This is my fork of the popular TMK Keyboard Firmware Collection. Actually it is built upon cub-uanic’s adaptation for the Ergodox. I use Neo2, this is my take at an Ergodox layout most suited for that.
I like thumb keys. I like them a lot. The main task I use them for is modifiers. This means moving Shift, Mod3/Mod4 (Neo stuff), Ctrl, Alt and Super there. Because I use i3 as my window manager and rely heavily on the Super modifier, it has to be present on both thumb clusters. That means Ctrl and Alt are not.
Another thing I wanted to modify compared to the “original” Ergodox layout was the F keys. I want them to be on the default layer. As Neo2 has built in Navigation keys, I used the keys in the bottommost row and in the topmost row of the thumb clusters. The latter I can‘t reach without huge stretching anyway.
Gaming is a thing I often do in my spare time. For some of those pesky buggers, I have to make compromises that result in extra layers (see below).
The firmware has 4 “main” layers at present. More information including the actual keymaps can be found in keymap_neo.h.
In addition, each layer has a toggle key for Layer5 that hosts some media keys, a teensy key and my very own special macro that is intended to switch computers on my kvm switch.
The layout on the image is as follows:
---------------------
| Layer0 |
| Layer3 |
| Layer1 |
---------------------
| Layer5 |
---------------------
Blank Layer1/3 Slots means the key is the same as on Layer 0. Blank Layer5 slots are actually empty. Layer2 is basically Layer1 with QWERTZ letters. See below for more information.
Standard bread and butter layer for general purpose Neo ownage :)
This layer has the left Shift thumb key replaced with space bar. The Shift keys move to the dead key locations on the outmost keys of the bottom row. Extra CTRL keys added below them. This as closely as possible mirrors standard keyboard key locations in order to have games usable that don’t allow (re-)mapping of certain keys. This mostly happens with Shift.
Additionally, Mod4 is replaced with a Layer4 toggle key. Layer4 has most of the features of Neo2’s software Layer4 rebuilt in hardware. This is, again, to increase compatibility with certain pieces of software.
Sometimes, you need all of your keys in QWERTZ-like locations. This layer allows you to do that without switching the OS’ keyboard layout. Also, hardware Layer4 again.
Last but not least, the “I can’t change the computers keyboard layout but I can’t be arsed to type QWERTZ” layer. Within the limitations of the crappy default German layout, this forms a pretty usable hardware implementation of Neo2.
I re-purposed all of the three default, right-hand side, LEDs. The topmost formerly known as num lock one now is caps lock. This is mostly because my KVM switch flashes this one in command mode. The other LEDs indicate the currently active layer:
- no LED: Layer0
- middle LED: Layer1
- bottom LED: Layer2
- middle & bottom LED: Layer3
You can find the blobs for the latest stable version under releases.
- Do the prerequisite stuff in the build doc.
git clone https://github.com/kaimi/tmk_keyboard
.cd tmk_keyboard/keyboard/ergodox
.make neo
.- Either flash manually using teensy loader or (with
teensy_loader_cli
in your PATH) runmake teensy
.
- Shift + Mod4 + <key> sucks. Granted, that pretty much only applies to Shift + arrow keys and Shift + Insert, but it really sucks.
- Ctrl + <left hand side key> requires both hands. But I can’t swap Ctrl and Alt or Ctrl + Shift + arrow keys becomes my new worst nightmare with 3 keys to press simultaneously on the left thumb cluster.