From 937ca4162939dc4f482b8c4d8f98cc0ac26e11ce Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Tue, 6 Dec 2022 20:22:36 -0500 Subject: [PATCH] Scroll mode --- config/base.keymap | 20 ++++++++++++++++++++ config/combos.dtsi | 2 +- config/corneish_zen.conf | 4 ++-- config/corneish_zen.keymap | 2 +- config/planck_rev6.keymap | 12 ++++++------ 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/config/base.keymap b/config/base.keymap index 42b69d6..4b91fd4 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -20,6 +20,7 @@ #define NUM 3 #define FN 4 #define UC 5 +#define MWH 6 #include "combos.dtsi" // must be sourced after layer-shortcuts #include "mouse.dtsi" @@ -118,6 +119,13 @@ ZMK_BEHAVIOR(num_layer_word, hold_tap, ) #define NUM_WORD &num_layer_word NUM 0 +// scroll-mode, requires PR #1366 +ZMK_BEHAVIOR(scroll_mode, tri_state, + bindings = <&tog MWH>, <&none>, <&tog MWH>; + ignored-key-positions = ; + ignored-layers = ; +) + // tap: sticky shift | double tap: capsword | triple tap: cancel capsword // ZMK_BEHAVIOR(ss_cw, tap_dance, // tapping-term-ms = <200>; @@ -280,4 +288,16 @@ ZMK_LAYER(uc_layer, // ╰─────────────╯ ╰─────────────┴─────────────╯ ╰─────────────╯ ╰───────────────────────────╯ ╰─────────────╯ ) +ZMK_LAYER(mwh_layer, + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + ___ ___ ___ ___ ___ XTR_MT ___ ___ &mwh SCROLL_UP ___ ___ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + ___ ___ ___ ___ ___ XTR_MM ___ ___ &mwh SCROLL_DOWN ___ ___ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + ___ ___ ___ ___ ___ XTR_MB ___ ___ ___ ___ ___ + // ├─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├─────────────┤ ├─────────────┼─────────────┼─────────────┴─────────────┼─────────────┤ + XTR_LH ___ ___ XTR_MH ___ ___ XTR_RH + // ╰─────────────╯ ╰─────────────┴─────────────╯ ╰─────────────╯ ╰─────────────┴─────────────╯ ╰─────────────╯ +) + /* vim: set tw=180: */ diff --git a/config/combos.dtsi b/config/combos.dtsi index 19466c9..62defa7 100644 --- a/config/combos.dtsi +++ b/config/combos.dtsi @@ -15,7 +15,7 @@ #define COMBO_TERM_SLOW 35 /* Punctuation (horizontal left hand) */ -ZMK_COMBO_ADV(num, &num_word, LT3 LT1, DEF NAV NUM, COMBO_TERM_SLOW) +// ZMK_COMBO_ADV(mwh, &scroll_mode, LT3 LT1, DEF NAV NUM, COMBO_TERM_SLOW) ZMK_COMBO_ADV(esc, &kp ESC, LT3 LT2, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO_ADV(app, &kp LG(SPACE), LT2 LT1, DEF NAV NUM, COMBO_TERM_FAST) diff --git a/config/corneish_zen.conf b/config/corneish_zen.conf index 3073682..4d96971 100644 --- a/config/corneish_zen.conf +++ b/config/corneish_zen.conf @@ -7,8 +7,8 @@ CONFIG_ZMK_WIDGET_LAYER_STATUS=n CONFIG_CUSTOM_WIDGET_LAYER_STATUS=n # Mouse config, requires PR #778 -# CONFIG_ZMK_MOUSE=y -# CONFIG_ZMK_MOUSE_TICK_DURATION=8 +CONFIG_ZMK_MOUSE=y +CONFIG_ZMK_MOUSE_TICK_DURATION=8 # Combo config, automated by build script CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=4 diff --git a/config/corneish_zen.keymap b/config/corneish_zen.keymap index cde5f96..d48fee0 100644 --- a/config/corneish_zen.keymap +++ b/config/corneish_zen.keymap @@ -2,7 +2,7 @@ #include "../zmk-nodefree-config/keypos_def/keypos_36keys.h" /* map Zen's extra keys */ -#define XTR_MH &kp BSPC &kp RET // thumb row, middle +#define XTR_MH &scroll_mode &kp RET // thumb row, middle /* activate bluetooth */ #define CONFIG_WIRELESS 1 diff --git a/config/planck_rev6.keymap b/config/planck_rev6.keymap index dc1788c..09f5f4a 100644 --- a/config/planck_rev6.keymap +++ b/config/planck_rev6.keymap @@ -2,12 +2,12 @@ #include "../zmk-nodefree-config/keypos_def/keypos_48keys_wide.h" /* map Planck's extra keys */ -#define XTR_MT &none &none // top row, middle -#define XTR_MM &none &none // middle row, middle -#define XTR_MB &none &none // bottom row, middle -#define XTR_MH &kp BSPC &none &none &kp RET // thumb row, middle -#define XTR_LH &none &kp LGUI // thumb row, left -#define XTR_RH &mwh SCROLL_DOWN &mwh SCROLL_UP // thumb row, right +#define XTR_MT &none &none // top row, middle +#define XTR_MM &none &none // middle row, middle +#define XTR_MB &none &none // bottom row, middle +#define XTR_MH &scroll_mode &none &none &kp RET // thumb row, middle +#define XTR_LH &none &kp LGUI // thumb row, left +#define XTR_RH &mwh SCROLL_DOWN &mwh SCROLL_UP // thumb row, right /* source the main keymap */ #include "base.keymap"