summaryrefslogtreecommitdiffstats
path: root/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c')
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
index d931fd940d..69f7500957 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
@@ -85,7 +85,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
#ifdef POINTING_DEVICE_ENABLE
if (keycode == DPI_CONFIG && record->event.pressed) {
- keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE;
+ if ((get_mods()|get_oneshot_mods()) & MOD_MASK_SHIFT) {
+ keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE;
+ } else {
+ keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE;
+ }
eeconfig_update_kb(keyboard_config.raw);
trackball_set_cpi(dpi_array[keyboard_config.dpi_config]);
}