/* * Copyright (c) 2023 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include /* Uncomment this block if using RGB &led_strip { chain-length = <6>; // chain-length = <31>; // Uncomment if using both per-key and underglow LEDs // chain-length = <25>; // Uncomment if using only per-key LEDs. }; */ / { macros { sym_sec: sym_sec { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp S &kp O>; label = "sym_sec"; }; de_ue: de_ue { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp U &kp DQT>; label = "DE_UE"; }; de_ae: de_ae { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp A &kp DQT>; label = "DE_AE"; }; de_oe: de_oe { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp O &kp DQT>; label = "DE_OE"; }; de_ss: de_ss { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp S &kp S>; label = "DE_SS"; }; sym_eur: sym_eur { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp C &kp EQUAL>; label = "SYM_EUR"; }; sym_ss1: sym_ss1 { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp CARET &kp KP_NUMBER_1>; label = "SYM_SS1"; }; sym_ss2: sym_ss2 { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp CARET &kp KP_NUMBER_2>; label = "SYM_SS2"; }; sym_ss3: sym_ss3 { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp CARET &kp KP_NUMBER_3>; label = "SYM_SS3"; }; sym_tm: sym_tm { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp T &kp M>; label = "SYM_TM"; }; sym_reg: sym_reg { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp O &kp R>; label = "SYM_REG"; }; sym_copy: sym_copy { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp O &kp C>; label = "SYM_COPY"; }; sym_deg: sym_deg { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp O &kp O>; label = "SYM_DEG"; }; sym_mu: sym_mu { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp M &kp U>; label = "SYM_MU"; }; sym_acute: sym_acute { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&kp RALT &kp SQT &kp SQT>; label = "SYM_ACUTE"; }; }; behaviors { de_hash: de_hash { compatible = "zmk,behavior-mod-morph"; label = "DE_HASH"; bindings = <&kp HASH>, <&kp SQT>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; de_comma: de_comma { compatible = "zmk,behavior-mod-morph"; label = "DE_COMMA"; bindings = <&kp COMMA>, <&kp SEMICOLON>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; de_dot: de_dot { compatible = "zmk,behavior-mod-morph"; label = "DE_DOT"; bindings = <&kp DOT>, <&kp COLON>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; part_less_pipe: part_less_pipe { compatible = "zmk,behavior-mod-morph"; label = "PART_LESS_PIPE"; bindings = <&kp LESS_THAN>, <&kp PIPE>; #binding-cells = <0>; mods = <(MOD_RALT)>; }; de_lt_mt_pipe: de_lt_mt_pipe { compatible = "zmk,behavior-mod-morph"; label = "de_lt_mt_pipe"; bindings = <&part_less_pipe>, <&kp GREATER_THAN>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; de_car_deg: de_car_deg { compatible = "zmk,behavior-mod-morph"; label = "de_car_deg"; bindings = <&kp CARET>, <&sym_deg>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; part_plus_tilde: part_plus_tilde { compatible = "zmk,behavior-mod-morph"; label = "PART_PLUS_TILDE"; bindings = <&kp PLUS>, <&kp TILDE>; #binding-cells = <0>; mods = <(MOD_RALT)>; }; de_plus_str_tld: de_plus_str_tld { compatible = "zmk,behavior-mod-morph"; label = "de_plus_str_tld"; bindings = <&part_plus_tilde>, <&kp STAR>; #binding-cells = <0>; mods = <(MOD_RALT)>; }; dv_qmark_ss: dv_qmark_ss { compatible = "zmk,behavior-mod-morph"; label = "dv_qmark_ss"; bindings = <&kp QMARK>, <&de_ss>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; de_acute_grave: de_acute_grave { compatible = "zmk,behavior-mod-morph"; label = "DE_ACUTE_GRAVE"; bindings = <&sym_acute>, <&kp GRAVE>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; dv_slash: dv_slash { compatible = "zmk,behavior-mod-morph"; label = "DV_SLASH"; bindings = <&kp SLASH>, <&kp NON_US_BACKSLASH>; #binding-cells = <0>; mods = <(MOD_LSFT)>; }; }; keymap { compatible = "zmk,keymap"; quertz_de { // --------------------------------------------------------------------------------------------------------------------------------- // | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ | // | TAB | A | S | D | F | G | | H | J | K | L | ; | ' | // | SHIFT | Z | X | C | V | B | L SHIFT | L SHIFT | | LAYER 1 | L SHIFT | N | M | , | . | / | CTRL | // | GUI | DEL | RET | SPACE | ESC | | RET | SPACE | TAB | BSPC | R-ALT | bindings = < &kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Z &kp U &kp I &kp O &kp P &kp BSLH &kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT &kp LSHFT &kp Y &kp X &kp C &kp V &kp B &kp LSHFT &kp LSHFT &mo 1 &kp LSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL &kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT >; sensor-bindings = <&inc_dec_kp UP DOWN>, <&inc_dec_kp LEFT RIGHT>; }; function_layer { // --------------------------------------------------------------------------------------------------------------------------------- // | | |BT_CLR|BTSEL0|BTSEL1|BTSEL2| | | | | | | | // | | | |BTSEL3|BTSEL4| | | | | | | | | // | | | | | | | | | | | | | | | | | | | // | | | | | | | | | | | | | bindings = < &trans &trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; }; colemak-dh { bindings = < &trans &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMI &trans &trans &kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O &trans &trans &kp Z &kp X &kp C &kp D &kp V &trans &trans &trans &trans &kp K &kp H &kp COMMA &kp DOT &kp FSLH &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; }; };