diff --git a/config/sofle.keymap b/config/sofle.keymap index c21ce49b9..73b0759fe 100644 --- a/config/sofle.keymap +++ b/config/sofle.keymap @@ -1,4 +1,3 @@ -#include #include #include #include @@ -12,14 +11,20 @@ #define U_MS_D &mmv MOVE_DOWN #define U_MS_L &mmv MOVE_LEFT #define U_MS_R &mmv MOVE_RIGHT -#define ZMK_MOUSE_DEFAULT_MOVE_VAL 1200 // 600 -#define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10 + +#define COMBO(NAME, BINDINGS, KEYPOS) \ + combo_##NAME { \ + timeout-ms = <50>; \ + bindings = ; \ + key-positions = ; \ + layers = <0>; \ + }; / { behaviors { mmv { acceleration-exponent = <1>; // 1 - time-to-max-speed-ms = <900>; // 40 + time-to-max-speed-ms = <1600>; // 40 delay-ms = <0>; // 0 }; @@ -29,7 +34,12 @@ delay-ms = <0>; // 10 }; }; + combos { + compatible = "zmk,combos"; + COMBO(ctrl_tab_caps, &kp CAPS, LCTRL TAB) // Ctrl + Tab 동시 입력시 Caps Lock + + }; scroll_encoder: scroll_encoder { compatible = "zmk,behavior-sensor-rotate"; #sensor-binding-cells = <0>; @@ -41,13 +51,13 @@ keymap { compatible = "zmk,keymap"; - layer0 { - bindings = < -&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp UP_ARROW &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BACKSPACE -&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp DOWN_ARROW &kp Y &kp U &kp I &kp O &kp P &kp BSLH -&kp CAPS &kp A &kp S &kp D &kp F &kp G &kp LEFT_ARROW &kp H &kp J &kp K &kp L &kp SEMI &kp APOS -&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp RIGHT_ARROW &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ENTER -&kp C_MUTE &kp LCTRL &kp LEFT_GUI &kp LEFT_ALT &mo 1 &kp SPACE &kp ENTER &kp SPACE &kp ENTER &mo 2 &kp RIGHT_SHIFT &kp DELETE + layer0 { + bindings = < + &kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp UP_ARROW &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BACKSPACE + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp DOWN_ARROW &kp Y &kp U &kp I &kp O &kp P &kp BSLH + &kp LSHIFT &kp A &kp S &kp D &kp F &kp G &kp LEFT_ARROW &kp H &kp J &kp K &kp L &kp SEMI &kp APOS + &kp LCTRL &kp Z &kp X &kp C &kp V &kp B &kp RIGHT_ARROW &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RIGHT_SHIFT + &kp C_MUTE &kp CAPS &kp LEFT_GUI &kp LEFT_ALT &mo 1 &kp SPACE &kp ENTER &kp SPACE &kp ENTER &mo 2 &kp RIGHT_ALT &kp DELETE >; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOL_DN>; @@ -57,7 +67,7 @@ layer_1 { bindings = < &kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &mmv MOVE_UP &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans -&trans &kp GRAVE &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_DOWN &kp PG_UP &kp END &kp UP &kp HOME &kp MINUS &kp EQUAL +&trans &kp GRAVE &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_DOWN &kp PG_UP &kp HOME &kp UP &kp END &kp MINUS &kp PLUS &trans &kp TILDE &trans &trans &trans &mkp MB5 &mmv MOVE_LEFT &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &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 &mmv MOVE_RIGHT &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp INSERT &kp F11 &kp F12 &trans &kp C_MUTE &trans &trans &trans &trans &trans &mkp LCLK &trans &trans &trans &trans &trans @@ -70,7 +80,7 @@ layer_2 { bindings = < &kp TILDE &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &mmv MOVE_UP &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans -&trans &bt BT_CLR &bt BT_CLR_ALL &trans &trans &trans &mmv MOVE_DOWN &trans &trans &kp F11 &kp F12 &kp UNDER &kp PLUS +&trans &bt BT_CLR &bt BT_CLR_ALL &trans &trans &trans &mmv MOVE_DOWN &trans &trans &kp F11 &kp F12 &kp UNDER &kp EQUAL &trans &out OUT_USB &out OUT_BLE &trans &trans &trans &mmv MOVE_LEFT &trans &trans &trans &trans &kp LBRC &kp RBRC &trans &sys_reset &trans &bootloader &trans &trans &mmv MOVE_RIGHT &trans &trans &sys_reset &soft_off &bootloader &trans &trans &trans &trans &trans &trans &trans &mkp LCLK &trans &trans &trans &trans &trans diff --git a/keymap-drawer/sofle.svg b/keymap-drawer/sofle.svg index 9ad726e5f..cc7104237 100644 --- a/keymap-drawer/sofle.svg +++ b/keymap-drawer/sofle.svg @@ -156,8 +156,8 @@ text.footer { paint-order: stroke; } -/* styling for combo tap, and key hold/shifted label text */ -text.combo, text.hold, text.shifted { +/* styling for combo tap, and key non-tap label text */ +text.combo, text.hold, text.shifted, text.left, text.right { font-size: 11px; } @@ -171,12 +171,20 @@ text.shifted { dominant-baseline: hanging; } +text.left { + text-anchor: start; +} + +text.right { + text-anchor: end; +} + text.layer-activator { text-decoration: underline; } /* styling for hold/shifted label text in combo box */ -text.combo.hold, text.combo.shifted { +text.combo.hold, text.combo.shifted, text.combo.left, text.combo.right { font-size: 8px; } diff --git a/keymap-drawer/sofle.yaml b/keymap-drawer/sofle.yaml index 217c6ffb4..e69de29bb 100644 --- a/keymap-drawer/sofle.yaml +++ b/keymap-drawer/sofle.yaml @@ -1,197 +0,0 @@ -layout: {qmk_keyboard: sofle/rev1} -layers: - LAYER0: - - $$mdi:keyboard-esc$$ - - {t: '1', s: '!'} - - {t: '2', s: '@'} - - {t: '3', s: '#'} - - {t: '4', s: $} - - {t: '5', s: '%'} - - $$mdi:arrow-up-bold$$ - - {t: '6', s: ^} - - {t: '7', s: '&'} - - {t: '8', s: '*'} - - {t: '9', s: (} - - {t: '0', s: )} - - {t: '$$mdi:backspace$$', type: backspace} - - $$mdi:keyboard-tab$$ - - Q - - W - - E - - R - - T - - $$mdi:arrow-down-bold$$ - - Y - - U - - I - - O - - P - - {t: \, s: '|'} - - $$mdi:apple-keyboard-caps$$ - - A - - S - - D - - F - - G - - $$mdi:arrow-left-bold$$ - - H - - J - - K - - L - - {t: ;, s: ':'} - - . - - $$mdi:apple-keyboard-shift$$ - - Z - - X - - C - - V - - B - - $$mdi:arrow-right-bold$$ - - N - - M - - {t: ',', s: <} - - {t: ., s: '>'} - - {t: /, s: '?'} - - {t: '$$mdi:keyboard-return$$', type: enter} - - $$mdi:volume-off$$ - - $$mdi:apple-keyboard-control$$ - - $$mdi:apple-keyboard-command$$ - - $$mdi:apple-keyboard-option$$ - - layer1 - - $$mdi:keyboard-space$$ - - {t: '$$mdi:keyboard-return$$', type: enter} - - $$mdi:keyboard-space$$ - - {t: '$$mdi:keyboard-return$$', type: enter} - - '2' - - $$mdi:apple-keyboard-shift$$ - - $$mdi:backspace-reverse-outline$$ - layer1: - - {t: '`', s: '~'} - - F1 - - F2 - - F3 - - F4 - - F5 - - {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'} - - F6 - - F7 - - F8 - - F9 - - F10 - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '`', s: '~'} - - $$mdi:mouse-left-click-outline$$ - - $$mdi:mouse-scroll-wheel$$ - - $$mdi:mouse-right-click-outline$$ - - '&mkp MB4' - - {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'} - - PG UP - - END - - $$mdi:arrow-up-bold$$ - - HOME - - {t: '-', s: _} - - {t: '=', s: +} - - {t: '$$mdi:transfer$$', type: trans} - - '~' - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - '&mkp MB5' - - {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'} - - PG DN - - $$mdi:arrow-left-bold$$ - - $$mdi:arrow-down-bold$$ - - $$mdi:arrow-right-bold$$ - - {t: '[', s: '{'} - - {t: ']', s: '}'} - - {t: '$$mdi:transfer$$', type: trans} - - RGB OFF - - RGB ON - - RGB EFF - - RGB EFR - - RGB SPI - - {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'} - - RGB BRI - - RGB BRD - - Ins - - F11 - - F12 - - {t: '$$mdi:transfer$$', type: trans} - - $$mdi:volume-off$$ - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {type: held} - - {t: '$$mdi:transfer$$', type: trans} - - $$mdi:mouse-left-click-outline$$ - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - '2': - - '~' - - {h: '1', s: '$$mdi:bluetooth-connect$$'} - - {h: '2', s: '$$mdi:bluetooth-connect$$'} - - {h: '3', s: '$$mdi:bluetooth-connect$$'} - - {h: '4', s: '$$mdi:bluetooth-connect$$'} - - {h: '5', s: '$$mdi:bluetooth-connect$$'} - - {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'} - - F6 - - F7 - - F8 - - F9 - - F10 - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - $$mdi:bluetooth-off$$ - - BT CLR ALL - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - F11 - - F12 - - _ - - + - - {t: '$$mdi:transfer$$', type: trans} - - OUT USB - - OUT BLE - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - '{' - - '}' - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:backup-restore$$', type: bootloader} - - {t: '$$mdi:transfer$$', type: trans} - - $$mdi:progress-download$$ - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:backup-restore$$', type: bootloader} - - '&soft_off' - - $$mdi:progress-download$$ - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - $$mdi:mouse-left-click-outline$$ - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans} - - {type: held} - - {t: '$$mdi:transfer$$', type: trans} - - {t: '$$mdi:transfer$$', type: trans}