Compare commits

...
Sign in to create a new pull request.

9 commits

Author SHA1 Message Date
afiqzudinhadi
43d82e14ff Change pos 0 from hold-tap to tap-dance: tap=grave, double-tap=ESC 2026-07-09 06:47:57 +00:00
afiqzudinhadi
437275d284 Update README + keymap-drawer docs for NAVI/HUB layer rework 2026-07-09 01:03:05 +00:00
afiqzudinhadi
9de7108d31 Rework layers: add NAVI + HUB, move ESC/TAB/BSPC/RET to dedicated keys 2026-07-09 00:47:02 +00:00
9500a74dac OLED: switch to mctechnology17, add Luna + spaceman, remove unused modules
- Switch zmk-nice-oled from KeebMaker fork to mctechnology17 original
- Enable WPM Luna dog widget on central (left) half
- Disable bongo cat to avoid luna/bongo linker collision (shared globals)
- Right peripheral: spaceman animation, disable default cat
- Remove unused west.yml deps: zmk-dongle-display, zmk-dongle-display-view,
  zmk-oled-adapter, KeebMaker remote
- Each half shows its own battery % via default battery widget
2026-07-08 15:41:23 +08:00
bf7305d901 README: fix stale rgb-layer branch reference 2026-07-01 23:12:20 +08:00
887b987b87 README: update RGB section for modular effect API 2026-07-01 22:22:25 +08:00
6767022f97 Rename keyboard to Afiq Zudin Hadi Corne 42 MX 2026-07-01 22:12:50 +08:00
bd400fd8e2 Switch to modular RGB: zmk rgb-modular-v1.1 + zmk-rgb-effects v1.1.1
- ZMK core: rgb-modular-v1.1 branch (modular effect registration API
  with persistent effects, wakeup, fade-delay, idle hooks)
- Per-key layer RGB: zmk-rgb-effects module v1.1.1
- CONFIG_EXPERIMENTAL_RGB_LAYER -> CONFIG_ZMK_RGB_EFFECT_LAYER
2026-07-01 15:42:39 +08:00
da57e65425 Note right-half pixel-lookup mirrors left, not independently mapped 2026-06-26 00:45:29 +08:00
9 changed files with 442 additions and 565 deletions

View file

@ -77,7 +77,7 @@ git clone git@github.com:afiqzudinhadi/zmk-config.git
### Edit Config Files
For full customization (combos, steno layer, behaviors):
For full customization (layers, behaviors):
```
config/
@ -188,7 +188,7 @@ The BLE name is cached in device settings. Do a [Settings Reset](#settings-reset
### Hardware
54 WS2812 LEDs total — 6 underglow + 21 per-key per half. `chain-length = <27>` set in both `config/nice_nano_v2.overlay` and `corne.keymap` (the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer)'s shield overlay defaults to 10, so keymap override is required).
54 WS2812 LEDs total — 6 underglow + 21 per-key per half. `chain-length = <27>` set in both `config/nice_nano_v2.overlay` and `corne.keymap` (the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-modular-v1.1)'s shield overlay defaults to 10, so keymap override is required).
### LED Chain Order (Foostan Corne v1.1)
@ -211,13 +211,13 @@ RGB settings are in `config/corne.conf`:
| Setting | Value | Description |
|---------|-------|-------------|
| `CONFIG_ZMK_RGB_UNDERGLOW` | `y` | Enable RGB |
| `CONFIG_ZMK_RGB_UNDERGLOW_ON_START` | `y` | On at boot |
| `CONFIG_ZMK_RGB_UNDERGLOW_ON_START` | `n` | Off at boot (toggle on via HUB layer) |
| `CONFIG_WS2812_STRIP` | `y` | WS2812 LED driver |
| `CONFIG_ZMK_RGB_UNDERGLOW_EFF_START` | `4` | Default effect (see effects table) |
| `CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP` | `1` | Brightness step (%) |
| `CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE` | `n` | Stay on when idle |
| `CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER` | `n` | Don't toggle external power with RGB |
| `CONFIG_EXPERIMENTAL_RGB_LAYER` | `y` | Enable per-key layer indicators |
| `CONFIG_ZMK_RGB_EFFECT_LAYER` | `y` | Enable per-key layer indicators ([zmk-rgb-effects](https://github.com/afiqzudinhadi/zmk-rgb-effects) module) |
Optional tuning (commented out in config):
- `HUE_STEP` / `SAT_STEP` — hue and saturation adjustment step
@ -237,7 +237,7 @@ Cycle at runtime with `RGB_EFF` (next) / `RGB_EFR` (previous).
### Per-Key Layer Indicators (Effect #4)
Uses [darknao's per-key RGB patches](https://github.com/darknao/zmk) cherry-picked onto ZMK v0.3.0 at [afiqzudinhadi/zmk@rgb-layer](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer).
Provided by the [zmk-rgb-effects](https://github.com/afiqzudinhadi/zmk-rgb-effects) module, using the modular effect API in the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-modular-v1.1). Based on [darknao's per-key RGB patches](https://github.com/darknao/zmk), refactored into a standalone ZMK module.
Shows different per-key colors based on active keymap layer. Colors are defined as hex RGB values in `corne.keymap` under the `underglow-layer` node.
@ -257,7 +257,8 @@ Custom colors: `#define CYAN 0x00ffff` then `&ug CYAN`
**Notes:**
- Underglow LEDs turn off on effect #4 (mapped to `255` in pixel-lookup). To give them layer colors, map to key positions instead of `255`.
- Brightness/hue/saturation controls don't affect layer indicator colors ([#1](https://github.com/afiqzudinhadi/zmk/issues/1), [#4](https://github.com/afiqzudinhadi/zmk/issues/4)).
- Custom RGB effects can be added in the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer) (`app/src/rgb_underglow.c`).
- **Right half** uses the same pixel-lookup as left half — colors are mirrored, not independently mapped. Looks correct on symmetric layers (CARP/QWRT) but shows wrong colors on asymmetric layers (HUB). Per-half pixel-lookup not yet implemented.
- Custom RGB effects can be added as ZMK modules using `ZMK_RGB_EFFECT_DEFINE` — see [zmk-rgb-effects README](https://github.com/afiqzudinhadi/zmk-rgb-effects#adding-custom-effects).
### Keycodes
@ -276,9 +277,12 @@ Docs: [zmk.dev/docs/keymaps/behaviors/underglow](https://zmk.dev/docs/keymaps/be
### Runtime Controls (HUB Layer)
Access: hold NAVI key (pos 12) → press HUB (pos 0), or from FPS layer (pos 11).
| Key | Action |
|-----|--------|
| `[RGB]` | Tap-dance: 1×=toggle, 2×=effect fwd, 3×=effect rev |
| `TOG` | RGB on/off toggle |
| `EFF` / `EFR` | Next/previous effect |
| `[CLR]` | Tap-dance color presets: purple → white → red → blue → green |
| `HUE+` / `HUE-` | Adjust hue |
| `SAT+` / `SAT-` | Adjust saturation |

View file

@ -4,10 +4,11 @@ include:
### CORNE START ###
- board: nice_nano_v2
shield: corne_left nice_oled
cmake-args: -DCONFIG_NICE_OLED_WIDGET_WPM_BONGO_CAT=n
artifact-name: nice_corne_left_oled_rgb
- board: nice_nano_v2
shield: corne_right nice_oled
cmake-args: -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_KM=y
cmake-args: -DCONFIG_NICE_OLED_WIDGET_WPM_BONGO_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_SPACEMAN=y
artifact-name: nice_corne_right_oled_rgb
### CORNE END ###

View file

@ -143,6 +143,17 @@ parse_config:
'&out OUT_USB': Out USB
'&out OUT_BLE': Out BLE
'&out OUT_TOG': Out Tog
'&td_esc_grave': {t: '`', s: Esc, type: tap_dance}
'&kp C_MUTE': Mute
'&kp C_PP':
'&kp C_PREV':
'&kp C_NEXT':
'&kp C_BRI_UP': Scrn+
'&kp C_BRI_DN': Scrn-
'&kp C_VOL_UP': Vol+
'&kp C_VOL_DN': Vol-
'&bt BT_SEL 0': BT 1
'&bt BT_SEL 1': BT 2
@ -317,10 +328,6 @@ parse_config:
combo_rpar: {draw_separate: true}
combo_lbkt: {draw_separate: true}
combo_rbkt: {draw_separate: true}
combo_tab: {draw_separate: true}
combo_del: {draw_separate: true}
combo_esc: {draw_separate: true}
combo_ret: {draw_separate: true}
combo_lock: {draw_separate: true}
combo_bslh: {draw_separate: true}
combo_slsh: {draw_separate: true}

View file

@ -33,7 +33,7 @@ CONFIG_ZMK_BLE_EXPERIMENTAL_SEC=n
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=n
### Keyboard name
CONFIG_ZMK_KEYBOARD_NAME="Afiq Zudin Corne42"
CONFIG_ZMK_KEYBOARD_NAME="Afiq Zudin Hadi Corne 42 MX"
CONFIG_BT_DEVICE_NAME_MAX=28
### Boost Bluetooth TX power, also make Bluetooth stronger
@ -72,7 +72,7 @@ CONFIG_ZMK_EXT_POWER=y
### RGB UNDERGLOW
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
CONFIG_WS2812_STRIP=y
# 0=Solid 1=Breathe 2=Spectrum 3=Swirl
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=4
@ -80,8 +80,8 @@ CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=n
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
### PER-KEY RGB LAYER (darknao fork)
CONFIG_EXPERIMENTAL_RGB_LAYER=y
### PER-KEY RGB LAYER (zmk-rgb-effects module)
CONFIG_ZMK_RGB_EFFECT_LAYER=y
CONFIG_ZMK_HID_INDICATORS=y
CONFIG_ZMK_SPLIT_PERIPHERAL_HID_INDICATORS=y
# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30
@ -98,13 +98,8 @@ CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y
# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
### WIDGET SETTINGS
# No Widget configurations added since nice!view has its own custom widgets
# activar solo estos dos widgets
# CONFIG_ZMK_WIDGET_WPM_STATUS=n
# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
# CONFIG_ZMK_WIDGET_LAYER_STATUS=y
# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y
# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y
CONFIG_NICE_OLED_WIDGET_WPM=y
CONFIG_NICE_OLED_WIDGET_WPM_LUNA=y
### HID para nice!view ePaperDisplay
# Enable eager debouncing

View file

@ -27,6 +27,12 @@
tapping-term-ms = <200>;
bindings = <&kp>, <&kp>;
};
td_esc_grave: td_esc_grave {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
tapping-term-ms = <200>;
bindings = <&kp GRAVE>, <&kp ESC>;
};
td_rgb: td_rgb {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
@ -58,14 +64,6 @@
combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 1>; };
combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 1>; };
combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 1>; };
// I+O (QWRT) / U+B (CARP) = BSPC
combo_bspc { key-positions = <8 9>; bindings = <&kp BSPC>; layers = <0 1>; };
// K+L (QWRT) / E+O (CARP) = ENTER
combo_enter { key-positions = <20 21>; bindings = <&kp RET>; layers = <0 1>; };
// W+E (QWRT) / G+M (CARP) = ESC
combo_esc { key-positions = <2 3>; bindings = <&kp ESC>; layers = <0 1>; };
// S+D (QWRT) / S+T (CARP) = TAB
combo_tab { key-positions = <14 15>; bindings = <&kp TAB>; layers = <0 1>; };
};
/*
@ -157,17 +155,31 @@
>;
};
hub_rgb {
navi_rgb {
layer-id = <4>;
bindings = <
&ug RED &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE
&ug BLUE &ug YELLOW &ug YELLOW &ug YELLOW &ug BLUE &ug BLUE
&ug ORANGE &ug ORANGE &ug ORANGE &ug ORANGE &ug TEAL &ug TEAL
&ug BLUE &ug YELLOW &ug YELLOW &ug YELLOW &ug BLUE &ug BLUE
&ug WHITE &ug ORANGE &ug ORANGE &ug ORANGE &ug TEAL &ug TEAL
&ug GREEN &ug GREEN &ug GREEN &ug GREEN &ug GOLD &ug WHITE
&ug PURPLE &ug WHITE &ug WHITE
&ug WHITE &ug WHITE &ug PURPLE
&ug PURPLE &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW
&ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE
&ug ___ &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW
&ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE
&ug WHITE &ug ___ &ug ___ &ug ___ &ug ___ &ug ___
&ug ___ &ug ___ &ug ___ &ug ___ &ug ___ &ug WHITE
&ug WHITE &ug WHITE &ug WHITE
&ug WHITE &ug WHITE &ug WHITE
>;
};
hub_rgb {
layer-id = <5>;
bindings = <
&ug GREEN &ug GREEN &ug GREEN &ug GREEN &ug ___ &ug ORANGE
&ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug RED
&ug ___ &ug ___ &ug ___ &ug ___ &ug TEAL &ug TEAL
&ug PURPLE &ug PURPLE &ug PURPLE &ug ORANGE &ug ___ &ug WHITE
&ug ___ &ug ___ &ug ___ &ug ___ &ug TEAL &ug TEAL
&ug PURPLE &ug PURPLE &ug PURPLE &ug ___ &ug ___ &ug ___
&ug ORANGE &ug ORANGE &ug ORANGE
&ug BLUE &ug BLUE &ug BLUE
>;
fade-delay = <15>;
};
@ -179,27 +191,27 @@
carpalx_layer {
display-name = "CARP";
bindings = <
&kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 4
&td_esc_grave &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &kp TAB
&mo 4 &kp D &kp S &kp T &kp N &kp R &kp I &kp A &kp E &kp O &kp H &kp SQT
&kp LSHFT &kp Z &kp X &kp C &kp V &kp J &kp K &kp P &kp COMMA &kp DOT &kp FSLH &kp RSHFT
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
&kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT
>;
};
qwerty_layer {
display-name = "QWRT";
bindings = <
&kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 4
&td_esc_grave &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp TAB
&mo 4 &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
&kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT
>;
};
steno_layer {
display-name = "STEN";
bindings = <
&none &none &none &none &none &none &none &none &none &none &none &to 4
&none &none &none &none &none &none &none &none &none &none &none &none
&mo 4 &none &none &none &none &none &none &none &none &none &none &none
&none &none &none &none &none &none &none &none &none &none &none &none
&none &none &none &none &none &none
@ -209,20 +221,30 @@
fps_layer {
display-name = "FPS";
bindings = <
&mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 4
&mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 5
&kp TAB &kp LSHFT &kp A &kp S &kp D &kp F &none &none &none &none &none &none
&mt LALT M &kp Z &kp X &kp C &kp V &kp G &none &none &none &none &none &none
&kp T &kp LCTRL &kp SPACE &none &none &none
>;
};
navi_layer {
display-name = "NAVI";
bindings = <
&to 5 &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL
&none &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH
&kp LSHFT &none &none &none &none &none &none &none &none &none &none &kp RSHFT
&kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT
>;
};
hub_layer {
display-name = "HUB";
bindings = <
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL
&out OUT_TOG &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRI &kp C_BRI_UP &kp C_VOL_UP &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH
&kp LSHFT &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRD &kp C_BRI_DN &kp C_VOL_DN &to 0 &to 1 &to 2 &to 3 &td_colors &kp RSHFT
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
&to 0 &to 1 &to 2 &to 3 &none &kp C_PP &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR
&none &none &none &none &kp C_BRI_UP &kp C_VOL_UP &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRD &td_colors &none &out OUT_TOG
&none &none &none &none &kp C_BRI_DN &kp C_VOL_DN &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRI &none &none &none
&kp C_PREV &kp C_NEXT &kp C_MUTE &rgb_ug RGB_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF
>;
};

View file

@ -5,36 +5,21 @@ manifest:
# ZMK fork with per-key RGB layer support (darknao's patches on v0.3.0)
- name: afiqzudinhadi-zmk
url-base: https://github.com/afiqzudinhadi
# dongle_display
- name: englmaxi
url-base: https://github.com/englmaxi
# nice_oled - nice_epaper - dongle_display!view - oled Adapter
# nice_oled widgets (battery, luna, animations)
- name: mctechnology17
url-base: https://github.com/mctechnology17
# fork of zmk-nice-oled with custom KM medal animation
- name: KeebMaker
url-base: https://github.com/KeebMaker
projects:
# Personal fork of ZMK v0.3.0 + darknao's per-key RGB layer patches.
# Base is v0.3.0 (not main) — see commit history for patch attribution.
# Personal fork of ZMK v0.3.0 + modular RGB effect API.
- name: zmk
remote: afiqzudinhadi-zmk
revision: rgb-layer
revision: rgb-modular-v1.1
import: app/west.yml
# dongle_display
- name: zmk-dongle-display
remote: englmaxi
revision: v0.3
# nice_oled - nice_epaper (fork with custom KM medal animation)
# Modular RGB effects module (per-key layer, behaviors, DTS bindings)
- name: zmk-rgb-effects
remote: afiqzudinhadi-zmk
revision: v1.1.1
# nice_oled widgets (battery, luna, animations)
- name: zmk-nice-oled
remote: KeebMaker
revision: km-medal-animation
# dongle_display!view
- name: zmk-dongle-display-view
remote: mctechnology17
revision: main
# oled Adapter
- name: zmk-oled-adapter
remote: mctechnology17
revision: main
self:

View file

@ -12,35 +12,30 @@
## Layer 0: CARP (Carpalx QGMLWY)
```
` Q G M L W | Y F U B ; ->HUB
[HUB] D S T N R | I A E O H '
`/ESC Q G M L W | Y F U B ; TAB
[NAVI] D S T N R | I A E O H '
LSHFT Z X C V J | K P , . / RSHFT
[RGB] CTRL GUI | SPC ALT MUTE/PP
CTRL RET GUI | SPC BSPC ALT
```
**Combos (layers 0+1):**
- Top+home row same col = `1`-`0`, shift+combo = `!` `@` `#` `$` `%` `^` `&` `*` `(` `)`
- G+M (W+E on QWRT) = ESC
- S+T (S+D on QWRT) = TAB
- U+B (I+O on QWRT) = BSPC
- E+O (K+L on QWRT) = ENTER
| Key | Behavior |
|-----|----------|
| `[HUB]` | Hold opens HUB layer, release goes back |
| `[RGB]` | Tap-dance: 1x=toggle, 2x=effect fwd, 3x=effect rev |
| `MUTE/PP` | Tap mute, hold play/pause |
| `` ` ``/ESC | Tap = grave, hold = ESC |
| `[NAVI]` | Hold opens NAVI layer, release goes back |
## Layer 1: QWRT (QWERTY)
```
` Q W E R T | Y U I O P ->HUB
[HUB] A S D F G | H J K L ; '
`/ESC Q W E R T | Y U I O P TAB
[NAVI] A S D F G | H J K L ; '
LSHFT Z X C V B | N M , . / RSHFT
[RGB] CTRL GUI | SPC ALT MUTE/PP
CTRL RET GUI | SPC BSPC ALT
```
Combos: same as CARP (top+home = 1-0, W+E = ESC, S+D = TAB, I+O = BSPC, K+L = ENTER)
Combos: same as CARP (top+home = 1-0)
## Layer 2: STEN (Placeholder)
@ -61,14 +56,28 @@ M/ALT Z X C V G | _ _ _ _ _ _
| `E` | Tap = E, hold = 3 |
| `R` | Tap = R, hold = 4 |
| `M` | Tap = M, hold = ALT |
| `->HUB` | Press to go to HUB layer |
## Layer 4: HUB (Utility — BT, RGB, Media, Nav)
## Layer 4: NAVI (Numbers, Nav, Symbols)
```
BT_CLR BT0 BT1 BT2 BT3 BT4 | + [ UP ] * =
OUT_TOG HUE+ SAT+ BRT+ SCRN+ VOL+ | - LEFT DOWN RIGHT / \
LSHFT HUE- SAT- BRT- SCRN- VOL- | ->CARP ->QWRT ->STEN ->FPS [CLR] RSHFT
[RGB] CTRL GUI | SPC ALT MUTE/PP
->HUB 1 2 3 4 5 | + [ UP ] * =
_ 6 7 8 9 0 | - LEFT DOWN RIGHT / \
LSHFT _ _ _ _ _ | _ _ _ _ _ RSHFT
CTRL RET GUI | SPC BSPC ALT
```
| Key | Action |
|-----|--------|
| `->HUB` | Press to go to HUB layer |
## Layer 5: HUB (Media, BT, RGB, Layer Switch)
```
->CARP ->QWRT ->STEN ->FPS _ PP | BT0 BT1 BT2 BT3 BT4 BT_CLR
_ _ _ _ SCRN+ VOL+ | HUE+ SAT+ BRT- [CLR] _ OUT_TOG
_ _ _ _ SCRN- VOL- | HUE- SAT- BRT+ _ _ _
PREV NEXT MUTE | TOG EFR EFF
```
| Key | Action |
@ -77,6 +86,9 @@ LSHFT HUE- SAT- BRT- SCRN- VOL- | ->CARP ->QWRT ->STEN ->FPS [CLR] R
| `HUE/SAT/BRT` | RGB underglow hue, saturation, brightness |
| `SCRN` | Display brightness (C_BRI_UP/DN) |
| `VOL` | Volume up/down |
| `[RGB]` | Tap-dance: 1x=toggle, 2x=effect fwd, 3x=effect rev |
| `PREV/NEXT` | Track previous/next |
| `PP` | Play/pause |
| `MUTE` | Mute toggle |
| `TOG` | RGB on/off |
| `EFF/EFR` | RGB effect next/previous |
| `[CLR]` | Tap-dance color presets: 1x=purple, 2x=white, 3x=red, 4x=blue, 5x=green |
| `MUTE/PP` | Tap mute, hold play/pause |

View file

@ -1,4 +1,4 @@
<svg width="940" height="1961" viewBox="0 0 940 1961" class="keymap" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="920" height="2040" viewBox="0 0 920 2040" class="keymap" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>/* start glyphs */
<svg id="mdi:apple-keyboard-command">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-apple-keyboard-command" viewBox="0 0 24 24"><path d="M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z" /></svg>
@ -24,9 +24,18 @@
<svg id="mdi:led-outline">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-led-outline" viewBox="0 0 24 24"><path d="M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M12,8A2,2 0 0,1 14,10V15H10V10A2,2 0 0,1 12,8Z" /></svg>
</svg>
<svg id="mdi:page-next-outline">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-page-next-outline" viewBox="0 0 24 24"><path d="M22,3H5A2,2 0 0,0 3,5V9H5V5H22V19H5V15H3V19A2,2 0 0,0 5,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M7,15V13H0V11H7V9L11,12L7,15M20,13H13V11H20V13M20,9H13V7H20V9M17,17H13V15H17V17Z" /></svg>
</svg>
<svg id="mdi:page-previous-outline">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-page-previous-outline" viewBox="0 0 24 24"><path d="M2,3H19A2,2 0 0,1 21,5V9H19V5H2V19H19V15H21V19A2,2 0 0,1 19,21H2A2,2 0 0,1 0,19V5A2,2 0 0,1 2,3M17,15V13H24V11H17V9L13,12L17,15M4,13H11V11H4V13M4,9H11V7H4V9M4,17H8V15H4V17Z" /></svg>
</svg>
<svg id="mdi:palette">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-palette" viewBox="0 0 24 24"><path d="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z" /></svg>
</svg>
<svg id="mdi:toggle-switch">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-toggle-switch" viewBox="0 0 24 24"><path d="M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z" /></svg>
</svg>
<svg id="tabler:brightness-down">
<svg
xmlns="http://www.w3.org/2000/svg"
@ -297,9 +306,10 @@ rect.held, rect.combo.held {
<g transform="translate(40, 0)" class="layer-CARP">
<text x="0" y="28" class="label" id="CARP">CARP:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 49)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">`</text>
<g transform="translate(28, 49)" class="key tap_dance keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key tap_dance"/>
<text x="0" y="0" class="key tap_dance tap">`</text>
<text x="0" y="-24" class="key tap_dance shifted">Esc</text>
</g>
<g transform="translate(84, 49)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -343,14 +353,12 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(812, 49)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
</a><text x="0" y="24" class="key hold">toggle</text>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(28, 105)" class="key keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
<a href="#NAVI">
<text x="0" y="0" class="key tap layer-activator">NAVI</text>
</a></g>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -446,11 +454,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(224, 205)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 86%">&amp;td_rgb</tspan></text>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
</g>
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
@ -462,12 +470,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
<use href="#mdi:backspace-outline" xlink:href="#mdi:backspace-outline" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:backspace-outline"/>
</g>
<g transform="translate(616, 205)" class="key keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">MUTE</text>
<text x="0" y="24" class="key hold"><tspan style="font-size: 60%">PLAY PAUSE</tspan></text>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
</g>
<g class="combo combopos-0">
<rect rx="6" ry="6" x="70" y="64" width="28" height="26" class="combo"/>
@ -509,22 +516,15 @@ rect.held, rect.combo.held {
<rect rx="6" ry="6" x="742" y="64" width="28" height="26" class="combo"/>
<text x="756" y="77" class="combo tap">0</text>
</g>
<g class="combo combopos-10">
<rect rx="6" ry="6" x="658" y="18" width="28" height="26" class="combo"/>
<use href="#mdi:backspace-outline" xlink:href="#mdi:backspace-outline" x="663" y="22" height="18" width="18.0" class="combo tap glyph mdi:backspace-outline"/>
</g>
<g class="combo combopos-11">
<rect rx="6" ry="6" x="658" y="74" width="28" height="26" class="combo"/>
<text x="672" y="88" class="combo tap"></text>
</g>
</g>
</g>
<g transform="translate(40, 331)" class="layer-QWRT">
<text x="0" y="28" class="label" id="QWRT">QWRT:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 49)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">`</text>
<g transform="translate(28, 49)" class="key tap_dance keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key tap_dance"/>
<text x="0" y="0" class="key tap_dance tap">`</text>
<text x="0" y="-24" class="key tap_dance shifted">Esc</text>
</g>
<g transform="translate(84, 49)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -568,14 +568,12 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(812, 49)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
</a><text x="0" y="24" class="key hold">toggle</text>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(28, 105)" class="key keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
<a href="#NAVI">
<text x="0" y="0" class="key tap layer-activator">NAVI</text>
</a></g>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -671,11 +669,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(224, 205)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 86%">&amp;td_rgb</tspan></text>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
</g>
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
@ -687,12 +685,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
<use href="#mdi:backspace-outline" xlink:href="#mdi:backspace-outline" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:backspace-outline"/>
</g>
<g transform="translate(616, 205)" class="key keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">MUTE</text>
<text x="0" y="24" class="key hold"><tspan style="font-size: 60%">PLAY PAUSE</tspan></text>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
</g>
<g class="combo combopos-0">
<rect rx="6" ry="6" x="70" y="64" width="28" height="26" class="combo"/>
@ -734,14 +731,6 @@ rect.held, rect.combo.held {
<rect rx="6" ry="6" x="742" y="64" width="28" height="26" class="combo"/>
<text x="756" y="77" class="combo tap">0</text>
</g>
<g class="combo combopos-10">
<rect rx="6" ry="6" x="658" y="18" width="28" height="26" class="combo"/>
<use href="#mdi:backspace-outline" xlink:href="#mdi:backspace-outline" x="663" y="22" height="18" width="18.0" class="combo tap glyph mdi:backspace-outline"/>
</g>
<g class="combo combopos-11">
<rect rx="6" ry="6" x="658" y="74" width="28" height="26" class="combo"/>
<text x="672" y="88" class="combo tap"></text>
</g>
</g>
</g>
<g transform="translate(40, 661)" class="layer-STEN">
@ -782,14 +771,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(812, 49)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(28, 105)" class="key keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
<a href="#NAVI">
<text x="0" y="0" class="key tap layer-activator">NAVI</text>
</a></g>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -1044,44 +1030,34 @@ rect.held, rect.combo.held {
</g>
</g>
</g>
<g transform="translate(40, 1323)" class="layer-HUB">
<text x="0" y="28" class="label" id="HUB">HUB:</text>
<g transform="translate(40, 1323)" class="layer-NAVI">
<text x="0" y="28" class="label" id="NAVI">NAVI:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 49)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">CLR</tspan>
</text>
<a href="#HUB">
<text x="0" y="0" class="key tap layer-activator">HUB</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(84, 49)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">1</tspan>
</text>
<text x="0" y="0" class="key tap">1</text>
</g>
<g transform="translate(140, 35)" class="key keypos-2">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">2</tspan>
</text>
<text x="0" y="0" class="key tap">2</text>
</g>
<g transform="translate(196, 28)" class="key keypos-3">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">3</tspan>
</text>
<text x="0" y="0" class="key tap">3</text>
</g>
<g transform="translate(252, 35)" class="key keypos-4">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">4</tspan>
</text>
<text x="0" y="0" class="key tap">4</text>
</g>
<g transform="translate(308, 42)" class="key keypos-5">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">5</tspan>
</text>
<text x="0" y="0" class="key tap">5</text>
</g>
<g transform="translate(532, 42)" class="key keypos-6">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -1109,36 +1085,26 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(28, 105)" class="key held keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key held"/>
<text x="0" y="0" class="key held tap">
<tspan x="0" dy="-0.6em">OUT</tspan><tspan x="0" dy="1.2em">TOG</tspan>
</text>
</g>
<g transform="translate(84, 105)" class="key sym_by_sym keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#mdi:palette" xlink:href="#mdi:palette" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:palette"/>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">6</text>
</g>
<g transform="translate(140, 91)" class="key sym_by_sym keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#mdi:eyedropper" xlink:href="#mdi:eyedropper" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:eyedropper"/>
<g transform="translate(140, 91)" class="key keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">7</text>
</g>
<g transform="translate(196, 84)" class="key sym_by_sym keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#tabler:brightness-down" xlink:href="#tabler:brightness-down" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph tabler:brightness-down"/>
<g transform="translate(196, 84)" class="key keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">8</text>
</g>
<g transform="translate(252, 91)" class="key keypos-16">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BRI</tspan><tspan x="0" dy="1.2em">UP</tspan>
</text>
<text x="0" y="0" class="key tap">9</text>
</g>
<g transform="translate(308, 98)" class="key keypos-17">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">Vol</tspan><tspan x="0" dy="1.2em">Up</tspan>
</text>
<text x="0" y="0" class="key tap">0</text>
</g>
<g transform="translate(532, 98)" class="key keypos-18">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -1168,60 +1134,35 @@ rect.held, rect.combo.held {
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-shift" xlink:href="#mdi:apple-keyboard-shift" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-shift"/>
</g>
<g transform="translate(84, 161)" class="key sym_by_sym keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#mdi:palette" xlink:href="#mdi:palette" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:palette"/>
<g transform="translate(84, 161)" class="key keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(140, 147)" class="key sym_by_sym keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#mdi:eyedropper" xlink:href="#mdi:eyedropper" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:eyedropper"/>
<g transform="translate(140, 147)" class="key keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(196, 140)" class="key sym_by_sym keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#tabler:brightness-up" xlink:href="#tabler:brightness-up" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph tabler:brightness-up"/>
<g transform="translate(196, 140)" class="key keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(252, 147)" class="key keypos-28">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BRI</tspan><tspan x="0" dy="1.2em">DN</tspan>
</text>
</g>
<g transform="translate(308, 154)" class="key keypos-29">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">Vol</tspan><tspan x="0" dy="1.2em">Down</tspan>
</text>
</g>
<g transform="translate(532, 154)" class="key keypos-30">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#CARP">
<text x="0" y="0" class="key tap layer-activator">CARP</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(588, 147)" class="key keypos-31">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#QWRT">
<text x="0" y="0" class="key tap layer-activator">QWRT</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(644, 140)" class="key keypos-32">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#STEN">
<text x="0" y="0" class="key tap layer-activator">STEN</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(700, 147)" class="key keypos-33">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#FPS">
<text x="0" y="0" class="key tap layer-activator">FPS</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(756, 161)" class="key keypos-34">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 60%">&amp;td_colors</tspan></text>
</g>
<g transform="translate(812, 161)" class="key keypos-35">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -1229,11 +1170,11 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(224, 205)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 86%">&amp;td_rgb</tspan></text>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
</g>
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
@ -1245,282 +1186,204 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
<use href="#mdi:backspace-outline" xlink:href="#mdi:backspace-outline" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:backspace-outline"/>
</g>
<g transform="translate(616, 205)" class="key keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">MUTE</text>
<text x="0" y="24" class="key hold"><tspan style="font-size: 60%">PLAY PAUSE</tspan></text>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
</g>
</g>
</g>
<text x="40" y="1681" class="label" id="Combos">Combos:</text>
<g transform="translate(40, 1653)" class="layer-combopos-0">
<g transform="translate(40, 1653)" class="layer-HUB">
<text x="0" y="28" class="label" id="HUB">HUB:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 28)" class="key combo-separate keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key combo-separate"/>
<text x="0" y="0" class="key combo-separate tap">Esc</text>
<g transform="translate(28, 49)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#CARP">
<text x="0" y="0" class="key tap layer-activator">CARP</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(84, 49)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#QWRT">
<text x="0" y="0" class="key tap layer-activator">QWRT</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(140, 35)" class="key keypos-2">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#STEN">
<text x="0" y="0" class="key tap layer-activator">STEN</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(196, 28)" class="key keypos-3">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<a href="#FPS">
<text x="0" y="0" class="key tap layer-activator">FPS</text>
</a><text x="0" y="24" class="key hold">toggle</text>
</g>
<g transform="translate(252, 35)" class="key keypos-4">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(308, 42)" class="key keypos-5">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(532, 42)" class="key keypos-6">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">1</tspan>
</text>
</g>
<g transform="translate(588, 35)" class="key keypos-7">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">2</tspan>
</text>
</g>
<g transform="translate(644, 28)" class="key keypos-8">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">3</tspan>
</text>
</g>
<g transform="translate(700, 35)" class="key keypos-9">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">4</tspan>
</text>
</g>
<g transform="translate(756, 49)" class="key keypos-10">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">5</tspan>
</text>
</g>
<g transform="translate(812, 49)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">BT</tspan><tspan x="0" dy="1.2em">CLR</tspan>
</text>
</g>
<g transform="translate(28, 105)" class="key keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(140, 91)" class="key keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(196, 84)" class="key keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(252, 91)" class="key keypos-16">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Scrn+</text>
</g>
<g transform="translate(308, 98)" class="key keypos-17">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Vol+</text>
</g>
<g transform="translate(532, 98)" class="key sym_by_sym keypos-18">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#mdi:palette" xlink:href="#mdi:palette" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:palette"/>
</g>
<g transform="translate(588, 91)" class="key sym_by_sym keypos-19">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#mdi:eyedropper" xlink:href="#mdi:eyedropper" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:eyedropper"/>
</g>
<g transform="translate(644, 84)" class="key sym_by_sym keypos-20">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#tabler:brightness-up" xlink:href="#tabler:brightness-up" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph tabler:brightness-up"/>
</g>
<g transform="translate(700, 91)" class="key keypos-21">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 60%">&amp;td_colors</tspan></text>
</g>
<g transform="translate(756, 105)" class="key keypos-22">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(812, 105)" class="key keypos-23">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">Out</tspan><tspan x="0" dy="1.2em">Tog</tspan>
</text>
</g>
<g transform="translate(28, 161)" class="key keypos-24">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(84, 161)" class="key keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(140, 147)" class="key keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(14, 82)" class="key keypos-1">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(196, 140)" class="key keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(252, 147)" class="key keypos-28">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Scrn-</text>
</g>
<g transform="translate(308, 154)" class="key keypos-29">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Vol-</text>
</g>
<g transform="translate(532, 154)" class="key sym_by_sym keypos-30">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#mdi:palette" xlink:href="#mdi:palette" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:palette"/>
</g>
<g transform="translate(42, 82)" class="key keypos-2">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(588, 147)" class="key sym_by_sym keypos-31">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-on"/>
<use href="#mdi:eyedropper" xlink:href="#mdi:eyedropper" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph mdi:eyedropper"/>
</g>
<g transform="translate(70, 76)" class="key held keypos-3">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key held"/>
<g transform="translate(644, 140)" class="key sym_by_sym keypos-32">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key sym_by_sym"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-9" y="-9" height="18" width="18.0" class="key sym_by_sym tap glyph mdi:led-outline"/>
<use href="#tabler:brightness-down" xlink:href="#tabler:brightness-down" x="-8" y="-24" height="15" width="15.0" class="key sym_by_sym shifted glyph tabler:brightness-down"/>
</g>
<g transform="translate(98, 72)" class="key held keypos-4">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key held"/>
<g transform="translate(700, 147)" class="key keypos-33">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(126, 76)" class="key keypos-5">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(756, 161)" class="key keypos-34">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(154, 79)" class="key keypos-6">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(812, 161)" class="key keypos-35">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(266, 79)" class="key keypos-7">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(224, 205)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(294, 76)" class="key keypos-8">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"></text>
</g>
<g transform="translate(322, 72)" class="key keypos-9">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
<text x="0" y="0" class="key tap">Mute</text>
</g>
<g transform="translate(350, 76)" class="key keypos-10">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(489, 224) rotate(-30.0)" class="key toggle keypos-39">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key toggle"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key toggle tap glyph mdi:led-on"/>
<use href="#mdi:toggle-switch" xlink:href="#mdi:toggle-switch" x="-8" y="23" height="15" width="15.0" class="key toggle hold glyph mdi:toggle-switch"/>
<use href="#mdi:led-outline" xlink:href="#mdi:led-outline" x="-8" y="-38" height="15" width="15.0" class="key toggle shifted glyph mdi:led-outline"/>
</g>
<g transform="translate(378, 82)" class="key keypos-11">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(554, 213) rotate(-15.0)" class="key tap_dance keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key tap_dance"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key tap_dance tap glyph mdi:led-on"/>
<use href="#mdi:page-next-outline" xlink:href="#mdi:page-next-outline" x="-8" y="9" height="15" width="15.0" class="key tap_dance hold glyph mdi:page-next-outline"/>
</g>
<g transform="translate(406, 82)" class="key keypos-12">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
<g transform="translate(616, 205)" class="key tap_dance keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key tap_dance"/>
<use href="#mdi:led-on" xlink:href="#mdi:led-on" x="-9" y="-9" height="18" width="18.0" class="key tap_dance tap glyph mdi:led-on"/>
<use href="#mdi:page-previous-outline" xlink:href="#mdi:page-previous-outline" x="-8" y="9" height="15" width="15.0" class="key tap_dance hold glyph mdi:page-previous-outline"/>
</g>
<g transform="translate(14, 110)" class="key keypos-13">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(42, 110)" class="key keypos-14">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(70, 104)" class="key keypos-15">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(98, 100)" class="key keypos-16">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(126, 104)" class="key keypos-17">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(154, 107)" class="key keypos-18">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(266, 107)" class="key keypos-19">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(294, 104)" class="key keypos-20">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(322, 100)" class="key keypos-21">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(350, 104)" class="key keypos-22">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(378, 110)" class="key keypos-23">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(406, 110)" class="key keypos-24">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(14, 138)" class="key keypos-25">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(42, 138)" class="key keypos-26">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(70, 132)" class="key keypos-27">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(98, 128)" class="key keypos-28">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(126, 132)" class="key keypos-29">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(154, 135)" class="key keypos-30">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(266, 135)" class="key keypos-31">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(294, 132)" class="key keypos-32">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(322, 128)" class="key keypos-33">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(350, 132)" class="key keypos-34">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(378, 138)" class="key keypos-35">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(406, 138)" class="key keypos-36">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(112, 160)" class="key keypos-37">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(143, 165) rotate(15.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(176, 170) rotate(30.0)" class="key keypos-39">
<rect rx="6" ry="6" x="-12" y="-19" width="24" height="38" class="key"/>
</g>
<g transform="translate(244, 170) rotate(-30.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-12" y="-19" width="24" height="38" class="key"/>
</g>
<g transform="translate(277, 165) rotate(-15.0)" class="key keypos-41">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(308, 160)" class="key keypos-42">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
</g>
</g>
<g transform="translate(500, 1653)" class="layer-combopos-1">
<g transform="translate(0, 56)">
<g transform="translate(28, 28)" class="key combo-separate keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key combo-separate"/>
<text x="0" y="0" class="key combo-separate tap"></text>
</g>
<g transform="translate(14, 82)" class="key keypos-1">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(42, 82)" class="key keypos-2">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(70, 76)" class="key keypos-3">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(98, 72)" class="key keypos-4">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(126, 76)" class="key keypos-5">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(154, 79)" class="key keypos-6">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(266, 79)" class="key keypos-7">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(294, 76)" class="key keypos-8">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(322, 72)" class="key keypos-9">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(350, 76)" class="key keypos-10">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(378, 82)" class="key keypos-11">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(406, 82)" class="key keypos-12">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(14, 110)" class="key keypos-13">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(42, 110)" class="key keypos-14">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(70, 104)" class="key held keypos-15">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key held"/>
</g>
<g transform="translate(98, 100)" class="key held keypos-16">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key held"/>
</g>
<g transform="translate(126, 104)" class="key keypos-17">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(154, 107)" class="key keypos-18">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(266, 107)" class="key keypos-19">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(294, 104)" class="key keypos-20">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(322, 100)" class="key keypos-21">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(350, 104)" class="key keypos-22">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(378, 110)" class="key keypos-23">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(406, 110)" class="key keypos-24">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(14, 138)" class="key keypos-25">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(42, 138)" class="key keypos-26">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(70, 132)" class="key keypos-27">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(98, 128)" class="key keypos-28">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(126, 132)" class="key keypos-29">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(154, 135)" class="key keypos-30">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(266, 135)" class="key keypos-31">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(294, 132)" class="key keypos-32">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(322, 128)" class="key keypos-33">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(350, 132)" class="key keypos-34">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(378, 138)" class="key keypos-35">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(406, 138)" class="key keypos-36">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(112, 160)" class="key keypos-37">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(143, 165) rotate(15.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(176, 170) rotate(30.0)" class="key keypos-39">
<rect rx="6" ry="6" x="-12" y="-19" width="24" height="38" class="key"/>
</g>
<g transform="translate(244, 170) rotate(-30.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-12" y="-19" width="24" height="38" class="key"/>
</g>
<g transform="translate(277, 165) rotate(-15.0)" class="key keypos-41">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
<g transform="translate(308, 160)" class="key keypos-42">
<rect rx="6" ry="6" x="-12" y="-12" width="24" height="24" class="key"/>
</g>
</g>
</g>
<text x="900.0" y="1933.0" class="footer">Keymap View: <a href="https://github.com/caksoylar/keymap-drawer">keymap-drawer</a></text></svg>
<text x="880.0" y="2012.0" class="footer">Keymap View: <a href="https://github.com/caksoylar/keymap-drawer">keymap-drawer</a></text></svg>

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Before After
Before After

View file

@ -1,7 +1,7 @@
layout: {zmk_keyboard: corne}
layers:
CARP:
- '`'
- {t: '`', s: Esc, type: tap_dance}
- Q
- G
- M
@ -12,8 +12,8 @@ layers:
- U
- B
- ;
- {t: HUB, h: toggle}
- HUB
-
- NAVI
- D
- S
- T
@ -37,14 +37,14 @@ layers:
- .
- /
- $$mdi:apple-keyboard-shift$$
- '&td_rgb'
- $$mdi:apple-keyboard-control$$
-
- $$mdi:apple-keyboard-command$$
-
- $$mdi:backspace-outline$$
- $$mdi:apple-keyboard-option$$
- {t: MUTE, h: PLAY PAUSE}
QWRT:
- '`'
- {t: '`', s: Esc, type: tap_dance}
- Q
- W
- E
@ -55,8 +55,8 @@ layers:
- I
- O
- P
- {t: HUB, h: toggle}
- HUB
-
- NAVI
- A
- S
- D
@ -80,55 +80,14 @@ layers:
- .
- /
- $$mdi:apple-keyboard-shift$$
- '&td_rgb'
- $$mdi:apple-keyboard-control$$
-
- $$mdi:apple-keyboard-command$$
-
- $$mdi:backspace-outline$$
- $$mdi:apple-keyboard-option$$
- {t: MUTE, h: PLAY PAUSE}
STEN:
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- {t: HUB, h: toggle}
- HUB
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
STEN: ['', '', '', '', '', '', '', '', '', '', '', '', NAVI, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '']
FPS:
- {t: '1', h: Esc}
- '2'
@ -172,25 +131,25 @@ layers:
- ''
- ''
- ''
HUB:
- BT CLR
- BT 1
- BT 2
- BT 3
- BT 4
- BT 5
NAVI:
- {t: HUB, h: toggle}
- '1'
- '2'
- '3'
- '4'
- '5'
- +
- '['
-
- ']'
- '*'
- '='
- {t: OUT TOG, type: held}
- {t: '$$mdi:led-on$$', s: '$$mdi:palette$$', type: sym_by_sym}
- {t: '$$mdi:led-outline$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
- {t: '$$mdi:led-outline$$', s: '$$tabler:brightness-down$$', type: sym_by_sym}
- BRI UP
- Vol Up
- {type: held}
- '6'
- '7'
- '8'
- '9'
- '0'
- '-'
-
-
@ -198,23 +157,66 @@ layers:
- /
- \
- $$mdi:apple-keyboard-shift$$
- {t: '$$mdi:led-outline$$', s: '$$mdi:palette$$', type: sym_by_sym}
- {t: '$$mdi:led-on$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
- {t: '$$mdi:led-on$$', s: '$$tabler:brightness-up$$', type: sym_by_sym}
- BRI DN
- Vol Down
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- $$mdi:apple-keyboard-shift$$
- $$mdi:apple-keyboard-control$$
-
- $$mdi:apple-keyboard-command$$
-
- $$mdi:backspace-outline$$
- $$mdi:apple-keyboard-option$$
HUB:
- {t: CARP, h: toggle}
- {t: QWRT, h: toggle}
- {t: STEN, h: toggle}
- {t: FPS, h: toggle}
- ''
-
- BT 1
- BT 2
- BT 3
- BT 4
- BT 5
- BT CLR
- ''
- ''
- ''
- ''
- Scrn+
- Vol+
- {t: '$$mdi:led-on$$', s: '$$mdi:palette$$', type: sym_by_sym}
- {t: '$$mdi:led-outline$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
- {t: '$$mdi:led-on$$', s: '$$tabler:brightness-up$$', type: sym_by_sym}
- '&td_colors'
- $$mdi:apple-keyboard-shift$$
- '&td_rgb'
- $$mdi:apple-keyboard-control$$
- $$mdi:apple-keyboard-command$$
-
- $$mdi:apple-keyboard-option$$
- {t: MUTE, h: PLAY PAUSE}
- ''
- Out Tog
- ''
- ''
- ''
- ''
- Scrn-
- Vol-
- {t: '$$mdi:led-outline$$', s: '$$mdi:palette$$', type: sym_by_sym}
- {t: '$$mdi:led-on$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
- {t: '$$mdi:led-outline$$', s: '$$tabler:brightness-down$$', type: sym_by_sym}
- ''
- ''
- ''
-
-
- Mute
- {t: '$$mdi:led-on$$', h: '$$mdi:toggle-switch$$', s: '$$mdi:led-outline$$', type: toggle}
- {t: '$$mdi:led-on$$', h: '$$mdi:page-next-outline$$', type: tap_dance}
- {t: '$$mdi:led-on$$', h: '$$mdi:page-previous-outline$$', type: tap_dance}
combos:
- p: [1, 13]
k: '1'
@ -246,17 +248,3 @@ combos:
- p: [10, 22]
k: '0'
l: [CARP, QWRT]
- p: [8, 9]
k: $$mdi:backspace-outline$$
l: [CARP, QWRT]
- p: [20, 21]
k:
l: [CARP, QWRT]
- p: [2, 3]
k: Esc
l: [CARP, QWRT]
draw_separate: true
- p: [14, 15]
k:
l: [CARP, QWRT]
draw_separate: true