Files
GEIGEIGEIST_TOTEM_SHIFT_FIR…/config/totem.keymap
T

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 = <&macro_press &kp RALT>, <&macro_tap &kp A>, <&macro_release &kp RALT>;
};
uml_o: uml_o {
label = "UMLO";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp O>, <&macro_release &kp RALT>;
};
uml_u: uml_u {
label = "UMLU";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp U>, <&macro_release &kp RALT>;
};
uml_s: uml_s {
label = "UMLS";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&macro_press &kp RALT>, <&macro_tap &kp S>, <&macro_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 &uml_u &none &uml_o &none
&uml_a &uml_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
>;
};
};
};