1 ## Othi's Universal HHKB keymap
4 - Colemak layout. If you don't use Colemak then you'll need to also change the arrow key bindigns in other layers
6 - Vim-like navigation layer so you can use vim binding arrowkeys in non-vim environment
8 - Good modifier support so you don't have to hold 14 modifier keys at the same time
10 - RGB indicating layer change(only work with plain colors so far, don't put your rgb to pulsing or any non static animation)
15 The base layer, default is Colemak
19 Vim-like arrowkeys in the home row, it's `LHNE` for *JENK Colemak* and `HJKL` for *QWERTY*
21 Also `HOME`, `END` and next/prev word (`Ctrl + Left/Right`) in `0, 4, w, b` like in vim
25 The same as `NM_MODE` but with `KC_LSFT` held down for mostly highlighting
27 - **ACCENT + ACCENT_CAP:**
29 Function row and Unicode characters
31 ### Modifiers and Tap Dance keys
34 - Any Tap Dance key with the format of `TD(XXX_NM)` act as normal XXX modifier upon hold, but will hold **and** put you to `NM_MODE` when double click hold(a tap before the hold)(eg you can produce `Alt + PgUp` by pressing `Alt + Alt + U`)
36 - `KC_TAB` acts as both `KC_TAB` on tap and `KC_LGUI` on hold
38 - R3 CapsLock acts as both `KC_BSPC` on tap and `KC_LCTL` on hold
40 - Holding `KC_Q` also puts you into `NM_MODE`
42 - Holding `KC_F` puts you into `VI_MODE` for fast function keys
46 - 3 keys `KC_SCLN`, `KC_DOT` and `KC_SLSH` in `CL` layer can also be held down for respectively `KC_LCTL`, `KC_LSFT`, `KC_LALT` for easier 2-hand modifier holding
48 - Right modifiers hold the selected modifier with `KC_LGUI` at the same time, mainly for i3wm, you can change this to whatever combination you want
50 ### Misc. functionalities
54 - In case the keyboard output the 4-digit codepoint instead of the actual unicode, you need to change the rewrite input mode of the keyboard into the EEPROM(you only have to do this if the EEPROM was cleared or your current machine use another unicode compose method other than IBus/Linux's `Ctrl + Shift + U`). Change the corresponding Input `void eeconfig_init_user(void)`. See [this](https://docs.qmk.fm/#/feature_unicode) for availble input modes.
56 - **NOTE:** make sure to keep your qmk env up to date with upstream