Compare commits

...
11 Commits
Author SHA1 Message Date
leonetienne 3482e58f90 keymap: rename UML→EXTRA, move parens to R(/) X(/)
/ build (push) Has been cancelled
2026-08-03 10:44:39 +02:00
leonetienne 16c1dfe4a9 keymap: Colemak UML layer with arrows, BT combos, fix BLE/settings config
/ build (push) Has been cancelled
- UML layer: arrows on T(↑) C(←) D(↓) V(→), ALT on Enter
- BT profile switching via combos: CTRL+Q/W/F/P → profiles 1-4
- Explicit CONFIG_ZMK_BLE, CONFIG_FLASH, CONFIG_NVS, CONFIG_SETTINGS_NVS
- Board name: seeeduino_xiao_ble → xiao_ble
- Add .gitignore, AGENTS.md (build docs), BINDINGS.md (keymap ref)
2026-08-03 00:54:44 +02:00
leonetienne 6cfc5b0f75 keymap: add BT profile switching (CTRL+Q/W/F/P) and arrow keys + ALT on UML layer 2026-08-02 19:16:35 +02:00
leonetienne 6112d5043c colemak layout: move ., to bottom row, add ctrl/cmd thumbs, fix angle brackets for macOS German 2026-07-31 16:09:43 +02:00
leonetienne 6bd6cf0fd5 simplify keymap: single base layer + UML layer for numbers/umlauts 2026-07-31 14:27:59 +02:00
schwarzgrau 83251955e2 Update totem.keymap 2023-05-16 13:45:57 +02:00
GEIST 79f5049a25 add TVPaint layers 2023-05-16 01:08:58 +02:00
GEIST c87a87c97a Update totem.keymap 2023-05-16 00:38:14 +02:00
GEIST 096da36b97 zephyr update 2023-05-16 00:26:40 +02:00
GEIST f206040b5f update reset 2023-05-16 00:12:17 +02:00
GEIST 05bf3b7640 Update totem.keymap 2023-05-15 23:32:35 +02:00
7 changed files with 257 additions and 142 deletions
+18
View File
@@ -0,0 +1,18 @@
# Build artifacts
build/
*.uf2
# West-managed submodules
modules/
optional/
zephyr/
zmk/
# West state
.west/
# macOS
.DS_Store
# Reasonix
.reasonix/
+37
View File
@@ -0,0 +1,37 @@
# AGENTS.md — TOTEM ZMK Config
## Build
Local Docker build (no GitHub Actions needed):
```bash
docker run --rm \
-v $(pwd):/workspace/zmk-config \
-w /workspace/zmk-config \
zmkfirmware/zmk-build-arm:stable \
bash -c "
git config --global --add safe.directory '*'
west zephyr-export
west build -s zmk/app -d build/left -b xiao_ble -- -DSHIELD=totem_left -DZMK_CONFIG=/workspace/zmk-config/config
west build -s zmk/app -d build/right -b xiao_ble -- -DSHIELD=totem_right -DZMK_CONFIG=/workspace/zmk-config/config
"
cp build/left/zephyr/zmk.uf2 totem_left.uf2
cp build/right/zephyr/zmk.uf2 totem_right.uf2
```
- Clean build dirs between config changes: `rm -rf build/left build/right`
- The Docker image `zmkfirmware/zmk-build-arm:stable` must be pulled first (~3 GB)
- Board name is `xiao_ble` (not `seeeduino_xiao_ble` — that was the old name)
- `west update` only needed when ZMK/Zephyr deps change (pulls submodules)
- `CONFIG_ZMK_BLE=y` is explicitly set in `config/totem.conf` (board defconfig alone proved unreliable)
## Keymap
The active keymap is `config/totem.keymap`. It overrides the shield default at `config/boards/shields/totem/totem.keymap`.
3 layers: `BASE` (0), `UML` (1), `BT` (2).
## BINDINGS.md
**After every binding change** in `config/totem.keymap`, update `BINDINGS.md` with an ASCII graphic of all three layers and the quick-reference table. The physical key labels in the ASCII art must match the BASE layer positions exactly.
+77
View File
@@ -0,0 +1,77 @@
# TOTEM Keymap Reference
> Auto-generated from `config/totem.keymap`. **Must be updated after every binding change.**
---
## Layer 0: BASE (Colemak)
```
┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
│ Q │ W │ F │ P │ B │ │ J │ L │ U │ Z │ ? │
├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤
│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │
├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤
│ ⇧ │ Y │ X │ C │ D │ V │ │ K │ H │ / │ , │ . │ ⎋ │
└─────┴─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ ␣ │EXTRA│ ⏎ │ │CTRL │ SPR │ ⌫ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
```
---
## Layer 1: EXTRA (hold left thumb)
```
┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
│ 1 │ 2 │ 3 │ 4 │ 5 │ │ + │ @ │ Ü │ { │ ~ │
├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤
│ Ä │ , │ ß │ ↑ │ · │ │ / │ ` │ > │ } │ Ö │
├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤
│ · │ ⌫ │ · │ ← │ ↓ │ → │ │ 6 │ 7 │ 8 │ 9 │ 0 │ * │
└─────┴─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ ⇥ │ · │ ⌥ │ │CTRL │ ( │ ) │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
· = transparent (falls through to BASE)
⌥ = LALT / Option
```
### Arrow cluster
```
T → ↑
C → ← D → ↓ V → →
```
---
## Bluetooth Profile Switching
CTRL is a normal modifier key. BT profiles are switched via **combos** (press both keys
within 50ms of each other):
| Combo | Action |
|-------|--------|
| **CTRL + Q** | BT profile 1 |
| **CTRL + W** | BT profile 2 |
| **CTRL + F** | BT profile 3 |
| **CTRL + P** | BT profile 4 |
---
## Quick Reference
| Shortcut | Action |
|----------|--------|
| **EXTRA + T** | ↑ |
| **EXTRA + C** | ← |
| **EXTRA + D** | ↓ |
| **EXTRA + V** | → |
| **EXTRA + R** | , |
| **EXTRA + X** | ⌫ (Backspace) |
| **EXTRA + ENT** | ALT / Option |
| **CTRL + Q** | BT profile 1 |
| **CTRL + W** | BT profile 2 |
| **CTRL + F** | BT profile 3 |
| **CTRL + P** | BT profile 4 |
+1 -1
View File
@@ -150,7 +150,7 @@ label= "ADJ" ;
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&reset &bt BT_CLR &out OUT_TOG &trans &trans &trans &kp F7 &kp F8 &kp F9 &kp F12
&sys_reset &bt BT_CLR &out OUT_TOG &trans &trans &trans &kp F7 &kp F8 &kp F9 &kp F12
&bootloader &bt BT_NXT &trans &trans &trans &trans &kp F4 &kp F5 &kp F6 &kp F11
&trans &trans &bt BT_PRV &trans &trans &trans &trans &kp F1 &kp F2 &kp F3 &kp F10 &trans
&trans &trans &trans &trans &trans &trans
+1 -1
View File
@@ -3,7 +3,7 @@ id: totem
name: TOTEM
type: shield
url: https://github.com/GEIGEIGEIST/TOTEM
requires: [seeeduino_xiao_ble]
requires: [xiao_ble]
features:
- keys
siblings:
+15
View File
@@ -1 +1,16 @@
CONFIG_ZMK_USB_LOGGING=n
# Explicitly enable BLE (needed for xiao_ble)
CONFIG_ZMK_BLE=y
# Settings storage (board defconfig not reliably applied)
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS_NVS=y
# Erst nach 10 Min Inaktivität schlafen
CONFIG_ZMK_IDLE_TIMEOUT=3600000
CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
+85 -117
View File
@@ -1,160 +1,128 @@
//
// ▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
// ▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
// █ █ █ █ █ █ █ █ █ █ █
// ▀▀▀ █ ▀▀▀ █ ▀▀▀ ▀ ▀▀▀
// █ ▄▄▄█▄▄▄ █ █
// ▀ █ █ █ █▄█
// ▀▀▀▀▀ █ █ █ ▀
// ▀ ▀ ▀
// TOTEM — Colemak adapted from Moonlander Oryx config
// Base: Colemak alphas | EXTRA hold: numbers + umlauts + symbols
// Designed for macOS German (QWERTZ) layout
//
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h>
#define BASE 0
#define NAV 1
#define SYM 2
#define ADJ 3
&mt {
quick-tap-ms = <100>;
global-quick-tap;
flavor = "tap-preferred";
tapping-term-ms = <170>;
};
#define EXTRA 1
/ {
combos {
compatible = "zmk,combos";
combo_esc {
timeout-ms = <50>;
key-positions = <0 1>;
bindings = <&kp ESC>;
};
combo_bt1 { timeout-ms = <50>; key-positions = <0 35>; bindings = <&bt BT_SEL 0>; };
combo_bt2 { timeout-ms = <50>; key-positions = <1 35>; bindings = <&bt BT_SEL 1>; };
combo_bt3 { timeout-ms = <50>; key-positions = <2 35>; bindings = <&bt BT_SEL 2>; };
combo_bt4 { timeout-ms = <50>; key-positions = <3 35>; bindings = <&bt BT_SEL 3>; };
};
macros {
gif: gif {
label = "giphy";
slash: slash {
label = "SLASH";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings
= <&macro_press &kp LSHFT>
, <&macro_tap &kp N2>
, <&macro_release &kp LSHFT>
, <&macro_tap &kp G &kp I &kp F>
;
bindings = <&macro_press &kp LSHFT>, <&macro_tap &kp N7>, <&macro_release &kp LSHFT>;
};
qmark: qmark {
label = "QMARK";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp LSHFT>, <&macro_tap &kp MINUS>, <&macro_release &kp LSHFT>;
};
at: at {
label = "AT";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp L>, <&macro_release &kp RALT>;
};
tilde: tilde {
label = "TILDE";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp N>, <&macro_release &kp RALT>;
};
lbrace: lbrace {
label = "LBRACE";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp N8>, <&macro_release &kp RALT>;
};
rbrace: rbrace {
label = "RBRACE";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp N9>, <&macro_release &kp RALT>;
};
lparen: lparen {
label = "LPAREN";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp LSHFT>, <&macro_tap &kp N8>, <&macro_release &kp LSHFT>;
};
rparen: rparen {
label = "RPAREN";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp LSHFT>, <&macro_tap &kp N9>, <&macro_release &kp LSHFT>;
};
gt_sign: gt_sign {
label = "GREATER";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp LSHFT>, <&macro_tap &kp GRAVE>, <&macro_release &kp LSHFT>;
};
};
keymap {
compatible = "zmk,keymap";
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
base_layer {
// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
// ╔══════════════════════════════════════╗
label = "BASE";
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
// ╚══════════════════════════════════════╝
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ Q ┃ W ┃ F ┃ P ┃ G ┃ ┃ J ┃ L ┃ U ┃ Y;
// ┃ Q ┃ W ┃ F ┃ P ┃ B ┃ ┃ J ┃ L ┃ U ┃ Z?
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ A ┃ R ┃ S ┃ T ┃ D ┃ ┃ H ┃ N ┃ E ┃ I ┃ O ┃
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┓
// ┃ Q Z ┃ X ┃ C ┃ VB ┃ ┃ K ┃ M ┃ , ┃ . ┃ / ┃ \
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
// ┃ DEL TAB SPC ┃ ┃ ENTER ┃ ┃ BSPC
// ┃ A ┃ R ┃ S ┃ T ┃ G ┃ ┃ M ┃ N ┃ E ┃ I ┃ O ┃
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━
// ┃ SHIFTY ┃ X ┃ C ┃ DV ┃ ┃ K ┃ H ┃ / ┃ , ┃ . ┃ ESC
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━
// SPACEEXTRAENTER ┃ ┃ CTRL ┃ ┃ BACK
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&kp Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp SEMI
&mt LGUI A &mt LALT R &mt LCTRL S &mt LSHFT T &kp D &kp H &mt RSHFT N &mt RCTRL E &mt RALT I &mt RGUI O
&kp Q &kp Z &kp X &kp C &kp V &kp B &kp K &kp M &kp COMMA &kp DOT &kp FSLH &kp BSLH
&kp DEL &lt NAV TAB &kp SPACE &kp RET &lt SYM ESC &kp BSPC
&kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Z &qmark
&kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O
&kp LSHFT &kp Y &kp X &kp C &kp D &kp V &kp K &kp H &slash &kp DOT &kp COMMA &kp ESC
&kp SPACE &mo EXTRA &kp RET &kp LCTRL &kp LGUI &kp BSPC
>;
};
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
nav_layer {
// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
label= "NAVI" ;
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
extra_layer {
// ╔══════════════════════════════════════╗
label = "EXTRA";
// ╚══════════════════════════════════════╝
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ UP { ┃ ┃ }789+
// 123 45 ┃ ┃ +@Ü ~
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ SHIFTLEFTDOWNRIGHT[ ┃ ┃ ]456-
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┓
// ┃ ┃ ┃ P UPC LOCKP DOWN ┃ ( ┃ ┃ )123* ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
// ┃ TAB ┃ SPC ┃ DEL0
// Ä ( ß UP ┃ ┃ -<> Ö
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━
// ┃ ┃ ┃ ) ┃ LEFT ┃ DOWN RIGHT ┃ ┃ 67890 ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━
// ┃ TAB ┃ trans ALT CTRLtrans ┃ trans
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&kp ESC &bt BT_CLR &kp UP &kp EQUAL &kp LBRC &kp RBRC &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_PLUS
&kp LSHFT &kp LEFT &kp DOWN &kp RIGHT &kp LBKT &kp RBKT &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_MINUS
&trans &kp DEL &kp PG_UP &kp CAPS &kp PG_DN &kp LPAR &kp RPAR &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_MULTIPLY &trans
&trans &trans &trans &mo ADJ &kp KP_N0 &trans
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp KP_PLUS &at &kp LBKT &lbrace &tilde
&kp SQT &lparen &kp MINUS &kp UP &none &kp FSLH &kp GRAVE &gt_sign &rbrace &kp SEMI
&trans &none &rparen &kp LEFT &kp DOWN &kp RIGHT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp KP_MULTIPLY
&kp TAB &trans &kp LALT &kp LCTRL &trans &trans
>;
};
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
sim_layer {
// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
label= "SYM" ;
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ ! ┃ @ ┃ # ┃ $ ┃ % ┃ ┃ ˆ ┃ & ┃ Ü ┃ ' ┃ " ┃
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ Ä ┃ ┃ SZ ┃ ┃ ┃ ┃ MUTE ┃ YEN ┃ EURO ┃ POUND ┃ Ö ┃
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┓
// ┃ ┃ EMAIL1 ┃ EMAIL2 ┃ ┃ ┃ ┃ ┃ VOL- ┃ VOL+ ┃ LAST ┃ NEXT ┃ \ ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
// ┃ ┃ GIF ┃ ADJ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp RA(U) &kp SQT &kp DQT
&kp RA(A) &trans &kp RA(S) &trans &trans &kp C_MUTE &kp LS(RA(N4)) &kp RA(N5) &kp RA(N4) &kp RA(O)
&trans &kp RA(F18) &kp RA(F19) &trans &trans &trans &kp C_VOL_DN &kp C_VOL_UP &kp C_PREV &kp C_NEXT &kp BSLH &trans
&trans &gif &mo ADJ &trans &kp C_PP &trans
>;
};
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
adjust_layer {
// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
label= "ADJ" ;
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ RESET ┃ BT CLEAR ┃ OUT TOG ┃ ┃ ┃ ┃ ┃ F7 ┃ F8 ┃ F9 ┃ F12 ┃
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ BOOTLOAD ┃ BT NEXT ┃ ┃ ┃ ┃ ┃ ┃ F4 ┃ F5 ┃ F6 ┃ F11 ┃
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┓
// ┃ ┃ ┃ BT PREV ┃ ┃ ┃ ┃ ┃ ┃ F1 ┃ F2 ┃ F3 ┃ F10 ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&reset &bt BT_CLR &out OUT_TOG &trans &trans &trans &kp F7 &kp F8 &kp F9 &kp F12
&bootloader &bt BT_NXT &trans &trans &trans &trans &kp F4 &kp F5 &kp F6 &kp F11
&trans &trans &bt BT_PRV &trans &trans &trans &trans &kp F1 &kp F2 &kp F3 &kp F10 &trans
&trans &trans &trans &trans &trans &trans
>;
};
};
};