diff --git a/config/extra_keys_defaults.h b/config/extra_keys_defaults.h deleted file mode 100644 index d3ab937..0000000 --- a/config/extra_keys_defaults.h +++ /dev/null @@ -1,85 +0,0 @@ -#pragma once - -#ifndef XTR_DEF_LR -#define XTR_DEF_LR -#endif - -#ifndef XTR_DEF_RR -#define XTR_DEF_RR -#endif - -#ifndef XTR_SYM_LR -#define XTR_SYM_LR -#endif - -#ifndef XTR_SYM_RR -#define XTR_SYM_RR -#endif - -#ifndef XTR_NUM_LR -#define XTR_NUM_LR -#endif - -#ifndef XTR_NUM_RR -#define XTR_NUM_RR -#endif - -#ifndef XTR_ADJ_LR -#define XTR_ADJ_LR -#endif - -#ifndef XTR_ADJ_RR -#define XTR_ADJ_RR -#endif - -#ifndef XTR_DEF_LT -#define XTR_DEF_LT -#endif - -#ifndef XTR_DEF_RT -#define XTR_DEF_RT -#endif - -#ifndef XTR_DEF_RT2 -#define XTR_DEF_RT2 -#endif - -#ifndef XTR_SWP_RT2 -#define XTR_SWP_RT2 -#endif - -#ifndef XTR_SYM_LT -#define XTR_SYM_LT -#endif - -#ifndef XTR_SYM_RT -#define XTR_SYM_RT -#endif - -#ifndef XTR_SYM_RT2 -#define XTR_SYM_RT2 -#endif - -#ifndef XTR_NUM_LT -#define XTR_NUM_LT -#endif - -#ifndef XTR_NUM_RT -#define XTR_NUM_RT -#endif - -#ifndef XTR_NUM_RT2 -#define XTR_NUM_RT2 -#endif - -#ifndef XTR_ADJ_LT -#define XTR_ADJ_LT -#endif - -#ifndef XTR_ADJ_RT -#define XTR_ADJ_RT -#endif - -#ifndef XTR_ADJ_RT2 -#define XTR_ADJ_RT2 -#endif diff --git a/config/hillside_view.keymap b/config/hillside_view.keymap index c894007..caf8f22 100644 --- a/config/hillside_view.keymap +++ b/config/hillside_view.keymap @@ -1,48 +1,221 @@ -#define XTR_DEF_LR &kp SPACE -#define XTR_DEF_RR &kp C_MUTE +#include +#include +#include +#include +#include +#include -#define XTR_SYM_LR &kp END -#define XTR_SYM_RR &kp C_PP +// Left bottom row pinky 2nd column +#ifndef LB5 +#define LB5 24 +#endif -#define XTR_NUM_LR &trans -#define XTR_NUM_RR &kp C_PP +// Right bottom row pinky 2nd column +#ifndef RB5 +#define RB5 35 +#endif -#define XTR_ADJ_LR &trans -#define XTR_ADJ_RR &trans -#define XTR_DEF_LT &sk LSHFT -#define XTR_DEF_RT &sk RSHFT +#define DEF 0 +#define WIN 1 +#define SWP 2 +#define SYM 3 +#define NUM 4 +#define ADJ 5 -#define XTR_SYM_LT &trans -#define XTR_SYM_RT &trans -#define XTR_NUM_LT &trans -#define XTR_NUM_RT &trans +#define QUICK_TAP_MS 175 -#define XTR_ADJ_LT &trans -#define XTR_ADJ_RT &trans +#define LAYOUT(\ + l00, l01, l02, l03, l04, l05, r00, r01, r02, r03, r04, r05, \ + l10, l11, l12, l13, l14, l15, r10, r11, r12, r13, r14, r15, \ + l20, l21, l22, l23, l24, l25, r20, r21, r22, r23, r24, r25, \ + lrot, rrot, \ + l30, l31, l32, l33, r30, r31, r32, r33 \ + ) \ + l00 l01 l02 l03 l04 l05 r00 r01 r02 r03 r04 r05 \ + l10 l11 l12 l13 l14 l15 r10 r11 r12 r13 r14 r15 \ + l20 l21 l22 l23 l24 l25 r20 r21 r22 r23 r24 r25 \ + lrot rrot \ + l30 l31 l32 l33 r30 r31 r32 r33 +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) -#include "common.keymap" + +#define SWAP_LAYOUT(\ + l00, l01, l02, l03, l04, l05, r00, r01, r02, r03, r04, r05, \ + l10, l11, l12, l13, l14, l15, r10, r11, r12, r13, r14, r15, \ + l20, l21, l22, l23, l24, l25, r20, r21, r22, r23, r24, r25, \ + lrot, rrot, \ + l30, l31, l32, l33, r30, r31, r32, r33 \ + ) \ + r05 r04 r03 r02 r01 r00 l05 l04 l03 l02 l01 l00 \ + r15 r14 r13 r12 r11 r10 l15 l14 l13 l12 l11 l10 \ + r25 r24 r23 r22 r21 r20 l20 l21 l22 l23 l24 l25 \ + rrot lrot \ + r33 r32 r31 r30 l33 l32 l31 l30 + +#define SWAP_LAYOUT_wrapper(...) SWAP_LAYOUT(__VA_ARGS__) + +#define DEFAULT_LAYOUT \ + /* ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ */ \ + &ht GRAVE TAB, &ht N1 Q, &ht N2 W, &ht N3 E, &ht N4 R, &ht N5 T, &ht N6 Y, &ht N7 U, &ht N8 I, &ht N9 O, &ht N0 P, &kp PIPE, \ + /* ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ */ \ + &kp ESC, &kp A, &kp S, &kp D, &kp F, &kp G, &kp H, &kp J, &kp K, &kp L, &kp SEMI, &kp SQT, \ + /* ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╭─────────────╮ ╭─────────────╮ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ */ \ + &sk LSHFT, &mt_sk LCTRL Z, &mt_sk LALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &mt_sk RALT DOT, &mt_sk RCTRL FSLH, &sk RSHFT, \ + &kp SPACE, &kp C_MUTE, \ + /* ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ */ \ + &lswp, &kp SPACE, <_qk SYM BKSP, &sk LSHIFT, &sk RSHIFT, <_qk NUM DEL, &kp RET, &tog SWP + /* ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ */ + + +&sk { + release-after-ms = <600>; + quick-release; +}; / { + conditional_layers { + compatible = "zmk,conditional-layers"; + tri_layer { + if-layers = ; + then-layer = ; + }; + }; + + combos { + compatible = "zmk,combos"; + caps { + timeout-ms = <50>; + key-positions = ; + bindings = <&caps_word>; + }; + }; + + behaviors { + lt_qk: layer_toggle_quick { + compatible = "zmk,behavior-hold-tap"; + label = "LAYER_TOGGLE_QUICK"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <150>; + quick-tap-ms = ; + bindings = <&mo>, <&kp>; + }; + mt_sk: mod_tap_sticky { + compatible = "zmk,behavior-hold-tap"; + label = "MOD_TAP_STICKY"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <150>; + quick-tap-ms = <200>; + bindings = <&sk>, <&kp>; + }; + ht: hold_tap { + compatible = "zmk,behavior-hold-tap"; + label = "HOLD_TAP"; + #binding-cells = <2>; + tapping_term_ms = <200>; + quick_tap_ms = <200>; + flavor = "tap-preferred"; + bindings = <&kp>, <&kp>; + }; + lswp: lswp { \ + label = "SWAP"; \ + compatible = "zmk,behavior-tap-dance"; \ + #binding-cells = <0>; \ + tapping-term-ms = <200>; \ + bindings = <&sk LGUI>, <&tog SWP>; \ + }; \ + }; + keymap { + compatible = "zmk,keymap"; default_layer { - // sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp C_VOL_UP C_VOL_DN>; - sensor-bindings = <&inc_dec_kp PG_UP PG_DN &inc_dec_kp C_VOL_UP C_VOL_DN>; + label = "DEFAULT"; + bindings = < + /* ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ */ + &ht GRAVE TAB &ht N1 Q &ht N2 W &ht N3 E &ht N4 R &ht N5 T &ht N6 Y &ht N7 U &ht N8 I &ht N9 O &ht N0 P &kp PIPE + /* ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ */ + &kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT + /* ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╭─────────────╮ ╭─────────────╮ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ */ + &sk LSHFT &mt_sk LCTRL Z &mt_sk LALT X &kp C &kp V &kp B &kp N &kp M &kp COMMA &mt_sk RALT DOT &mt_sk RCTRL FSLH &sk RSHFT + &kp SPACE &kp C_MUTE + /* ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ */ + &lswp &kp SPACE <_qk SYM BKSP &sk LSHIFT &sk RSHIFT <_qk NUM DEL &kp RET &tog SWP + /* ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ */ + >; }; - swap_layer { + + winlinux_layer { + label = "WINLINUX"; + bindings = < + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ + &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 &mt_sk LGUI Z &trans &trans &trans &trans &trans &trans &trans &trans &mt_sk RGUI FSLH &trans + &kp SPACE &kp C_MUTE + // ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ + &kp LCTRL &trans &trans &trans &trans &trans &trans &kp RCTRL + // ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ + >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; }; + swap_layer { + label = "SWAP"; + bindings = ; + }; sym_layer { + label = "SYMBOLS"; + bindings = < + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ + &trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &trans &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╭─────────────╮ ╭─────────────╮ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &trans &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE + &kp END &kp C_PP + // ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ + &trans &trans &trans &trans &trans &trans &trans &trans + // ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ + >; sensor-bindings = <&inc_dec_kp UP DOWN &inc_dec_kp C_NEXT C_PREV>; }; num_layer { + label = "NUMBERS"; + bindings = < + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ + &kp TAB &ht F1 N1 &ht F2 N2 &ht F3 N3 &ht F4 N4 &ht F5 N5 &ht F6 N6 &ht F7 N7 &ht F8 N8 &ht F9 N9 &ht F10 N0 ___ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans ___ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╭─────────────╮ ╭─────────────╮ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &trans &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &trans ___ + &trans &trans + // ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ + &trans &trans &trans &trans &trans &trans &trans &trans + // ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ + >; sensor-bindings = <&inc_dec_kp HOME END &inc_dec_kp C_NEXT C_PREV>; }; adj_layer { + label = "ADJUST"; + bindings = < + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────╮ + &bootloader &rgb_ug RGB_TOG &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRI &rgb_ug RGB_SPI &out OUT_TOG &trans &trans &trans &trans &bootloader + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &sys_reset &rgb_ug RGB_EFF &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRD &rgb_ug RGB_SPD &trans &trans &trans &trans &trans &sys_reset + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╭─────────────╮ ╭─────────────╮ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────┤ + &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp C_PREV &kp C_PP &kp C_NEXT &kp C_VOL_UP &kp C_MUTE &kp C_VOL_DN + &trans &trans + // ╰─────────────┴─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ╰─────────────╯ ╰─────────────╯ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┴────────────╯ + &ext_power EP_TOG &to WIN &trans &trans &trans &trans &to DEF XTR_ADJ_RT2 + // ╰─────────────┴─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────┴─────────────╯ + >; // F15 and F14 are brightness controls for macOS sensor-bindings = <&inc_dec_kp F15 F14 &inc_dec_kp PG_UP PG_DN>; }; }; -}; +}