diff --git a/keyboards/ploopyco/ploopyco.c b/keyboards/ploopyco/ploopyco.c index a6f76203d64..57f2a26b8c3 100644 --- a/keyboards/ploopyco/ploopyco.c +++ b/keyboards/ploopyco/ploopyco.c @@ -128,6 +128,16 @@ void encoder_driver_task(void) { } #endif +void toggle_drag_scroll(void) { + is_drag_scroll ^= 1; +} + +void cycle_dpi(void) { + keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; + eeconfig_update_kb(keyboard_config.raw); + pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]); +} + report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { if (is_drag_scroll) { scroll_accumulated_h += (float)mouse_report.x / PLOOPY_DRAGSCROLL_DIVISOR_H; @@ -174,9 +184,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { } if (keycode == DPI_CONFIG && record->event.pressed) { - keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; - eeconfig_update_kb(keyboard_config.raw); - pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]); + cycle_dpi(); } if (keycode == DRAG_SCROLL) { @@ -184,7 +192,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { is_drag_scroll = record->event.pressed; #else if (record->event.pressed) { - is_drag_scroll ^= 1; + toggle_drag_scroll(); } #endif } diff --git a/keyboards/ploopyco/ploopyco.h b/keyboards/ploopyco/ploopyco.h index 61a8d58a933..eadd04d3ae0 100644 --- a/keyboards/ploopyco/ploopyco.h +++ b/keyboards/ploopyco/ploopyco.h @@ -37,3 +37,5 @@ enum ploopy_keycodes { bool encoder_update_user(uint8_t index, bool clockwise); bool encoder_update_kb(uint8_t index, bool clockwise); +void toggle_drag_scroll(void); +void cycle_dpi(void); diff --git a/keyboards/ploopyco/readme.md b/keyboards/ploopyco/readme.md index b6eecf080e9..a9777ca7cea 100644 --- a/keyboards/ploopyco/readme.md +++ b/keyboards/ploopyco/readme.md @@ -10,11 +10,11 @@ # Customizing your PloopyCo Device There are a number of behavioral settings that you can use to help customize your experience -| | | | -|---------------------------------|-------------------|-----------------------------------------------------------| -| `PLOOPY_IGNORE_SCROLL_CLICK` | *__not_defined__* | Ignores scroll wheel if it is pressed down. | -| `PLOOPY_SCROLL_DEBOUNCE` | `5` | Number of milliseconds between scroll events. | -| `PLOOPY_SCROLL_BUTTON_DEBOUNCE` | `100` | Time to ignore scroll events after pressing scroll wheel. | +|Define |Default Value|Description | +|-------------------------------|-------------|---------------------------------------------------------| +|`PLOOPY_IGNORE_SCROLL_CLICK` |*Not defined*|Ignores scroll wheel if it is pressed down. | +|`PLOOPY_SCROLL_DEBOUNCE` |`5` |Number of milliseconds between scroll events. | +|`PLOOPY_SCROLL_BUTTON_DEBOUNCE`|`100` |Time to ignore scroll events after pressing scroll wheel.| ## DPI