Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16c1dfe4a9
|
||
|
|
6cfc5b0f75
|
||
|
|
6112d5043c
|
||
|
|
6bd6cf0fd5
|
||
|
|
83251955e2 | ||
|
|
79f5049a25 | ||
|
|
c87a87c97a | ||
|
|
096da36b97 | ||
|
|
f206040b5f | ||
|
|
05bf3b7640 |
+18
@@ -0,0 +1,18 @@
|
||||
# Build artifacts
|
||||
build/
|
||||
*.uf2
|
||||
|
||||
# West-managed submodules
|
||||
modules/
|
||||
optional/
|
||||
zephyr/
|
||||
zmk/
|
||||
|
||||
# West state
|
||||
.west/
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# Reasonix
|
||||
.reasonix/
|
||||
@@ -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.
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
# 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 │ / │ , │ . │ ⎋ │
|
||||
└─────┴─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
|
||||
│ ␣ │ UML │ ⏎ │ │CTRL │ SPR │ ⌫ │
|
||||
└─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Layer 1: UML (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 → →
|
||||
```
|
||||
|
||||
| Physical key | Action |
|
||||
|-------------|--------|
|
||||
| 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 |
|
||||
|
||||
CTRL works normally for all other shortcuts (CTRL+C, CTRL+V, etc. are unaffected).
|
||||
On macOS these combos do not conflict with standard shortcuts (which use Cmd, not Ctrl).
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| **UML + T** | ↑ |
|
||||
| **UML + C** | ← |
|
||||
| **UML + D** | ↓ |
|
||||
| **UML + V** | → |
|
||||
| **UML + ENT** | ALT / Option |
|
||||
| **CTRL + Q** | BT profile 1 |
|
||||
| **CTRL + W** | BT profile 2 |
|
||||
| **CTRL + F** | BT profile 3 |
|
||||
| **CTRL + P** | BT profile 4 |
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -1,160 +1,128 @@
|
||||
//
|
||||
// ▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
|
||||
// ▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
|
||||
// █ █ █ █ █ █ █ █ █ █ █
|
||||
// ▀▀▀ █ ▀▀▀ █ ▀▀▀ ▀ ▀▀▀
|
||||
// █ ▄▄▄█▄▄▄ █ █
|
||||
// ▀ █ █ █ █▄█
|
||||
// ▀▀▀▀▀ █ █ █ ▀
|
||||
// ▀ ▀ ▀
|
||||
// TOTEM — Colemak adapted from Moonlander Oryx config
|
||||
// Base: Colemak alphas | UML 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 UML 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
|
||||
= <¯o_press &kp LSHFT>
|
||||
, <¯o_tap &kp N2>
|
||||
, <¯o_release &kp LSHFT>
|
||||
, <¯o_tap &kp G &kp I &kp F>
|
||||
;
|
||||
bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp N7>, <¯o_release &kp LSHFT>;
|
||||
};
|
||||
qmark: qmark {
|
||||
label = "QMARK";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp MINUS>, <¯o_release &kp LSHFT>;
|
||||
};
|
||||
at: at {
|
||||
label = "AT";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp RALT>, <¯o_tap &kp L>, <¯o_release &kp RALT>;
|
||||
};
|
||||
tilde: tilde {
|
||||
label = "TILDE";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp RALT>, <¯o_tap &kp N>, <¯o_release &kp RALT>;
|
||||
};
|
||||
lbrace: lbrace {
|
||||
label = "LBRACE";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp RALT>, <¯o_tap &kp N8>, <¯o_release &kp RALT>;
|
||||
};
|
||||
rbrace: rbrace {
|
||||
label = "RBRACE";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp RALT>, <¯o_tap &kp N9>, <¯o_release &kp RALT>;
|
||||
};
|
||||
lparen: lparen {
|
||||
label = "LPAREN";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp N8>, <¯o_release &kp LSHFT>;
|
||||
};
|
||||
rparen: rparen {
|
||||
label = "RPAREN";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp N9>, <¯o_release &kp LSHFT>;
|
||||
};
|
||||
gt_sign: gt_sign {
|
||||
label = "GREATER";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp GRAVE>, <¯o_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 ┃ V ┃ B ┃ ┃ K ┃ M ┃ , ┃ . ┃ / ┃ \ ┃
|
||||
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
|
||||
// ┃ DEL ┃ TAB ┃ SPC ┃ ┃ ENTER ┃ ┃ BSPC ┃
|
||||
// ┃ A ┃ R ┃ S ┃ T ┃ G ┃ ┃ M ┃ N ┃ E ┃ I ┃ O ┃
|
||||
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
|
||||
// ┃ SHIFT ┃ Y ┃ X ┃ C ┃ D ┃ V ┃ ┃ K ┃ H ┃ / ┃ , ┃ . ┃ ESC ┃
|
||||
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
|
||||
// ┃ SPACE ┃ UML ┃ ENTER ┃ ┃ 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 < NAV TAB &kp SPACE &kp RET < 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 UML &kp RET &kp LCTRL &kp LGUI &kp BSPC
|
||||
>;
|
||||
};
|
||||
|
||||
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
|
||||
|
||||
nav_layer {
|
||||
// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
label= "NAVI" ;
|
||||
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
uml_layer {
|
||||
// ╔══════════════════════════════════════╗
|
||||
label = "UML";
|
||||
// ╚══════════════════════════════════════╝
|
||||
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
|
||||
// ┃ ┃ ┃ UP ┃ ┃ { ┃ ┃ } ┃ 7 ┃ 8 ┃ 9 ┃ + ┃
|
||||
// ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ ┃ + ┃ @ ┃ Ü ┃ ┃ ~ ┃
|
||||
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
|
||||
// ┃ SHIFT ┃ LEFT ┃ DOWN ┃ RIGHT ┃ [ ┃ ┃ ] ┃ 4 ┃ 5 ┃ 6 ┃ - ┃
|
||||
// ┏━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┓
|
||||
// ┃ ┃ ┃ P UP ┃ C LOCK ┃ P DOWN ┃ ( ┃ ┃ ) ┃ 1 ┃ 2 ┃ 3 ┃ * ┃ ┃
|
||||
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
|
||||
// ┃ ┃ TAB ┃ SPC ┃ ┃ DEL ┃ 0 ┃ ┃
|
||||
// ┃ Ä ┃ ┃ ß ┃ UP ┃ ┃ ┃ - ┃ < ┃ > ┃ ┃ Ö ┃
|
||||
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
|
||||
// ┃ ┃ ┃ ┃ LEFT ┃ DOWN ┃ RIGHT ┃ ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ 0 ┃ ┃
|
||||
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
|
||||
// ┃ TAB ┃ trans ┃ ALT ┃ ┃ CTRL ┃ ( ┃ ) ┃
|
||||
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
|
||||
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 &none &kp MINUS &kp UP &none &kp FSLH &kp GRAVE >_sign &rbrace &kp SEMI
|
||||
&trans &none &none &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 &lparen &rparen
|
||||
>;
|
||||
};
|
||||
|
||||
// ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
|
||||
|
||||
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
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user