diff --git a/hwdb/70-libratbag-mouse.hwdb b/hwdb/70-libratbag-mouse.hwdb index 3d201ac4..1b8f1583 100644 --- a/hwdb/70-libratbag-mouse.hwdb +++ b/hwdb/70-libratbag-mouse.hwdb @@ -108,11 +108,15 @@ mouse:usb:v046dpc24e:name:*: RATBAG_HIDPP10_DPI=0:8200@50 RATBAG_HIDPP10_PROFILE=G500 -# G502 over USB +# G502 Proteus Core over USB mouse:usb:v046dpc07d:name:*: RATBAG_DRIVER=hidpp20 RATBAG_SVG=logitech-g502.svg +# G502 Proteus Spectrum over USB +mouse:usb:v046dpc332:name:*: + RATBAG_DRIVER=hidpp20 + # G700 over USB mouse:usb:v046dpc06b:name:*: RATBAG_DRIVER=hidpp10 diff --git a/src/hidpp20.c b/src/hidpp20.c index 07c4a939..316e2e37 100644 --- a/src/hidpp20.c +++ b/src/hidpp20.c @@ -1290,7 +1290,7 @@ hidpp20_onboard_profiles_initialize(struct hidpp20_device *device, profiles->num_buttons = msg.msg.parameters[5] <= 16 ? msg.msg.parameters[5] : 16; profiles->num_modes = HIDPP20_DPI_COUNT; profiles->has_g_shift = (info->mechanical_layout & 0x03) == 2; - profiles->has_dpi_shift = (info->mechanical_layout & 0x0c) == 2; + profiles->has_dpi_shift = ((info->mechanical_layout & 0x0c) >> 2) == 2; switch(info->various_info & 0x07) { case 1: profiles->corded = 1;