This is an implementation of the German neo-layout for the QMK firmware for the Ergodox EZ Keyboard.
Neo:
- no userland neo layout required
- supports Caps-Lock via pressing both
Shift
keys at the same time - supports lowercase
ß
and uppercaseẞ
- supports Unicode (neo layers 5/6) on Linux via ibus
- keypad on Layer 4 sends keypad keycodes
- Num-Lock is always enabled
- if it is disabled, it'll be enabled again by sending a Num-Lock key press
- required by neo layer 4 keypad
- sends Win+Shift+(1-0) instead of Win+Neo2 characters to support i3-wm move to workspace
- on layer 5 writes capital Greek letters if CapsLock is active
- button to switch sent keycodes to support both userland
de
andus
keyboard layouts
QWERTZ / QWERTY:
- qwertz for gaming such that key remapping isn't required for each game
- qwertz / qwerty switch (via same switch to toggle
de
/us
for neo)
Steno / Plover:
- layer for English stenography
- requires userland-driver
Plover
- uses GeminiPR protocol for English
- requires userland-driver
- support for both English and German (English via TX Bolt and German via GeminiPR?)
- (onboard translation not possible due to very small flash of the keyboard)
Others:
- F1-F12 Keys, Media Keys and Mouse Keys on extra layer
- NKRO enabled
- correct tri layers for neo layers 5/6 (manually implemented, not using
update_tri_layer_state
)
- Applies the qmk/qmk_firmware#2710 patch to allow rolling <> and similar
- Switch between
UC_WIN
andUC_LNX
- Compose onboard
RGB Matrix / Lighting:
- different RGB light per layer
- for the F-Media and Steno layers only light up used keys
- add special lighting for qwertz / qwerty
- Install an environment for AVR or/and ARM development as described in https://docs.qmk.fm/.
- Clone the Ergodox EZ fork of qmk_firmware by zsa, making sure to also fetch submodules (
--recurse-submodules
) from https://github.com/zsa/qmk_firmware/. - Copy this repository's
src
folder toqmk_firmware/keyboards/ergodox_ez/keymaps/neo-oberien
. - Change directory to
qmk_firmware
. - Setup QMK's environment by following the instructions at https://docs.qmk.fm/#/newbs_getting_started?id=set-up-your-environment.
- Test that the environment is completely set up by running
make ergodox_ez:default
. - Actually build this repository's firmware by running
make ergodox_ez:neo-oberien
. - Install and set up the flash tool by following its guide at https://ergodox-ez.com/pages/wally.
- Flash the firmware
On Arch Linux:
pacman -S base-devel gcc unzip wget zip avr-gcc avr-binutils avr-libc dfu-util arm-none-eabi-gcc arm-none-eabi-binutils arm-none-eabi-newlib git dfu-programmer dfu-util
git clone https://github.com/zsa/qmk_firmware/
cp -r src qmk_firmware/keyboards/ergodox_ez/keymaps/neo-oberien
cd qmk_firmware
sh util/qmk_install.sh
make ergodox_ez:default
make ergodox_ez:neo-oberien
pikaur -S zsa-wally
zsa-wally
QMK Links:
Keyboard Layouts:
-
coderkun_neo2: neo-layout with userland driver active; writes qwertz characters to be mapped by the userland driver (the PMN layer writes neo directly); Layers 1/(2)/4
-
neo2--tschulte: neo-layout in firmware; Layers 1/(2)/3/4
-
osx_neo2: Neo2 for OSX; All in all pretty good; Layers 1/2/3/4, QWERTY, Fn
-
not-quite-neo: Defines neo for both Planck and Ergodox Infinity with tradeoffs; A lot of macro magic; Layers 1/2/3/4, Fn
-
German: default German keyboard layout for the Ergodox EZ