#define ZMK_POINTING_DEFAULT_MOVE_VAL 600 // 600
#define ZMK_POINTING_DEFAULT_SCRL_VAL 25 // 10
#include
#include
#include
#include
#include
#include
#include
#include
&mmv_input_listener { input-processors = <&zip_xy_scaler 2 1>; };
&msc_input_listener { input-processors = <&zip_scroll_scaler 2 1>; };
&msc {
acceleration-exponent = <1>; // 0
time-to-max-speed-ms = <500>; // 300
delay-ms = <0>; // 0
trigger-period-ms = <0>;
};
&mmv {
time-to-max-speed-ms = <500>;
acceleration-exponent = <1>;
trigger-period-ms = <16>;
};
/ {
scroll_encoder: scroll_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&msc SCRL_DOWN>, <&msc SCRL_UP>;
tap-ms = <100>;
};
behaviors {
};
keymap {
compatible = "zmk,keymap";
Main {
bindings = <
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &mmv MOVE_UP &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BACKSPACE
&kp TAB &kp Q &kp W &kp E &kp R &kp T &mmv MOVE_DOWN &kp Y &kp U &kp I &kp O &kp P &kp BSLH
&kp CAPS &kp A &kp S &kp D &kp F &kp G &mmv MOVE_LEFT &kp H &kp J &kp K &kp L &kp SEMI &kp APOS
&mt LSHFT ENTER &kp Z &kp X &kp C &kp V &kp B &mmv MOVE_RIGHT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RSHIFT ENTER
&kp C_MUTE &kp LCTRL &kp LEFT_ALT &mo 1 &kp SPACE &kp LEFT_GUI &mkp LCLK &kp RGUI &kp SPACE &mo 1 &kp RIGHT_ALT &kp RCTRL
>;
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOL_DN>;
display-name = "Main";
};
Layer1 {
bindings = <
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &to 3
&msc SCRL_UP &kp C_VOLUME_DOWN &kp C_PREVIOUS &kp UP &kp C_NEXT &kp C_VOLUME_UP &trans &trans &msc SCRL_UP &kp INS &kp DEL &kp MINUS &kp EQUAL
&msc SCRL_DOWN &trans &kp LEFT &kp DOWN &kp RIGHT &trans &trans &trans &msc SCRL_DOWN &kp HOME &kp END &kp LEFT_BRACKET &kp RIGHT_BRACKET
&trans &rgb_ug RGB_OFF &rgb_ug RGB_ON &rgb_ug RGB_EFF &rgb_ug RGB_EFR &rgb_ug RGB_SPI &trans &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp PG_UP &kp PG_DN &kp F12 &trans
&kp C_PLAY_PAUSE &trans &trans &mo 2 &trans &trans &trans &trans &trans &mo 2 &trans &trans
>;
display-name = "Layer 1";
sensor-bindings = <&inc_dec_kp C_BRI_INC C_BRI_DEC>;
};
Layer2 {
bindings = <
&kp TILDE &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans
&trans &bt BT_CLR &bt BT_CLR_ALL &trans &trans &trans &trans &trans &trans &kp F11 &kp F12 &kp UNDER &kp PLUS
&trans &out OUT_USB &out OUT_BLE &trans &trans &trans &trans &trans &trans &trans &trans &kp LBRC &kp RBRC
&trans &sys_reset &trans &bootloader &trans &trans &trans &trans &trans &sys_reset &soft_off &bootloader &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
label = "Layer 2";
};
NUMPAD {
bindings = <
&to 0 &none &none &none &none &none &none &none &kp PLUS &kp MINUS &kp MINUS &kp EQUAL &to 0
&none &none &none &kp UP &none &none &none &none &kp N7 &kp N8 &kp N9 &none &none
&none &none &kp LEFT &kp DOWN &kp RIGHT &none &none &none &kp N4 &kp N5 &kp N6 &none &none
&none &none &none &none &none &none &none &none &kp N1 &kp N2 &kp N3 &none &none
&none &none &none &to 4 &none &none &none &none &none &to 4 &kp N0 &kp DOT
>;
label = "Layer 3";
};
NUMLOCK {
bindings = <
&to 0 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &to 0
&trans &trans &trans &trans &trans &trans &trans &trans &kp HOME &kp UP &kp PG_UP &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &kp LEFT &none &kp RIGHT &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &kp END &kp DOWN &kp PG_DN &trans &trans
&trans &trans &trans &to 3 &trans &trans &trans &trans &trans &to 3 &none &none
>;
label = "Layer 4";
};
};
};