From d5d1bb39e5d0aab04741fcd8ace865de15b18556 Mon Sep 17 00:00:00 2001 From: Andrew Reisner Date: Thu, 26 Feb 2026 10:33:53 -0500 Subject: [PATCH] Add dragscroll toggle. --- keyboards/zsa/voyager/keymaps/ball/keymap.c | 35 +++++++++++---------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/keyboards/zsa/voyager/keymaps/ball/keymap.c b/keyboards/zsa/voyager/keymaps/ball/keymap.c index bd75e35428095f98fdb1ee45888efa3595783083..4e6f033815c1de709b07a886ed1ca9570816b5a1 100644 --- a/keyboards/zsa/voyager/keymaps/ball/keymap.c +++ b/keyboards/zsa/voyager/keymaps/ball/keymap.c @@ -6,6 +6,7 @@ enum custom_keycodes { DRAG_SCROLL = SAFE_RANGE, + DRG_TOG, NAVIGATOR_INC_CPI, NAVIGATOR_DEC_CPI, }; @@ -20,9 +21,11 @@ enum custom_keycodes { #define HR_L MT(MOD_RALT, KC_L) #define HR_SCLN KC_SCLN -#define LR_V LT(3, KC_V) #define LR_B LT(2, KC_B) +#define CPI_UP NAVIGATOR_INC_CPI +#define CPI_DN NAVIGATOR_DEC_CPI + #define KC_EUNDO LCTL(LSFT(KC_MINUS)) #define KC_AENTER LCTL(LALT(KC_ENT)) #define WAYFULL LGUI(LSFT(KC_F)) @@ -49,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, TD(TD_UNDO), KC_I, KC_O, KC_P, KC_BSLS, KC_ESCAPE,HR_A, HR_S, HR_D, HR_F, KC_G, KC_H, HR_J, HR_K, HR_L, HR_SCLN, RSFT_T(KC_QUOT), - MO(5), KC_Z, KC_X, KC_C, LR_V, LR_B, KC_N, KC_M, KC_COMMA,KC_DOT, KC_SLSH, TG(1), - LT(4, KC_BSPC), KC_LGUI, MT(MOD_RGUI, KC_ENT), LT(4, KC_SPC) + MO(4), KC_Z, KC_X, KC_C, KC_V, LR_B, KC_N, KC_M, KC_COMMA,KC_DOT, KC_SLSH, TG(1), + LT(3, KC_BSPC), KC_LGUI, MT(MOD_RGUI, KC_ENT), LT(3, KC_SPC) ), [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -59,32 +62,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - // Mouse layer + // Mouse + Numpad layer [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, NAVIGATOR_DEC_CPI, NAVIGATOR_INC_CPI, _______, _______, _______, _______, _______, _______, _______, - _______, _______, DRAG_SCROLL, KC_MS_BTN2, KC_MS_BTN1, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - [3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_4, KC_5, KC_6, KC_PLUS, _______, - _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT, _______, + _______, DRG_TOG, DRAG_SCROLL, KC_MS_BTN2, KC_MS_BTN1, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT, _______, _______, _______, _______, _______ ), - [4] = LAYOUT( + [3] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_GRV, KC_GRV, KC_TILDE,KC_HASH, KC_AMPR, KC_PIPE, KC_CIRC, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_F12, KC_EUNDO,KC_EXLM, KC_UNDS, KC_COLN, KC_EQL, KC_DLR, KC_AT, KC_LPRN, KC_RPRN, KC_UNDS, KC_SCLN, KC_BSPC, _______, KC_PERC, KC_QUES, KC_ASTR, KC_PLUS, KC_BSLS, KC_SLSH, KC_MINUS,KC_LT, KC_GT, KC_DQT, KC_ENT, - MO(5), _______, _______, _______ + MO(4), _______, _______, _______ ), - [5] = LAYOUT( + [4] = LAYOUT( RM_TOGG, QK_KB, RM_NEXT, RGB_M_P, RM_VALD, RM_VALU, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, - _______, WAYHALF, WAYFULL, KC_CAD, KC_AENTER, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, CPI_UP, KC_HOME, KC_UP, KC_END, _______, _______, + _______, WAYHALF, WAYFULL, KC_CAD, KC_AENTER, _______, CPI_DN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, C(S(KC_TAB)), C(KC_TAB), _______, _______, _______, _______, _______, _______, _______ ), @@ -107,6 +103,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } break; + case DRG_TOG: + if (record->event.pressed) { + set_scrolling = !set_scrolling; + } + return false; case DRAG_SCROLL: set_scrolling = record->event.pressed; return false;