system-manager-wakasu
 1#+title: ZSA Moonlander QMK Config
 2
 3Custom QMK firmware for the ZSA Moonlander split keyboard (72 keys, STM32 MCU, RGB backlighting).
 4
 5* Features
 6
 7- Layouts: Bépo (primary), ErgoL, QWERTY
 8- Home row mods (280ms tapping term), smart numword layer
 9- Combos, key overrides, leader key, tap dance
10- French accents (US International layout), repeat key
11
12* Build & Flash
13
14#+begin_src bash
15./go.sh build   # Build firmware (output: build/qmk_firmware/.build/)
16./go.sh flash   # Build and flash (press reset button when prompted)
17./go.sh update  # Update QMK submodules
18./go.sh clean   # Clean build artifacts
19#+end_src
20
21* Keymap Visualization
22
23[[file:../moonlander.svg]]
24
25*Note*: Combo definitions are automatically parsed from =keymap.c= during visualization generation via =parse-combos.sh=.
26
27* Layers
28
29| Layer | Name       | Description                                                      |
30|-------+------------+------------------------------------------------------------------|
31| L0    | Bépo       | Primary French layout, home row mods, numword activation         |
32| L1    | ErgoL      | Alternative French layout                                        |
33| L2    | QWERTY     | Standard layout with home row mods                               |
34| L3    | Symbols    | Programming symbols, brackets, operators                         |
35| L4    | Numbers    | Numpad layout (auto-disable after 5s)                            |
36| L5    | Navigation | Arrows, page nav, media controls                                 |
37| L6    | Mouse      | Mouse emulation                                                  |
38| L7    | Modifiers  | Additional modifiers and function keys                           |
39
40*Home row mods (Bépo)*: Left: A(GUI) U(Alt) I(Shift) E(Ctrl) ,(Hyper) | Right: C(Hyper) T(Ctrl) S(Shift) R(Alt) N(GUI)
41
42* Configuration
43
44** Timing
45- Tapping: 280ms | Quick tap: 100ms | Flow: 150ms | Combo: 40ms | Numword timeout: 5s
46
47** Combos & Overrides
48- Layer switching, Escape, special chars (|@#$/\&-_=), brackets
49- Bépo overrides: Shift+^=!, Shift+.=:, Shift+,=;, Shift+numbers, RAlt+B=|, RAlt+Space=_
50
51** French Accents (US International)
52é è ê à â ù û î ô ë ï ç € (uppercase variants supported)
53
54** QMK Features
55*Enabled*: Combos, key overrides, leader key, repeat key, tap dance, layer lock
56*Disabled*: Audio, caps word, auto shift, console, most RGB effects (size optimization)
57
58* Usage
59
60- *Layout switching*: Bépo (Nav+Shift), ErgoL (Num+Sym), QWERTY (Del+RAlt)
61- *Numword*: Hold Space on Bépo layer (auto-disable after 5s)
62- *Leader*: Combo D+F on QWERTY
63- *Mouse toggle*: Combo Q+R
64
65* Development
66
67Files: =config/{config.h, keymap.c, layermodes.{c,h}, rules.mk}=, =go.sh=
68
69* Inspirations and References
70
71- [[https://docs.qmk.fm/][QMK Documentation]]
72- [[https://configure.zsa.io/][ZSA Oryx Configurator]]
73- [[https://github.com/manna-harbour/miryoku][Miryoku layout]]
74- [[https://sunaku.github.io/home-row-mods.html][Home row mods guide]]
75- [[https://bepo.fr][Bépo keyboard layout]]
76- [[https://ergol.org][ErgoL keyboard layout]]