keymap: add BT profile switching (CTRL+Q/W/F/P) and arrow keys + ALT on UML layer

This commit is contained in:
2026-08-02 19:16:35 +02:00
parent 6112d5043c
commit 6cfc5b0f75
+55 -7
View File
@@ -6,9 +6,11 @@
#include <behaviors.dtsi> #include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h> #include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#define BASE 0 #define BASE 0
#define UML 1 #define UML 1
#define BT 2
/ { / {
macros { macros {
@@ -36,6 +38,30 @@
#binding-cells = <0>; #binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp N>, <&macro_release &kp RALT>; 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 { gt_sign: gt_sign {
label = "GREATER"; label = "GREATER";
compatible = "zmk,behavior-macro"; compatible = "zmk,behavior-macro";
@@ -65,7 +91,7 @@ label = "BASE";
&kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Z &qmark &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 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 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 &kp SPACE &mo UML &kp RET &lt BT LCTRL &kp LGUI &kp BSPC
>; >;
}; };
@@ -76,18 +102,40 @@ label = "UML";
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ // ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ ┃ + ┃ @ ┃ Ü ┃ ┃ ~ ┃ // ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ ┃ + ┃ @ ┃ Ü ┃ ┃ ~ ┃
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ // ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ Ä ┃ ┃ ß ┃ ┃ ┃ ┃ - ┃ < ┃ > ┃ ┃ Ö ┃ // ┃ Ä ┃ ┃ ß ┃ ┃ UP ┃ ┃ - ┃ < ┃ > ┃ ┃ Ö ┃
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓ // ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ 0 ┃ ┃ // ┃ ┃ ┃ LEFT ┃ ┃ DOWNRIGHT ┃ ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ 0 ┃ ┃
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
// ┃ TAB ┃ trans ┃ ALT ┃ ┃ CTRL ┃ ( ┃ ) ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp KP_PLUS &at &kp LBKT &lbrace &tilde
&kp SQT &none &kp MINUS &none &kp UP &kp FSLH &kp GRAVE &gt_sign &rbrace &kp SEMI
&trans &none &kp LEFT &none &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
>;
};
bt_layer {
// ╔══════════════════════════════════════╗
label = "BT";
// ╚══════════════════════════════════════╝
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
// ┃ BT1 ┃ BT2 ┃ BT3 ┃ BT4 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛ // ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ // ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ // ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
bindings = < bindings = <
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ // ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp KP_PLUS &at &kp LBKT &none &tilde &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none &none &none &none &none &none
&kp SQT &none &kp MINUS &none &none &kp FSLH &kp GRAVE &gt_sign &none &kp SEMI &none &none &none &none &none &none &none &none &none &none
&trans &none &none &none &none &none &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &none &none &none &none &none &none &none &none &none &none &none &none &none
&trans &trans &trans &trans &trans &trans &none &none &none &trans &none &none
>; >;
}; };
}; };