mirror of
https://github.com/qmk/qmk_firmware
synced 2024-12-22 08:26:21 +00:00
Add Ploopyco functions for host state control (#23953)
This commit is contained in:
parent
c8a87ff3fe
commit
27d68ef8b9
@ -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
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user