#include #include #include // layers #define QWERTY 0 #define SYSCTL 1 #define SYMBOL 2 #define NUMBER 3 #define KBCTL 4 // keys #define HYPER LS(LC(LA(LGUI))) / { conditional_layers { compatible = "zmk,conditional-layers"; tri_layer { if-layers = ; then-layer = ; }; }; keymap { compatible = "zmk,keymap"; qwerty_layer { // ┌─────────┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───────┐ // │ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ │ // ├─────────┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───────┤ // │ ESC/CTL │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ : │ ENTER │ // ├─────────┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───────┤ // │ SHIFT │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ SHIFT │ // └─────────┴┬──┴──┬┴───┴─┬─┴───┴┐ ┌─┴───┼───┴──┬┴─┬─┴───┴───────┘ // │ CMD │ SMBL │ BSPC │ │ SPC │ SYSC │ HPR │ // └─────┴──────┴──────┘ └─────┴──────┴──┘ bindings = < < NUMBER TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &none &mt LCTRL ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp ENTER &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT &kp LGUI &mo SYMBOL &kp BSPC &kp SPC &mo SYSCTL &kp HYPER >; }; sysctl_layer { // | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP | // | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | | // | SHFT | | | | | | | | | | | | | // | GUI | | SPC | | ENT | | ALT | bindings = < &none &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp C_MUTE &kp HOME &kp UP &kp END &kp C_SLEEP &none &none &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp C_VOL_UP &kp LEFT &kp DOWN &kp RIGHT &kp C_AL_SCREENSAVER &none &none &kp F11 &kp F12 &none &none &none &kp C_VOL_DN &kp C_PREV &kp C_PLAY_PAUSE &kp C_NEXT &kp C_AL_LOCK &none &kp LGUI &trans &kp SPACE &none &trans &kp RALT >; }; symbol_layer { // | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP | // | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | | // | SHFT | | | | | | | | | | | | | // | GUI | | SPC | | ENT | | ALT | // !@{}_ \ ` // #$()- =&'"| // %^[]+ *~<>/ bindings = < &bt BT_SEL 0 &kp EXCL &kp AT &kp LBRC &kp RBRC &kp UNDER &kp BSLH &none &kp GRAVE &none &none &none &bt BT_SEL 1 &kp HASH &kp DLLR &kp LPAR &kp RPAR &kp MINUS &kp EQUAL &kp AMPS &kp SQT &kp DQT &kp PIPE &none &bt BT_CLR &kp PRCNT &kp CARET &kp LBKT &kp RBKT &kp PLUS &kp ASTRK &kp TILDE &kp LT &kp GT &kp FSLH &none &none &trans &none &none &trans &none >; }; number_layer { // | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP | // | CTRL | | | | | | | - | = | [ | ] | \ | ` | // | SHFT | | | | | | | _ | + | { | } | "|" | ~ | // | GUI | | SPC | | ENT | | ALT | bindings = < &none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &none &none &none &none &none &none &none &none &kp N4 &kp N5 &kp N6 &none &none &none &none &none &none &none &none &kp N0 &kp N1 &kp N2 &kp N3 &none &none &none &trans &none &kp N0 &trans &none >; }; kbctl_layer { // | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP | // | CTRL | | | | | | | - | = | [ | ] | \ | ` | // | SHFT | | | | | | | _ | + | { | } | "|" | ~ | // | GUI | | SPC | | ENT | | ALT | bindings = < &none &none &none &none &bootloader &none &none &bootloader &none &none &none &none &none &none &none &none &none &none &none &kp N4 &kp N5 &kp N6 &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &trans &none &none &trans &none >; }; }; }; // home row mods // if kbktl works, then move bt 1 2 reset there. // game mode // reset // qmk flash --keyboard crkbd/rev1 --keymap pvinis // crkbd/rev1/pvinis @ 0.13.17-94-g521b7d-dirty // &mt LCTRL ESC or hold-tap better? //screenshot button // template // ┌──┬──┬──┬──┬──┬──┐ ┌──┬──┬──┬──┬──┬──┐ // │ │ │ │ │ │ │ │ │ │ │ │ │ │ // ├──┼──┼──┼──┼──┼──┤ ├──┼──┼──┼──┼──┼──┤ // │ │ │ │ │ │ │ │ │ │ │ │ │ │ // ├──┼──┼──┼──┼──┼──┤ ├──┼──┼──┼──┼──┼──┤ // │ │ │ │ │ │ │ │ │ │ │ │ │ │ // └──┴──┴──┴─┬┴─┬┴─┬┴─┐ ┌┴─┬┴─┬┴─┬┴──┴──┴──┘ // │ │ │ │ │ │ │ │ // └──┴──┴──┘ └──┴──┴──┘