corne-zmk-config/config/corne.keymap
2024-09-01 06:06:52 +08:00

119 lines
5.9 KiB
Plaintext

#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/outputs.h>
#include <dt-bindings/zmk/rgb.h>
#define ZMK_MOUSE_DEFAULT_MOVE_VAL 2000 // 600
#define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10
#define U_MS_U &mmv MOVE_UP
#define U_MS_D &mmv MOVE_DOWN
#define U_MS_L &mmv MOVE_LEFT
#define U_MS_R &mmv MOVE_RIGHT
#define U_WH_U &msc SCRL_UP
#define U_WH_D &msc SCRL_DOWN
#define U_WH_L &msc SCRL_LEFT
#define U_WH_R &msc SCRL_RIGHT
/ {
behaviors {
td0: td0 {
compatible = "zmk,behavior-tap-dance";
label = "TD0";
#binding-cells = <0>;
bindings = <&kp LEFT_SHIFT>, <&kp CAPS>;
};
mmv {
acceleration-exponent = <1>; // 1
time-to-max-speed-ms = <300>; // 40
delay-ms = <0>; // 0
};
msc {
acceleration-exponent = <0>; // 0
time-to-max-speed-ms = <40>; // 500
delay-ms = <0>; // 10
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
display-name = "QWERTY";
// --------------------------------------------------------------------------------
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSP |
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
// | SHFT | Z | X | C | V | B | | N | M | , | . | / | ESC |
// | GUI | LWR | SPC | | ENT | RSE | ALT |
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp UP_ARROW &kp Y &kp U &kp I &kp O &kp P &kp BSPC
&td0 &kp A &kp S &kp D &kp F &kp G &kp DOWN_ARROW &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&kp LCTRL &kp Z &kp X &kp C &kp V &kp B &kp LEFT_ARROW &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC
&kp SPACE &kp LGUI &mo 1 &lt 3 SPACE &kp RIGHT_ARROW &lt 3 ENTER &mo 2 &kp RALT
&kp ENTER
>;
label = "QWERTY";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
};
lower_layer {
display-name = "NUMBER";
// -----------------------------------------------------------------------------------------
// | 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 = <
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &mmv MOVE_UP &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
&trans &bt BT_CLR_ALL &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &mmv MOVE_DOWN &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp HOME &kp PG_UP
&trans &rgb_ug RGB_OFF &rgb_ug RGB_ON &ext_power EP_OFF &ext_power EP_ON &rgb_ug RGB_EFF &mmv MOVE_LEFT &rgb_ug RGB_EFR &rgb_ug RGB_SPI &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp END &kp PG_DN
&trans &trans &trans &trans &mmv MOVE_RIGHT &kp INS &kp DEL &trans
&mkp LCLK
>;
label = "NUMBER";
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
};
raise_layer {
display-name = "SYMBOL";
// -----------------------------------------------------------------------------------------
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP |
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT |
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &trans &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&trans &none &none &none &none &none &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&trans &out OUT_USB &out OUT_BLE &none &none &none &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&trans &trans &trans &kp SPACE &trans &kp RET &trans &trans
&trans
>;
};
layer_3 {
display-name = "Fn";
bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &msc SCRL_UP &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&trans &trans &mkp LCLK &mkp MCLK &mkp RCLK &trans &msc SCRL_DOWN &bootloader &mkp LCLK &mkp MCLK &mkp RCLK &kp PRINTSCREEN &kp F12
&trans &trans &mmv MOVE_UP &kp A &trans &trans &msc SCRL_LEFT &trans &trans &trans &trans &kp SCROLLLOCK &kp PAUSE_BREAK
&mkp MCLK &trans &trans &trans &msc SCRL_RIGHT &trans &trans &trans
&mkp LCLK
>;
label = "Fn";
sensor-bindings = <&inc_dec_kp &mkp MB4 &mkp MB5>;
};
};
};