mirror of
https://github.com/libratbag/libratbag.git
synced 2026-11-07 23:23:52 +01:00
hidpp20: fix adjustable DPI for older mice
The G502 uses the version 0 of the adjustable DPI feature. This version does not echo the given parameters which raised a -EIO in libratbag. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
@@ -883,6 +883,7 @@ int hidpp20_adjustable_dpi_set_sensor_dpi(struct ratbag_device *device,
|
||||
struct hidpp20_sensor *sensor, uint16_t dpi)
|
||||
{
|
||||
uint8_t feature_index, feature_type, feature_version;
|
||||
uint16_t returned_parameters;
|
||||
int rc;
|
||||
union hidpp20_message msg = {
|
||||
.msg.report_id = REPORT_ID_LONG,
|
||||
@@ -907,7 +908,10 @@ int hidpp20_adjustable_dpi_set_sensor_dpi(struct ratbag_device *device,
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (hidpp20_get_unaligned_u16(&msg.msg.parameters[1]) != dpi)
|
||||
returned_parameters = hidpp20_get_unaligned_u16(&msg.msg.parameters[1]);
|
||||
|
||||
/* version 0 of the protocol does not echo the parameters */
|
||||
if (returned_parameters != dpi && returned_parameters)
|
||||
return -EIO;
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user