From 20b573668e664bb251db3bb1d078255085cebf98 Mon Sep 17 00:00:00 2001 From: TurkeyTheGobbler <52660465+TurkeyTheGobbler@users.noreply.github.com> Date: Sat, 25 Jul 2020 12:26:37 -0400 Subject: [PATCH] g300: use the correct step size --- src/driver-logitech-g300.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/driver-logitech-g300.c b/src/driver-logitech-g300.c index 609a6186..e0286646 100644 --- a/src/driver-logitech-g300.c +++ b/src/driver-logitech-g300.c @@ -37,7 +37,7 @@ #define LOGITECH_G300_BUTTON_MAX 8 #define LOGITECH_G300_NUM_DPI 4 #define LOGITECH_G300_NUM_LED 1 -#define LOGITECH_G300_DPI_MIN 250 +#define LOGITECH_G300_DPI_MIN 100 #define LOGITECH_G300_DPI_MAX 2500 #define LOGITECH_G300_REPORT_ID_GET_ACTIVE 0xF0 @@ -51,7 +51,7 @@ #define LOGITECH_G300_REPORT_SIZE_PROFILE 35 struct logitech_g300_resolution { - uint8_t dpi :7; /* Range 1-10. dpi = 250*value */ + uint8_t dpi :7; /* Range 1-10. dpi = 100*value */ uint8_t is_default :1; } __attribute__((packed)); @@ -449,11 +449,10 @@ logitech_g300_read_profile(struct ratbag_profile *profile) ratbag_profile_for_each_resolution(profile, resolution) { struct logitech_g300_resolution *res = &report->dpi_levels[resolution->index]; - unsigned int dpis[10] = { 250, 500, 750, 1000, 1250, 1500, 1750, - 2000, 2250, 2500 }; + unsigned int dpis[49] = { 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 2000, 2050, 2100, 2150, 2200, 2250, 2300, 2350, 2400, 2450, 2500, }; - resolution->dpi_x = res->dpi * 250; - resolution->dpi_y = res->dpi * 250; + resolution->dpi_x = res->dpi * 50; + resolution->dpi_y = res->dpi * 50; resolution->is_default = res->is_default; resolution->is_active = res->is_default; @@ -546,7 +545,7 @@ logitech_g300_write_profile(struct ratbag_profile *profile) struct logitech_g300_resolution *res = &report->dpi_levels[resolution->index]; - res->dpi = resolution->dpi_x / 250; + res->dpi = resolution->dpi_x / 50; res->is_default = resolution->is_default; if (profile->is_active && resolution->is_active)