Auto-change layers with bluetooth source

This commit is contained in:
Martin Pander
2026-02-28 20:29:20 +01:00
parent d59d8930bb
commit bb1f0ebdfe
2 changed files with 34 additions and 9 deletions

View File

@@ -1,4 +1,8 @@
# Create firmware
```
nix build ".#firmware"
````
# Configure
[keymap-editor](https://nickcoutsos.github.io/keymap-editor/)
```

View File

@@ -5,6 +5,8 @@
&lt { tapping-term-ms = <150>; };
&msc { time-to-max-speed-ms = <400>; };
/ {
chosen { zmk,physical-layout = &default_layout; };
};
@@ -70,6 +72,22 @@
};
};
macros {
bt_home: bt_mac {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&bt BT_SEL 0 &to 0>;
label = "BT_MAC";
};
bt_work: bt_work {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&bt BT_SEL 1 &to 1>;
label = "BT_WORK";
};
};
keymap {
compatible = "zmk,keymap";
@@ -83,7 +101,7 @@
win {
display-name = "win";
bindings = <
&kp ESCAPE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &backdel &kp TAB &hrm LEFT_GUI A &hrm LEFT_ALT S &hrm LEFT_CONTROL D &hrm LEFT_SHIFT F &kp G &kp H &hrm RIGHT_SHIFT J &hrm RIGHT_CONTROL K &hrm LEFT_ALT L &hrm RIGHT_GUI SEMICOLON &kp SQT &kp C_MENU &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp GRAVE &lt 6 ESCAPE &lt 4 SPACE &lt_caps 7 0 &lt 3 ESCAPE &lt 2 ENTER &lt 5 CAPS
&kp ESCAPE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &backdel &kp TAB &hrm LEFT_GUI A &hrm LEFT_ALT S &hrm LEFT_CONTROL D &hrm LEFT_SHIFT F &kp G &kp H &hrm RIGHT_SHIFT J &hrm RIGHT_CONTROL K &hrm LEFT_ALT L &hrm RIGHT_GUI SEMICOLON &kp SQT &kp C_MENU &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp GRAVE &lt 6 ESCAPE &lt 4 SPACE &lt_caps 8 0 &lt 3 ESCAPE &lt 2 ENTER &lt 5 CAPS
>;
};
@@ -118,24 +136,27 @@
media {
display-name = "media";
bindings = <
&bt BT_CLR &none &to 0 &to 1 &none &none &none &kp C_BRIGHTNESS_DEC &kp C_BRIGHTNESS_INC &none &none &none &none &none &bt BT_SEL 3 &bt BT_SEL 4 &none &none &kp C_PREVIOUS &kp C_VOL_DN &kp C_VOLUME_UP &kp C_NEXT &none &none &studio_unlock &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &none &none &kp C_MUTE &none &none &none &none &none &none &none &kp C_STOP &kp C_PLAY &none
&bt BT_CLR &none &to 0 &to 1 &none &none &none &kp C_BRIGHTNESS_DEC &kp C_BRIGHTNESS_INC &none &none &none &none &none &bt BT_SEL 3 &bt BT_SEL 4 &none &none &kp C_PREVIOUS &kp C_VOL_DN &kp C_VOLUME_UP &kp C_NEXT &none &none &studio_unlock &none &bt_home &bt_work &bt BT_SEL 2 &none &none &kp C_MUTE &none &none &none &none &none &none &none &kp C_STOP &kp C_PLAY &none
>;
};
mouse {
mouse_mac {
display-name = "mouse";
bindings = <
&none &none &none &none &none &none &msc SCRL_RIGHT &msc SCRL_UP &msc SCRL_DOWN &msc SCRL_LEFT &none &none &none &trans &trans &trans &trans &none &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_UP &mmv MOVE_RIGHT &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &mkp RCLK &mkp LCLK &mkp MCLK
>;
};
mouse_win {
display-name = "mouse";
bindings = <
&none &none &none &none &none &none &msc SCRL_LEFT &msc SCRL_DOWN &msc SCRL_UP &msc SCRL_RIGHT &none &none &none &trans &trans &trans &trans &none &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_UP &mmv MOVE_RIGHT &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &mkp RCLK &mkp LCLK &mkp MCLK
>;
};
lextra1 {
status = "reserved";
};
lextra1 { status = "reserved"; };
lextra2 {
status = "reserved";
};
lextra2 { status = "reserved"; };
};
};