* Chocofi 36 with QMK ** The keyboard https://github.com/pashutk/chocofi/ I got a prebuilt one with hotswap and seapi picro presoldered and added my choc v1 brown switches. ** The Keymap Alpha layer is Colemak-DH mod. Since a lot of time is spent navigating code I use a locked =NAV= layer, which makes it easy to move the cursor/screen. Most of my time coding is spent in VSCode. Therefore, often used combos like =Ctrl+f=, =Ctrl+h= (find an replace) and their shifted variants (find/replace in project) are available in the =NAV= layer with single keystrokes. [[./qmk-config.png]] ** Setup Because my board uses a sea Pi Micro (RPi2040 type), I have to mount the controller as a file system and copy the firmware file to that. Most other microcontrollers want to be directly connected and flashed via USB. 1. follow QMK initial setup (python venv with pip) 2. link this directory into =qmk_firmware/keyboards/crkbd/rev1/keymaps/choc_colemak_36= 3. compile and flash assumes usb-c of the right-hand half is connected #+begin_src bash cd ~/src/qmk_firmware/ && source env/bin/activate qmk compile --keyboard=crkbd/rev1 --keymap=choc_colemak_36 -e CONVERT_TO=promicro_rp2040 sudo mount /dev/sdb? /mnt/ sudo cp crkbd_rev1_choc_colemak_36_promicro_rp2040.uf2 /mnt/ sudo umount /mnt #+end_src ** TODO Missing stuff - activate number layer with a left-hand key - additional to FUN_NAV layer, create a pure nav layer - remove HomeRowMods from FUN_NAV layer - add useful shortcuts to the new PURE_NAV layer (e.g. WM_keys) - backtick key - umlauts and sharp s - euro € key ** Ideas for improvement - for nav layer, maybe add combined keys for Ctrl+Shift, Ctrl+Alt and Shift+Alt - this seems like a great example of composed layers and support for different environments https://github.com/0x64746b/qmk_firmware/blob/chocofi/keyboards/chocofi/keymaps/dtk35/keymap.c - https://github.com/qmk/qmk_firmware/blob/master/layouts/community/ergodox/german-kinergo/keymap.c#L101 - https://github.com/manna-harbour/miryoku_qmk/blob/miryoku/users/manna-harbour_miryoku/readme.org - HomeRowMods/BottomRowMods and other ideas: https://www.reddit.com/r/ErgoMechKeyboards/comments/tiejpp/home_row_mods_what_works_for_you/ - https://precondition.github.io/home-row-mods#implementation - split up =SYM_NUM= layer, move missing symbols (from NAV layer to SYMBOLS layer) - hints for better symbols layers: https://getreuer.info/posts/keyboards/symbol-layer/index.html - make =.= and =,= available in new =NUM= layer for easier number input - build a dedicated GUI Nav layer for i3wm/sway - and probably Windows/KDE window actions - make =select words= work (by emulating Ctrl+Shift+Left/Right)