/* * Copyright (c) 2021 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #define DEFAULT 0 #define QWERTY 1 #define LOWER 2 #define RAISE 3 #define NAV 4 #define ADJUST 5 / { behaviors { hm: homerow_mods { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_MODS"; #binding-cells = <2>; tapping-term-ms = <125>; quick_tap_ms = <0>; flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; }; combos { compatible = "zmk,combos"; combo_semicolon { timeout-ms = <50>; key-positions = <20 19>; bindings = <&kp SEMI>; }; }; keymap { compatible = "zmk,keymap"; // ----------------------------------------------------------------------------------------- // | | | | | | ----- | | | | | | // | | | | | | ----- | | | | | | // | | | | | | ----- | | | | | | // | | | ----- | | | // ----------------------------------------------------------------------------------------- // | Q | W | F | P | B | ----- | J | L | U | Y | ' " | // | A | R | S | T | G | ----- | M | N | E | I | O | // | R | X | C | D | V | ----- | K | H | , < | . > | / ? | // |LOW_TAB|RAI_ENT| ----- |NAV_SPC| HY_ESC| default_layer { bindings = < &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp APOS &hm LGUI A &hm LALT R &hm LCTL S &hm LSFT T &kp G &kp M &hm RSFT N &hm RCTL E &hm LALT I &hm RGUI O &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH < LOWER TAB < RAISE ENTER < NAV SPACE &mt LS(LC(LA(LGUI))) ESC >; }; // ----------------------------------------------------------------------------------------- // | Q | W | E | R | T | ----- | Y | U | I | O | P | // | A | X | D | F | G | ----- | H | J | K | L | ' " | // | Z | X | C | V | B | ----- | N | M | , < | . > | / ? | // | | | ----- | | | qwerty_layer { bindings = < &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &hm LGUI A &hm LALT S &hm LCTL D &hm LGUI F &kp G &kp H &hm RSFT J &hm RCTL K &hm LALT L &hm RGUI QUOT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &trans &trans &trans &trans >; }; // ----------------------------------------------------------------------------------------- // | | | | | | ----- | ` ~ | 7 & | 8 * | 9 ( | \ | | // | LGUI | LALT | LCTL | LSFT | | ----- | - _ | 4 _ | 5 % | 6 ^ | ; : | // | | | | | | ----- | = + | 1 ! | 2 @ | 3 # | , < | // | | ENT | ----- | 0 | . | // NOTE: Consider "&tog LOWER" instead of "&kp GRAVE" lower_layer { bindings = < &none &none &none &none &none &kp GRAVE &kp N7 &kp N8 &kp N9 &kp BSLH &kp LGUI &kp LALT &kp LCTL &kp LSFT &kp CAPS &kp MINUS &kp N4 &kp N5 &kp N6 &kp SEMI &none &none &none &none &none &kp EQUAL &kp N1 &kp N2 &kp N3 &kp COMMA &trans &mo ADJUST &kp N0 &kp DOT >; }; // ----------------------------------------------------------------------------------------- // | | | | | | ----- |DEFAULT| ( | ) | | | // | LGUI | LALT | LCTL | LSFT | | ----- |QWERTY | [ | ] | | | // | | | | | | ----- | + | { | } | | | // | TAB | | ----- | BSPC | DEL | raise_layer { bindings = < &none &none &none &none &none &kp TILDE &kp LPAR &kp RPAR &none &trans &kp LGUI &kp LALT &kp LCTL &kp LSFT &none &kp UNDER &kp LBKT &kp RBKT &none &trans &none &none &none &none &none &kp PLUS &kp LBRC &kp RBRC &none &trans &mo ADJUST &trans &kp BSPC &kp DEL >; }; // ----------------------------------------------------------------------------------------- // | | | : | | | ----- | PG_UP | HOME | | | END | // | LGUI | LALT | LCTL | LSFT | | ----- | PG_DN | LEFT | DOWN | UP | RIGHT | // | | | | | | ----- | | | | | | // | TAB | | ----- | | | nav_layer { bindings = < &trans &trans &kp COLON &none &none &kp PG_UP &kp HOME &none &none &kp END &kp LGUI &kp LALT &kp LCTL &kp LSFT &none &kp PG_DN &kp LEFT &kp DOWN &kp UP &kp RIGHT &none &none &none &none &none &none &none &none &none &trans &trans &trans &trans &trans >; }; // ----------------------------------------------------------------------------------------- // | BOOTL | F1 | F2 | F3 | F4 | ----- | | ( | ) | | | // | RESET | F5 | F6 | F7 | F8 | ----- | _ | [ | ] | | | // | | F9 | F10 | F11 | F12 | ----- | + | { | } | | | // | TAB | | ----- | BSPC | DEL | adjust_layer { bindings = < &bootloader &none &none &bt BT_SEL 1 &bt BT_SEL 0 &to DEFAULT &none &kp C_MUTE &kp C_VOL_DN &kp C_VOL_UP &reset &none &none &bt BT_SEL 2 &bt BT_NXT &to QWERTY &kp C_PP &kp C_STOP &kp C_PREV &kp C_NEXT &bt BT_CLR &none &none &bt BT_SEL 3 &bt BT_PRV &none &none &none &kp C_BRI_DN &kp C_BRI_UP &trans &trans &none &none >; }; }; };