Scroll mode

This commit is contained in:
urob 2022-12-06 20:22:36 -05:00
parent 181d09d51c
commit 937ca41629
5 changed files with 30 additions and 10 deletions

View file

@ -20,6 +20,7 @@
#define NUM 3 #define NUM 3
#define FN 4 #define FN 4
#define UC 5 #define UC 5
#define MWH 6
#include "combos.dtsi" // must be sourced after layer-shortcuts #include "combos.dtsi" // must be sourced after layer-shortcuts
#include "mouse.dtsi" #include "mouse.dtsi"
@ -118,6 +119,13 @@ ZMK_BEHAVIOR(num_layer_word, hold_tap,
) )
#define NUM_WORD &num_layer_word NUM 0 #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 = <RT2 RM2>;
ignored-layers = <MWH>;
)
// tap: sticky shift | double tap: capsword | triple tap: cancel capsword // tap: sticky shift | double tap: capsword | triple tap: cancel capsword
// ZMK_BEHAVIOR(ss_cw, tap_dance, // ZMK_BEHAVIOR(ss_cw, tap_dance,
// tapping-term-ms = <200>; // 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: */ /* vim: set tw=180: */

View file

@ -15,7 +15,7 @@
#define COMBO_TERM_SLOW 35 #define COMBO_TERM_SLOW 35
/* Punctuation (horizontal left hand) */ /* 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(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) ZMK_COMBO_ADV(app, &kp LG(SPACE), LT2 LT1, DEF NAV NUM, COMBO_TERM_FAST)

View file

@ -7,8 +7,8 @@ CONFIG_ZMK_WIDGET_LAYER_STATUS=n
CONFIG_CUSTOM_WIDGET_LAYER_STATUS=n CONFIG_CUSTOM_WIDGET_LAYER_STATUS=n
# Mouse config, requires PR #778 # Mouse config, requires PR #778
# CONFIG_ZMK_MOUSE=y CONFIG_ZMK_MOUSE=y
# CONFIG_ZMK_MOUSE_TICK_DURATION=8 CONFIG_ZMK_MOUSE_TICK_DURATION=8
# Combo config, automated by build script # Combo config, automated by build script
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=4 CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=4

View file

@ -2,7 +2,7 @@
#include "../zmk-nodefree-config/keypos_def/keypos_36keys.h" #include "../zmk-nodefree-config/keypos_def/keypos_36keys.h"
/* map Zen's extra keys */ /* 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 */ /* activate bluetooth */
#define CONFIG_WIRELESS 1 #define CONFIG_WIRELESS 1

View file

@ -2,12 +2,12 @@
#include "../zmk-nodefree-config/keypos_def/keypos_48keys_wide.h" #include "../zmk-nodefree-config/keypos_def/keypos_48keys_wide.h"
/* map Planck's extra keys */ /* map Planck's extra keys */
#define XTR_MT &none &none // top row, middle #define XTR_MT &none &none // top row, middle
#define XTR_MM &none &none // middle row, middle #define XTR_MM &none &none // middle row, middle
#define XTR_MB &none &none // bottom row, middle #define XTR_MB &none &none // bottom row, middle
#define XTR_MH &kp BSPC &none &none &kp RET // thumb 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_LH &none &kp LGUI // thumb row, left
#define XTR_RH &mwh SCROLL_DOWN &mwh SCROLL_UP // thumb row, right #define XTR_RH &mwh SCROLL_DOWN &mwh SCROLL_UP // thumb row, right
/* source the main keymap */ /* source the main keymap */
#include "base.keymap" #include "base.keymap"