summaryrefslogtreecommitdiffstats
path: root/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c')
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c43
1 files changed, 4 insertions, 39 deletions
diff --git a/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c b/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
index 438e2406fa..da328fff04 100644
--- a/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
+++ b/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
@@ -17,46 +17,11 @@
*/
#include QMK_KEYBOARD_H
-// used for tracking the state
-bool is_drag_scroll = false;
-
-enum custom_keycodes {
- DRAG_SCROLL = PLOOPY_SAFE_RANGE,
-};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(/* Base */
- C(KC_C), KC_BTN1, KC_BTN3, KC_BTN2, C(KC_V), KC_BTN4, KC_BTN5, DPI_CONFIG)
-};
+ C(KC_C), KC_BTN1, KC_BTN3, LT(1, KC_BTN2), C(KC_V), KC_BTN4, KC_BTN5, DPI_CONFIG),
+ [1] = LAYOUT(/* Base */
+ _______, DRAG_SCROLL, _______, _______, _______, _______, _______, RESET),
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case DRAG_SCROLL:
- if (record->event.pressed) {
- // this toggles the state each time you tap it
- is_drag_scroll ^= 1;
- }
- break;
- }
- return true;
-}
-
-// The real magic is here.
-// This function is called to translate the processed sensor movement
-// from the mouse sensor and translates it into x and y movement for
-// the mouse report. Normally. So if "drag scroll" is toggled on,
-// moving the ball scrolls instead. You could remove the x or y here
-// to only scroll in one direction, if you wanted, as well. In fact,
-// there is no reason that you need to send this to the mouse report.
-// You could have it register a key, instead.
-void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) {
- if (is_drag_scroll) {
- mouse_report->h = x;
- mouse_report->v = y;
- } else {
- mouse_report->x = x;
- mouse_report->y = y;
- }
-}
+};