88 lines
8.3 KiB
Plaintext
88 lines
8.3 KiB
Plaintext
//
|
|
// TOTEM — simple-ass learn-to-type keymap
|
|
// Base: all letters + minus | UML hold: numbers 1-0 + umlauts (needs German OS layout)
|
|
//
|
|
|
|
#include <behaviors.dtsi>
|
|
#include <dt-bindings/zmk/keys.h>
|
|
|
|
#define BASE 0
|
|
#define UML 1
|
|
|
|
/ {
|
|
macros {
|
|
uml_a: uml_a {
|
|
label = "UMLA";
|
|
compatible = "zmk,behavior-macro";
|
|
#binding-cells = <0>;
|
|
bindings = <¯o_press &kp RALT>, <¯o_tap &kp A>, <¯o_release &kp RALT>;
|
|
};
|
|
uml_o: uml_o {
|
|
label = "UMLO";
|
|
compatible = "zmk,behavior-macro";
|
|
#binding-cells = <0>;
|
|
bindings = <¯o_press &kp RALT>, <¯o_tap &kp O>, <¯o_release &kp RALT>;
|
|
};
|
|
uml_u: uml_u {
|
|
label = "UMLU";
|
|
compatible = "zmk,behavior-macro";
|
|
#binding-cells = <0>;
|
|
bindings = <¯o_press &kp RALT>, <¯o_tap &kp U>, <¯o_release &kp RALT>;
|
|
};
|
|
uml_s: uml_s {
|
|
label = "UMLS";
|
|
compatible = "zmk,behavior-macro";
|
|
#binding-cells = <0>;
|
|
bindings = <¯o_press &kp RALT>, <¯o_tap &kp S>, <¯o_release &kp RALT>;
|
|
};
|
|
};
|
|
|
|
keymap {
|
|
compatible = "zmk,keymap";
|
|
|
|
base_layer {
|
|
// ╔═════════════════════════════════════════╗
|
|
label = "BASE";
|
|
// ╚═════════════════════════════════════════╝
|
|
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
|
|
// ┃ Q ┃ W ┃ E ┃ R ┃ T ┃ ┃ Y ┃ U ┃ I ┃ O ┃ P ┃
|
|
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
|
|
// ┃ A ┃ S ┃ D ┃ F ┃ G ┃ ┃ H ┃ J ┃ K ┃ L ┃ - ┃
|
|
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
|
|
// ┃ SHIFT ┃ Z ┃ X ┃ C ┃ V ┃ B ┃ ┃ N ┃ M ┃ ┃ ┃ ┃ ┃
|
|
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
|
|
// ┃ SPACE ┃ UML ┃ ENTER ┃ ┃ BACK ┃ . ┃ , ┃
|
|
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
|
|
bindings = <
|
|
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
|
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
|
|
&kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp MINUS
|
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &none &none &none &none
|
|
&kp SPACE &mo UML &kp RET &kp DOT &kp COMMA &kp BSPC
|
|
>;
|
|
};
|
|
|
|
uml_layer {
|
|
// ╔═════════════════════════════════════════╗
|
|
label = "UML";
|
|
// ╚═════════════════════════════════════════╝
|
|
// ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
|
|
// ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ ┃ ┃ Ü ┃ ┃ Ö ┃ ┃
|
|
// ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫
|
|
// ┃ Ä ┃ ß ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
|
|
// ┏━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━━┓
|
|
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ 0 ┃ ┃
|
|
// ┗━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫ ┣━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━━┛
|
|
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
|
|
// ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛ ┗━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━━━━━━━┛
|
|
bindings = <
|
|
// ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
|
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &none ¨_u &none ¨_o &none
|
|
¨_a ¨_s &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
|
|
&trans &trans &trans &trans &trans &trans
|
|
>;
|
|
};
|
|
};
|
|
};
|