Files
zmk-sofle/config/sofle.keymap
T
2024-09-06 21:50:01 +08:00

178 lines
8.9 KiB
Plaintext

#define ZMK_MOUSE_DEFAULT_SCRL_VAL 35 // 10
#include <behaviors/mouse_keys.dtsi>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/rgb.h>
&msc {
acceleration-exponent = <0>; // 0
time-to-max-speed-ms = <0>; // 300
delay-ms = <0>; // 0
};
&mmv {
time-to-max-speed-ms = <400>;
acceleration-exponent = <1>;
};
/ {
macros {
flash_macro: flash_macro {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <&bootloader>;
};
};
behaviors {
hm: homerow_mods {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_MODS";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
quick-tap-ms = <180>;
flavor = "tap-preferred";
};
ltq: ltq {
compatible = "zmk,behavior-hold-tap";
label = "LTQ";
bindings = <&mo>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
quick-tap-ms = <180>;
};
as: auto_shift {
compatible = "zmk,behavior-hold-tap";
label = "AUTO_SHIFT";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <135>;
quick-tap-ms = <0>;
};
rgb_encoder: rgb_encoder {
compatible = "zmk,behavior-sensor-rotate";
label = "RGB_ENCODER";
#sensor-binding-cells = <0>;
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
};
scroll_encoder: scroll_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&msc SCRL_UP>, <&msc SCRL_DOWN>;
tap-ms = <30>;
};
};
keymap {
compatible = "zmk,keymap";
Qwery {
bindings = <
&as TILDE GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp UP_ARROW &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS
&kp ESCAPE &kp Q &kp W &kp E &kp R &kp T &kp DOWN_ARROW &kp Y &kp U &kp I &kp O &kp P &kp RBKT
&kp CAPSLOCK &hm LEFT_GUI A &hm LEFT_ALT S &hm LEFT_CONTROL D &hm LEFT_SHIFT F &kp G &kp LEFT_ARROW &kp H &hm RIGHT_SHIFT J &hm RIGHT_CONTROL K &hm RIGHT_ALT L &as COLON SEMICOLON &as DOUBLE_QUOTES SQT
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp RIGHT_ARROW &kp N &kp M &as LESS_THAN COMMA &as GREATER_THAN PERIOD &as QUESTION SLASH &hm RIGHT_GUI ENTER
&to 5 &kp LCTRL &kp LALT &ltq 1 BACKSPACE &ltq 3 TAB &ltq 2 SPACE &to 6 &ltq 3 SPACE &ltq 2 ENTER &ltq 1 DELETE &kp RALT &kp RCTRL
>;
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOL_DN>;
display-name = "Qwery";
};
Navi {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &kp HOME &kp PAGE_UP &kp C_VOLUME_UP &trans &kp C_BRIGHTNESS_INC &trans &kp UP_ARROW &trans &trans &trans
&trans &kp LEFT_GUI &kp LEFT_ALT &kp LEFT_CONTROL &kp LEFT_SHIFT &kp C_VOLUME_DOWN &trans &kp C_BRIGHTNESS_DEC &kp LEFT_ARROW &kp DOWN_ARROW &kp RIGHT_ARROW &trans &trans
&trans &trans &trans &kp END &kp PAGE_DOWN &kp K_MUTE &trans &kp C_BRIGHTNESS_AUTO &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
label = "Navi";
};
Symbol {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &kp EXCLAMATION &kp AT_SIGN &kp HASH &kp DOLLAR &kp PERCENT &trans &kp CARET &kp AMPERSAND &kp ASTERISK &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &trans
&trans &kp ESCAPE &kp CAPSLOCK &kp HOME &kp END &kp UNDERSCORE &trans &kp MINUS &kp RIGHT_SHIFT &kp PAGE_UP &kp PAGE_DOWN &kp INSERT &trans
&trans &kp BACKSPACE &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp DELETE &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
label = "Symbol";
};
Modify {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&kp LG(Q) &kp NUMBER_1 &kp NUMBER_2 &kp N3 &kp N4 &kp N5 &trans &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
&trans &kp LG(A) &kp LG(S) &kp LG(D) &kp LG(F) &kp LBKT &trans &kp RBKT &kp RIGHT_SHIFT &kp RIGHT_CONTROL &kp RIGHT_ALT &kp RIGHT_GUI &trans
&trans &kp LG(Z) &kp LG(X) &kp LG(C) &kp LG(D) &kp LEFT_BRACE &trans &kp RIGHT_BRACE &kp F1 &kp F2 &kp F3 &kp F4 &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
label = "Modify";
};
Flash {
bindings = <
&flash_macro &trans &trans &trans &trans &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &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 &trans &bt BT_CLR &trans &trans &trans &trans &bt BT_CLR_ALL
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
display-name = "Flash";
};
Rgb {
bindings = <
&ext_power EP_TOG &trans &trans &trans &trans &rgb_ug RGB_SPI &rgb_ug RGB_HUI &rgb_ug RGB_SPD &trans &trans &trans &trans &trans
&trans &trans &trans &trans &rgb_ug RGB_BRI &rgb_ug RGB_EFR &rgb_ug RGB_HUD &rgb_ug RGB_EFF &rgb_ug RGB_BRD &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &rgb_ug RGB_SAI &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &rgb_ug RGB_SAD &trans &trans &trans &trans &trans &trans
&to 0 &trans &trans &trans &trans &trans &rgb_ug RGB_TOG &trans &trans &trans &trans &trans
>;
label = "Rgb";
sensor-bindings = <&rgb_encoder &scroll_encoder>;
};
Mouse {
bindings = <
&trans &trans &trans &trans &trans &trans &mmv MOVE_UP &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &mmv MOVE_DOWN &trans &trans &mmv MOVE_UP &trans &trans &trans
&trans &trans &trans &trans &trans &trans &mmv MOVE_LEFT &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &trans &trans
&trans &trans &trans &trans &trans &trans &mmv MOVE_RIGHT &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &mkp LCLK &mkp RCLK &to 0 &mkp LCLK &mkp RCLK &trans &trans &trans
>;
label = "Mouse";
sensor-bindings = <&scroll_encoder>;
};
};
conditional_layers {
compatible = "zmk,conditional-layers";
Flash {
if-layers = <2 3>;
then-layer = <4>;
};
};
};