libratbag / piper

GTK application to configure gaming devices
GNU General Public License v2.0
4.58k stars 173 forks source link

Logitech M720 - Assigning a macro is not supported on this device #553

Open kevinkga opened 3 years ago

kevinkga commented 3 years ago

Information

Describe the bug I want to assign mouse button 8 to trigger a keystroke. The Piper GUI simply says "Something went wrong. The device has be reset to a previous state." ratbagctl says "Error: assigning a macro is not supported on this device"

To Reproduce Steps to reproduce the behavior:

$ ratbagctl list
warbling-mara:       Logitech M720 Triathlon
$ ratbagctl warbling-mara button 1 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 2 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 3 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 4 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 5 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 6 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 7 action set macro KEY_A
Error: assigning a macro is not supported on this device
$ ratbagctl warbling-mara button 8 action set macro KEY_A
Error: assigning a macro is not supported on this device

However when I try to remap a button it works fine though. Could it be a limitation of the device itself?

ratbagctl warbling-mara button 8 action set button

Logs:

ratbag raw: hidpp write:  11 ff 0b 38 00 d7 2a 00 50 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 02 00 00 00 00
ratbag raw: hidpp read:   02 00 00 03 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 04 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 03 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 04 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 03 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 03 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 03 c0 ff 00 00
ratbag raw: hidpp read:   02 00 00 04 c0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 e0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 d0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 d0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 c0 ff 00 00
ratbag raw: hidpp read:   02 00 00 02 c0 ff 00 00
ratbag raw: hidpp read:   02 00 00 01 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 01 00 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 00 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   02 00 00 00 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 00 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   02 00 00 00 f0 ff 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   02 00 00 01 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 20 00 00 00
ratbag raw: hidpp read:   02 00 00 01 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 20 00 00 00
ratbag raw: hidpp read:   02 00 00 01 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 30 00 00 00
ratbag raw: hidpp read:   02 00 00 02 20 00 00 00
ratbag raw: hidpp read:   02 00 00 02 40 00 00 00
ratbag raw: hidpp read:   02 00 00 02 30 00 00 00
ratbag raw: hidpp read:   02 00 00 03 40 00 00 00
ratbag raw: hidpp read:   02 00 00 01 10 00 00 00
ratbag raw: hidpp read:   02 00 00 01 20 00 00 00
ratbag raw: hidpp read:   02 00 00 05 30 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 00 f0 ff 00 00
ratbag raw: hidpp read:   02 00 00 fc ff fe 00 00
ratbag raw: hidpp read:   02 00 00 fd 3f ff 00 00
ratbag raw: hidpp read:   02 00 00 f6 af ff 00 00
ratbag raw: hidpp read:   02 00 00 f7 af ff 00 00
ratbag raw: hidpp read:   02 00 00 f7 bf ff 00 00
ratbag raw: hidpp read:   02 00 00 f3 af ff 00 00
ratbag raw: hidpp read:   02 00 00 f6 cf ff 00 00
ratbag raw: hidpp read:   02 00 00 f5 bf ff 00 00
ratbag raw: hidpp read:   02 00 00 f5 bf ff 00 00
ratbag raw: hidpp read:   02 00 00 f8 bf ff 00 00
ratbag raw: hidpp read:   02 00 00 fb cf ff 00 00
ratbag raw: hidpp read:   02 00 00 fc df ff 00 00
ratbag raw: hidpp read:   02 00 00 ff cf ff 00 00
ratbag raw: hidpp read:   11 02 0b 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Logs

$ ratbagd --verbose=raw
Initializing libratbag
ratbag debug: New device: Logitech M720 Triathlon
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: device assigned driver hidpp20
ratbag debug: hidraw info: bus 0x03 vendor 0x46d product 0x405e
ratbag debug: Logitech M720 Triathlon is device '/dev/hidraw0'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: - HID report ID 02
ratbag debug: - HID report ID 10
ratbag debug: - HID report ID 11
ratbag debug: - HID report ID 20
ratbag debug: - HID report ID 21
ratbag debug: hidpp: device supports short reports
ratbag debug: hidpp: device supports long reports
ratbag raw: hidpp write:  10 ff 00 18 00 00 00
ratbag raw: hidpp read:   11 02 00 18 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 00 08 00 01 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0001 is at 0x01
ratbag raw: hidpp write:  10 ff 01 08 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 08 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 01 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 02 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 03 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 04 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1d 4b 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 05 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 06 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 21 00 01 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 07 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 08 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 09 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 14 00 01 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0a 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 15 00 01 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0b 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1b 04 00 03 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0c 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0d 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 22 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0e 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 0f 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 c1 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 10 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 00 c2 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 11 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 02 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 12 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 03 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 13 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 06 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 14 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 05 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 15 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 13 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 16 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 30 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 17 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 61 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 18 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 90 60 02 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 19 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 91 60 02 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1a 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 a1 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1b 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1d f3 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1c 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1e 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1d 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1e b0 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1e 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 b1 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 1f 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 50 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 20 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1e 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 21 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 1f 03 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 22 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 18 c0 60 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 01 18 23 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 01 18 21 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: 'Logitech M720 Triathlon' is using protocol v4.5
ratbag raw: 'Logitech M720 Triathlon' has 36 features
ratbag raw: Init feature HIDPP_PAGE_ROOT (0x0000) 
ratbag raw: hidpp write:  10 ff 00 08 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0000 is at 0x00
ratbag raw: Init feature HIDPP_PAGE_FEATURE_SET (0x0001) 
ratbag raw: hidpp write:  10 ff 00 08 00 01 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0001 is at 0x01
ratbag raw: Init feature HIDPP_PAGE_DEVICE_INFO (0x0003) 
ratbag raw: hidpp write:  10 ff 00 08 00 03 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 02 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0003 is at 0x02
ratbag raw: unknown feature 0x0003
ratbag raw: Init feature HIDPP_PAGE_DEVICE_NAME (0x0005) 
ratbag raw: hidpp write:  10 ff 00 08 00 05 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0005 is at 0x03
ratbag raw: unknown feature 0x0005
ratbag raw: Init feature HIDPP_PAGE_WIRELESS_DEVICE_STATUS (0x1d4b) 
ratbag raw: hidpp write:  10 ff 00 08 1d 4b 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1d4b is at 0x04
ratbag raw: unknown feature 0x1d4b
ratbag raw: Init feature HIDPP_PAGE_RESET (0x0020) 
ratbag raw: hidpp write:  10 ff 00 08 00 20 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0020 is at 0x05
ratbag raw: unknown feature 0x0020
ratbag raw: Init feature 0x21 (0x0021) 
ratbag raw: hidpp write:  10 ff 00 08 00 21 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 06 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0021 is at 0x06
ratbag raw: unknown feature 0x0021
ratbag raw: Init feature  0x7 (0x0007) 
ratbag raw: hidpp write:  10 ff 00 08 00 07 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x0007 is at 0x07
ratbag raw: unknown feature 0x0007
ratbag raw: Init feature HIDPP_PAGE_BATTERY_LEVEL_STATUS (0x1000) 
ratbag raw: hidpp write:  10 ff 00 08 10 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1000 is at 0x08
ratbag raw: hidpp write:  10 ff 08 08 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 08 08 5a 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: device battery level is 90% (next 50%), status 0 
ratbag raw: Init feature 0x1814 (0x1814) 
ratbag raw: hidpp write:  10 ff 00 08 18 14 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 09 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1814 is at 0x09
ratbag raw: unknown feature 0x1814
ratbag raw: Init feature 0x1815 (0x1815) 
ratbag raw: hidpp write:  10 ff 00 08 18 15 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 0a 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1815 is at 0x0a
ratbag raw: unknown feature 0x1815
ratbag raw: Init feature HIDPP_PAGE_SPECIAL_KEYS_BUTTONS (0x1b04) 
ratbag raw: hidpp write:  10 ff 00 08 1b 04 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 0b 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1b04 is at 0x0b
ratbag debug: device has programmable keys/buttons
ratbag raw: hidpp write:  10 ff 0b 08 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 08 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: device has 9 buttons
ratbag raw: hidpp write:  10 ff 0b 18 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 50 00 38 11 00 01 01 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 50 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 0: cid: 'Left' (80) tid: 'Left Click' (56) flags: 0x11 pos: 0 group: 1 gmask: 0x01 raw_XY: no
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 01 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 51 00 39 11 00 01 01 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 51 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 1: cid: 'Right' (81) tid: 'Right Click' (57) flags: 0x11 pos: 0 group: 1 gmask: 0x01 raw_XY: no
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 02 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 52 00 3a 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 52 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 2: cid: 'Middle' (82) tid: 'Middle Click' (58) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 03 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 53 00 3c 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 53 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 ff 2f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 3: cid: 'Back' (83) tid: 'Back Click' (60) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 04 00 00
ratbag raw: hidpp read:   02 00 00 fe 3f 00 00 00
ratbag raw: hidpp read:   02 00 00 fc 5f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 56 00 3e 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 56 00
ratbag raw: hidpp read:   02 00 00 fd 3f 00 00 00
ratbag raw: hidpp read:   02 00 00 fa 8f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 4: cid: 'Forward' (86) tid: 'Forward Click' (62) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 05 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fb 5f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 5b 00 3f 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 5b 00
ratbag raw: hidpp read:   02 00 00 ff 3f 00 00 00
ratbag raw: hidpp read:   02 00 00 fb 5f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 5b 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 5: cid: 'Left Scroll' (91) tid: 'Left Scroll' (63) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 06 00 00
ratbag raw: hidpp read:   02 00 00 ff 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fb 6f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 5d 00 40 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 5d 00
ratbag raw: hidpp read:   02 00 00 fe 3f 00 00 00
ratbag raw: hidpp read:   02 00 00 fb 6f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 6: cid: 'Right Scroll' (93) tid: 'Right Scroll' (64) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 07 00 00
ratbag raw: hidpp read:   02 00 00 fe 4f 00 00 00
ratbag raw: hidpp read:   02 00 00 fd 5f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 d0 00 ad 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 d0 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fd 4f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 7: cid: 'UNKNOWN' (208) tid: 'UNKNOWN' (173) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 08 00 00
ratbag raw: hidpp read:   02 00 00 ff 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fd 3f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 d7 00 b4 a0 00 03 00 03 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 d7 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 d7 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 8: cid: 'UNKNOWN' (215) tid: 'UNKNOWN' (180) flags: 0xa0 pos: 0 group: 3 gmask: 0x00 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: Init feature 0x1c00 (0x1c00) 
ratbag raw: hidpp write:  10 ff 00 08 1c 00 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 ff 3f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1c00 is at 0x0c
ratbag raw: unknown feature 0x1c00
ratbag raw: Init feature 0x2205 (0x2205) 
ratbag raw: hidpp write:  10 ff 00 08 22 05 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 3f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x2205 is at 0x0d
ratbag raw: unknown feature 0x2205
ratbag raw: Init feature 0x2100 (0x2100) 
ratbag raw: hidpp write:  10 ff 00 08 21 00 00
ratbag raw: hidpp read:   02 00 00 fe 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 3f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x2100 is at 0x0e
ratbag raw: unknown feature 0x2100
ratbag raw: Init feature 0xc1 (0x00c1) 
ratbag raw: hidpp write:  10 ff 00 08 00 c1 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x00c1 is at 0x0f
ratbag raw: unknown feature 0x00c1
ratbag raw: Init feature 0xc2 (0x00c2) 
ratbag raw: hidpp write:  10 ff 00 08 00 c2 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   02 00 00 ff 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x00c2 is at 0x10
ratbag raw: unknown feature 0x00c2
ratbag raw: Init feature 0x1802 (0x1802) 
ratbag raw: hidpp write:  10 ff 00 08 18 02 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 1f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 11 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1802 is at 0x11
ratbag raw: Init feature 0x1803 (0x1803) 
ratbag raw: hidpp write:  10 ff 00 08 18 03 00
ratbag raw: hidpp read:   02 00 00 ff 2f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 1f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 12 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1803 is at 0x12
ratbag raw: Init feature 0x1806 (0x1806) 
ratbag raw: hidpp write:  10 ff 00 08 18 06 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 13 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1806 is at 0x13
ratbag raw: Init feature 0x1805 (0x1805) 
ratbag raw: hidpp write:  10 ff 00 08 18 05 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fd 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 14 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1805 is at 0x14
ratbag raw: Init feature 0x1813 (0x1813) 
ratbag raw: hidpp write:  10 ff 00 08 18 13 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fd 3f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 15 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1813 is at 0x15
ratbag raw: Init feature 0x1830 (0x1830) 
ratbag raw: hidpp write:  10 ff 00 08 18 30 00
ratbag raw: hidpp read:   02 00 00 fe 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 16 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1830 is at 0x16
ratbag raw: Init feature 0x1861 (0x1861) 
ratbag raw: hidpp write:  10 ff 00 08 18 61 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 17 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1861 is at 0x17
ratbag raw: Init feature 0x1890 (0x1890) 
ratbag raw: hidpp write:  10 ff 00 08 18 90 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 2f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 18 60 02 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1890 is at 0x18
ratbag raw: Init feature 0x1891 (0x1891) 
ratbag raw: hidpp write:  10 ff 00 08 18 91 00
ratbag raw: hidpp read:   02 00 00 ff 1f 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 0f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 19 60 02 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1891 is at 0x19
ratbag raw: Init feature 0x18a1 (0x18a1) 
ratbag raw: hidpp write:  10 ff 00 08 18 a1 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   02 00 00 fe 0f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 1a 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x18a1 is at 0x1a
ratbag raw: Init feature 0x1df3 (0x1df3) 
ratbag raw: hidpp write:  10 ff 00 08 1d f3 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 1b 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1df3 is at 0x1b
ratbag raw: Init feature 0x1e00 (0x1e00) 
ratbag raw: hidpp write:  10 ff 00 08 1e 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   11 02 00 08 1c 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1e00 is at 0x1c
ratbag raw: Init feature 0x1eb0 (0x1eb0) 
ratbag raw: hidpp write:  10 ff 00 08 1e b0 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 1d 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1eb0 is at 0x1d
ratbag raw: Init feature 0x18b1 (0x18b1) 
ratbag raw: hidpp write:  10 ff 00 08 18 b1 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 1e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x18b1 is at 0x1e
ratbag raw: Init feature 0x1850 (0x1850) 
ratbag raw: hidpp write:  10 ff 00 08 18 50 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 1f 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1850 is at 0x1f
ratbag raw: Init feature 0x1e22 (0x1e22) 
ratbag raw: hidpp write:  10 ff 00 08 1e 22 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1e22 is at 0x20
ratbag raw: unknown feature 0x1e22
ratbag raw: Init feature 0x1f03 (0x1f03) 
ratbag raw: hidpp write:  10 ff 00 08 1f 03 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 21 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x1f03 is at 0x21
ratbag raw: Init feature 0x18c0 (0x18c0) 
ratbag raw: hidpp write:  10 ff 00 08 18 c0 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 22 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x18c0 is at 0x22
ratbag raw: Init feature 0x2121 (0x2121) 
ratbag raw: hidpp write:  10 ff 00 08 21 21 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 00 08 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: feature 0x2121 is at 0x23
ratbag raw: unknown feature 0x2121
ratbag raw: hidpp write:  10 ff 0b 08 00 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   11 02 0b 08 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: device has 9 buttons
ratbag raw: hidpp write:  10 ff 0b 18 00 00 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 50 00 38 11 00 01 01 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 50 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 0: cid: 'Left' (80) tid: 'Left Click' (56) flags: 0x11 pos: 0 group: 1 gmask: 0x01 raw_XY: no
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 01 00 00
ratbag raw: hidpp read:   02 00 00 ff 0f 00 00 00
ratbag raw: hidpp read:   11 02 0b 18 00 51 00 39 11 00 01 01 00 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 51 00
ratbag raw: hidpp read:   02 00 00 00 10 00 00 00
ratbag raw: hidpp read:   11 02 0b 28 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 1: cid: 'Right' (81) tid: 'Right Click' (57) flags: 0x11 pos: 0 group: 1 gmask: 0x01 raw_XY: no
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 02 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 52 00 3a 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 52 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 2: cid: 'Middle' (82) tid: 'Middle Click' (58) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 03 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 53 00 3c 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 53 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 3: cid: 'Back' (83) tid: 'Back Click' (60) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 04 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 56 00 3e 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 56 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 4: cid: 'Forward' (86) tid: 'Forward Click' (62) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 05 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 5b 00 3f 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 5b 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   10 02 49 03 00 08 00
ratbag raw: hidpp read:   02 00 00 00 00 00 ff 00
ratbag raw: hidpp read:   11 02 0b 28 00 5b 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 5: cid: 'Left Scroll' (91) tid: 'Left Scroll' (63) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 06 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 5d 00 40 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 5d 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 6: cid: 'Right Scroll' (93) tid: 'Right Scroll' (64) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 07 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 d0 00 ad 71 00 02 03 01 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 d0 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 7: cid: 'UNKNOWN' (208) tid: 'UNKNOWN' (173) flags: 0x71 pos: 0 group: 2 gmask: 0x03 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw: hidpp write:  10 ff 0b 18 08 00 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 18 00 d7 00 b4 a0 00 03 00 03 00 00 00 00 00 00 00
ratbag raw: hidpp write:  10 ff 0b 28 00 d7 00
ratbag raw: hidpp read:   10 02 49 03 00 58 00
ratbag raw: hidpp read:   11 02 0b 28 00 d7 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: control 8: cid: 'UNKNOWN' (215) tid: 'UNKNOWN' (180) flags: 0xa0 pos: 0 group: 3 gmask: 0x00 raw_XY: yes
      reporting: raw_xy: no persist: no divert: no remapped: 'None' (0)
ratbag raw:  - button0: Left (50) ../src/driver-hidpp20.c:106
ratbag raw:  - button1: Right (51) ../src/driver-hidpp20.c:106
ratbag raw:  - button2: Middle (52) ../src/driver-hidpp20.c:106
ratbag raw:  - button3: Back (53) ../src/driver-hidpp20.c:106
ratbag raw:  - button4: Forward (56) ../src/driver-hidpp20.c:106
ratbag raw:  - button5: Left Scroll (5b) ../src/driver-hidpp20.c:106
ratbag raw:  - button6: Right Scroll (5d) ../src/driver-hidpp20.c:106
ratbag raw:  - button7: UNKNOWN (d0) ../src/driver-hidpp20.c:106
ratbag raw:  - button8: UNKNOWN (d7) ../src/driver-hidpp20.c:106
ratbag debug: driver match found: Logitech HID++2.0
hidraw0: "Logitech M720 Triathlon", 1 profiles
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: No data file found for 046d:c52b
ratbag debug: New device: CORSAIR CORSAIR K63 Wireless USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: No data file found for 1b1c:1b50
ratbag debug: New device: CORSAIR CORSAIR K63 Wireless USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: No data file found for 1b1c:1b50
DBus server ready
TerrorSquad commented 3 years ago

The exact same issue is present on Logitech MX Master 3

tzinm commented 3 years ago

Also on Logitech MX Master (first version).

dmiric commented 3 years ago

Logitech M590 has the same issue.

RobRobM commented 3 years ago

Logitech MX Master 2S has the same issue.

arthurflor23 commented 3 years ago

Logitech MX Anywhere 3 has the same issue.

LT357 commented 3 years ago

One more Logitech M720 Pop!_OS 20.10 Kernel: Linux 5.8.0-7642-generic same piper/ratbad versions pipe 0.5.1-1 ratbagd 0.14-1

epassaro commented 3 years ago

I recommend using logiops instead. I don't see Piper fixing this any soon (if that's even possible).

This is the configuration for my device. Hope it helps!.

1ctinus commented 2 years ago

how is this issue still open? logiops is not gui and caused weird scrolling for me. On Arch Linux. Also, button 7 opens the last window on Cinnamon, but not GNOME. is there a way to get that on GNOME?

FFY00 commented 2 years ago

I'm sorry folks, but currently I am the only person working on this and I haven't had much time to dedicate to libratbag, and the logitech productivity devices in specific.

If you want to look at alternatives, please check https://github.com/pwr-Solaar/Solaar and https://github.com/PixlOne/logiops.

C8forT commented 2 years ago

Issue persists.

Logitech M720 Linux Mint 20.3 Cinnamon Kernel 5.13.0-22-generic Ratbag 0.16 Piper 0.6

I did finally get ratbagd to recognize my mouse by changing the the DeviceMatch command in /usr/share/libratbag/logitech-M720.device to:

DeviceMatch=usb:046d:405e;bluetooth:046d:c52b

Specifically, I changed "b015" to "c52b", which is the usb ID indicated for the Logitech Unifying Receiver using the "lsusb" command. The "ratbagctl list" command now detects my mouse - it outputs: "singing-gundi: Logitech M720 Triathlon"

However, when I change a button mapping in Piper, I get the following error: "Something went wrong. The device has been set to a previous state."

I hope the bug gets fixed. Piper looks like a nice GUI application I really would like to use.

In the mean time, I am using xbindkeys to map my mouse buttons to key commands. It's not as simple as using Piper's GUI - you have to edit the .xbindkeysrc file to provide the key bindings, but it works. Anyone else having the same issue with Piper may want to give it a try until Piper gets fixed. To use it on X11, install xbindkeys xautomation x11-utils. I don't know whether it works in Wayland.

1ctinus commented 2 years ago

how is this issue still open? logiops is not gui and caused weird scrolling for me. On Arch Linux. Also, button 7 opens the last window on Cinnamon, but not GNOME. is there a way to get that on GNOME?

I fixed my problem by overthinking it. the 'left' key binds to Ctrl+Alt+Tab

lucasmr commented 10 months ago

Same problem with a Logitech MX Anywhere 2.

harun1yuksel commented 5 months ago

Same problem persists with logitech m720