Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asus Spatha X support #50

Closed
Red-M opened this issue Nov 23, 2022 · 43 comments
Closed

Asus Spatha X support #50

Red-M opened this issue Nov 23, 2022 · 43 comments

Comments

@Red-M
Copy link

Red-M commented Nov 23, 2022

I've had a good read of #1 but I've noticed the Spatha X has 4 hidraw devices on my Debian stable (5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux) machine:

input: ASUSTeK ROG SPATHA X Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb6/6-2/6-2:1.2/0003:0B05:1979.000A/input/input38
input: ASUSTeK ROG SPATHA X System Control as /devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb6/6-2/6-2:1.2/0003:0B05:1979.000A/input/input39
input: ASUSTeK ROG SPATHA X as /devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb6/6-2/6-2:1.2/0003:0B05:1979.000A/input/input40
input: ASUSTeK ROG SPATHA X Keyboard as /devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb6/6-2/6-2:1.2/0003:0B05:1979.000A/input/input41

I've able to get ratbagd 0.17 to recognise the mouse with a custom device file but it turns off all the LEDs and sets the DPI to the highest value when the mouse is plugged in (sometimes the LEDs for a very brief moment stay as what is set in the mouse then they turn off). The device file is as follows:

[Device]
Name=ASUS ROG Spatha X
DeviceMatch=usb:0b05:1979
Driver=asus
LedTypes=logo;side;wheel

[Driver/asus]
Profiles=5
Buttons=12
Leds=3
Dpis=4
Wireless=1
DpiRange=100:19000@50
Quirks=DOUBLE_DPI

I'm happy to assist with testing new builds of this project or of ratbagd/ratbagctl to get this device supported. I can take source code to compile and test and provide the results. Taking USB packet captures might be a little difficult but I'm sure I can hook up a VM in my linux host to get the armoury crate captures from.

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

Can you show output of ratbag-command -vvv /dev/hidrawX info ?
You can find the hidraw index with ratbag-command list

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

My distro doesn't seem to have that binary.

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

You may need to build libratbag then. You don't have to install it, you can run it from the source tree. ratbag-command doesn't require ratbagd daemon running.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

ah ok, also piper seems to be able to read some of the state of the mouse now?
image

ah, Debian has it named as lur-command but it can't seem to open any of the hidraw devices.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

Its horribly broken for writing quite a few things to the mouse.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

# ./ratbag-command list
ratbag error: Can't talk to the mouse: 'Broken pipe' (-32)
ratbag error: Can't talk to the mouse: 'Broken pipe' (-32)
/dev/hidraw1:        ASUSTeK ROG SPATHA X
# ./ratbag-command -vvv /dev/hidraw1 info
ratbag debug: New device: ASUSTeK ROG SPATHA X
ratbag debug: Using data directory '/root/git/libratbag/data/devices'
ratbag debug: device assigned driver asus
ratbag debug: hidraw info: bus 0x03 vendor 0xb05 product 0x1979
ratbag debug: ASUSTeK ROG SPATHA X is device '/dev/hidraw1'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag raw: output report: 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 00 00 00 22 00 01 00 05 07 00 03 14 29 91 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Initial profile is 0
ratbag debug: Primary version 11.91.29
ratbag debug: Secondary version 01.00.22
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: No mapping for button 8
ratbag debug: No mapping for button 9
ratbag debug: No mapping for button 10
ratbag debug: No mapping for button 11
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 04 a5 1d 2d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 1
ratbag raw: output report: 50 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: No mapping for button 8
ratbag debug: No mapping for button 9
ratbag debug: No mapping for button 10
ratbag debug: No mapping for button 11
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 64 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 2
ratbag raw: output report: 50 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: No mapping for button 8
ratbag debug: No mapping for button 9
ratbag debug: No mapping for button 10
ratbag debug: No mapping for button 11
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 64 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 3
ratbag raw: output report: 50 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 e4 01 e5 01 e6 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: No mapping for button 8
ratbag debug: No mapping for button 9
ratbag debug: No mapping for button 10
ratbag debug: No mapping for button 11
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 07 00 0f 00 1f 00 3f 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0/dev/hidraw1 - ASUSTeK ROG SPATHA X
             Model: usb:0b05:1979:0
 Number of Buttons: 12
    Number of Leds: 3
Number of Profiles: 5
Profile 0: (active)
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to none
  Button: 9 is mapped to none
  Button: 10 is mapped to none
  Button: 11 is mapped to none
  LED: 0, depth: rgb, mode: on, color: a51d2d
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 1:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to none
  Button: 9 is mapped to none
  Button: 10 is mapped to none
  Button: 11 is mapped to none
  LED: 0, depth: rgb, mode: on, color: ff0000
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 2:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to none
  Button: 9 is mapped to none
  Button: 10 is mapped to none
  Button: 11 is mapped to none
  LED: 0, depth: rgb, mode: on, color: ff0000
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 3:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 400dpi
    1: 800dpi
    2: 1600dpi
    3: 3200dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to 'resolution-cycle-up'
  Button: 6 is mapped to 'button 4'
  Button: 7 is mapped to 'button 5'
  Button: 8 is mapped to none
  Button: 9 is mapped to none
  Button: 10 is mapped to none
  Button: 11 is mapped to none
  LED: 0, depth: rgb, mode: on, color: 00ff00
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 4:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 400dpi
    1: 800dpi
    2: 1600dpi
    3: 3200dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to 'resolution-cycle-up'
  Button: 6 is mapped to 'button 4'
  Button: 7 is mapped to 'button 5'
  Button: 8 is mapped to none
  Button: 9 is mapped to none
  Button: 10 is mapped to none
  Button: 11 is mapped to none
  LED: 0, depth: rgb, mode: on, color: ffff00
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 04 32 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 4
ratbag raw: output report: 50 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 e4 01 e5 01 e6 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: No mapping for button 8
ratbag debug: No mapping for button 9
ratbag debug: No mapping for button 10
ratbag debug: No mapping for button 11
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 07 00 0f 00 1f 00 3f 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 05 32 ff ff 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching back to initial profile 0
ratbag raw: output report: 50 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: driver match found: ASUS

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

I do have keyboard keys set to the extra buttons that say none, I don't have any of them that are not mapped to something.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

The 1050dpi profiles on the mouse are my own and the other 2 are factory.
My profiles have the entire mouse set to red for the LEDs.

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

What action did you bind to your DPI button on your first profile? It's parsed as "e3".

Looks like the driver was able to read only 8 buttons. Maybe another extra command is needed to read other buttons. Windows VM with ROG Armoury and USB debugger could help to figure this out.

I've able to get ratbagd 0.17 to recognise the mouse with a custom device file but it turns off all the LEDs and sets the DPI to the highest value when the mouse is plugged in (sometimes the LEDs for a very brief moment stay as what is set in the mouse then they turn off).

This bug needs more testing. I'll suggest you to stop and disable ratbagd and play around with ratbag-command (with "-vvv" option for capturing the packets), try to change the color of leds, DPI.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

I think the "not working and its massively buggy" issue is an old version of ratbagd, it seems to work better/normally now as I think the running binary was old (I installed from Debian testing source packages over stable packages).

That button is double click:
image

I do have a windows PC which I've set the mouse up with but I'd rather move to Linux everywhere so I'd like to support this further.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

For reference, here is the side buttons:
image

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

This is profile 5:
image
image

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

That button is double click

Does it work on Linux? I tried to bind it too, but it doesn't work for me.

I do have a windows PC which I've set the mouse up with but I'd rather move to Linux everywhere so I'd like to support this further.

It's not a problem. You can debug on bare-metal Windows installation or in the VM. Just run the busdog (https://github.com/djpnewton/busdog) alongside with Armoury, try to change some mouse settings and post the busdog logs here so I can implement the missing features.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

set power indicator on dock
change all LEDs to blue then green then red
set lift off distance to high then back to low
Change idle time to 5 minutes then back to 3 minutes, twice
Enable and disable angle snapping
Set mouse wheel LED to blue static at 50% brightness
Set logo LED to green static at 50% brightness
Set side LED to orange reactive at 50% brightness
bunch _of_stuff.txt

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

set_keyboard_macro.txt

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

Thanks. I also need the packets when the Armoury reads all profiles on startup. So you will need to restart the Armoury.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

Done
armoury_start_up.txt

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

Done
armoury_start_up.txt

Wierd. I still don't see the packets with button bindings. Maybe they will appear when you switch to the buttons tab or switch the profile.

I'm looking for the request+response like this one:

ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 e4 01 e5 01 e6 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

The packets should start with "12 05". I hope to see some extra packets with extra buttons next to them.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

I tried starting armoury again but I don't see those, I've switched to another profile which does make armoury wait and it seems to list out the key mappings again.

change_to_another_profile.txt

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

I've also killed a few asus services and started armoury up again, still the same, no 12 05 packets.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

Id	Type	Time	Length	Hex	Ascii	
56	In  (USB URB Function: 9)	0.005804	64	12 00 00 00 22 00 01 00 05 07 02 03 14 29 91 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00	...."........)..................................................	

I'm not 100% but this seems to be it reading the buttons out of the mouse.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

might be completely unrelated but I've exported a profile from armoury which was base64'd and then URL encoded.

{"deviceType":"1","modelName":"ROG SPATHA X","swProfileName":"Profile 3","dpiNotificationStatus":true,"buttons":{"buttonList":{"1":{"buttonFunction":"0","key_1":"16","key_2":"-1","key_3":"-1"},"2":{"buttonFunction":"0","key_1":"272","key_2":"-1","key_3":"-1"},"3":{"buttonFunction":"0","key_1":"528","key_2":"-1","key_3":"-1"},"4":{"buttonFunction":"0","key_1":"784","key_2":"-1","key_3":"-1"},"5":{"buttonFunction":"0","key_1":"1040","key_2":"-1","key_3":"-1"},"6":{"buttonFunction":"0","sourceKey":1296,"key_1":"530","key_2":"-1","key_3":"-1"},"8":{"buttonFunction":"1","key_1":1792,"key_2":"-1","key_3":"-1","sourceKey":17},"9":{"buttonFunction":"1","key_1":1536,"key_2":"-1","key_3":"-1","sourceKey":273},"12":{"buttonFunction":"0","sourceKey":1041,"key_1":"273","key_2":"-1","key_3":"-1"},"13":{"buttonFunction":"3","sourceKey":1297,"key_1":"19","key_2":"-1","key_3":"-1"},"14":{"buttonFunction":"0","sourceKey":1553,"key_1":"17","key_2":"-1","key_3":"-1"},"15":{"buttonFunction":"1","sourceKey":1809,"key_1":259,"key_2":"-1","key_3":"-1"},"16":{"buttonFunction":"1","key_1":258,"key_2":"-1","key_3":"-1","sourceKey":18},"17":{"buttonFunction":"1","sourceKey":274,"key_1":257,"key_2":"-1","key_3":"-1"}}},"lighting":{"switchStatus":true,"previousSetting":{"1":{"effectID":"1","colorType":"Single","brightness":"2","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"0","g":"0","b":"255"},{"key":"2","r":"0","g":"0","b":"255"}],"singleColor":[{"key":"1","r":"0","g":"0","b":"255"}]},"default":true,"areaKey":"3"}},"deviceSetting":{"allAreaFlag":true,"areaKey":"3","area":[{"effectID":"0","colorType":"Single","brightness":"4","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"255","g":"0","b":"0"},{"key":"2","r":"255","g":"0","b":"0"}],"singleColor":[{"key":"1","r":"255","g":"0","b":"0"}]},"areaKey":"3"},{"areaKey":"0","effectID":"0","colorType":"Single","brightness":"2","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"255","g":"0","b":"0"},{"key":"2","r":"255","g":"0","b":"0"}],"singleColor":[{"key":"1","r":"255","g":"0","b":"0"}]}},{"areaKey":"1","effectID":"1","colorType":"Single","brightness":"2","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"255","g":"0","b":"0"},{"key":"2","r":"255","g":"0","b":"0"}],"singleColor":[{"key":"1","r":"255","g":"0","b":"0"}]}},{"areaKey":"4","effectID":"4","colorType":"Single","brightness":"2","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"255","g":"0","b":"0"},{"key":"2","r":"255","g":"0","b":"0"}],"singleColor":[{"key":"1","r":"255","g":"0","b":"0"}]}},{"areaKey":"7","effectID":"6","colorType":"Single","brightness":"2","speed":"1","direction":"-1","random":"-1","pattern":{"key":"-1","colorNumber":1,"colors":[{"key":"1","r":"255","g":"0","b":"0"},{"key":"2","r":"255","g":"0","b":"0"}],"singleColor":[{"key":"1","r":"255","g":"0","b":"0"}]},"needSetDefaultWhenReset":true}]}},"performance":{"dpi1":"20","dpi2":"20","maxDPINumber":"4","hasDynamicDPIChannel":false,"dpi3":"20","dpi4":"20","pollingRate":"3","buttonResponse":"1","angleSnapping":"0","currentDPI":"3","dpiNumber":"4"},"calibration":{"calibrationFunction":"255","calibrationMaterial":"255","calibrationHeight":"0","calibrationResult":"-1","calibrationProcessing":false},"power":{"powerStatus":"50","chargingStatus":"1","timeToSleep":"2","lowPowerToShine":"3","powerSavingMode":"1","dongleParingSwitch":"-1","isHighPower":false}}

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

I'm not 100% but this seems to be it reading the buttons out of the mouse.

No. This is firmware version, it's parsed as:

ratbag debug: Primary version 11.91.29
ratbag debug: Secondary version 01.00.22

The only packets that I see is "12 07" which just reads the battery settings, like timeout and alert levels.
I also don't see any packets for reading performance settings "12 04" and led settings "12 03".

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

ah ok, I'm not sure how to trigger those as the UI starts off on buttons. I can try a bit more tomorrow.

@Red-M
Copy link
Author

Red-M commented Nov 23, 2022

I don't think armoury actually reads the state of the mouse, based on some of the wording in the app, I think its loosely synced between the two.

For giggles I checked 12 06 seems to produce:

ratbag raw: output report: 12 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                                                    
ratbag raw: input report:  12 06 00 00 01 01 ff 00 49 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                                                    

@kyokenn
Copy link
Owner

kyokenn commented Nov 23, 2022

I tried the current version of the Armoury and had the same problems. I don't see those packets anymore and I can't downgrade the Armoury. I will try the other USB debuggers.

@kyokenn
Copy link
Owner

kyokenn commented Nov 24, 2022

I have tried other debuggers. It looks like the Armoury has changed and become worse. It doesn't reads the mouse settings. It does writes the settings and hopes that they are not altered on other PC. So the current ratbag implementation is even better than Armoury.

I've still got the button codes and can implement button rebinding.

For giggles I checked 12 06 seems to produce

This doesn't looks like the action codes, 1c is KEY_Y.
Can you also dump 12 04? It have performance settings like angle snapping, maybe extra buttons have placed here too.

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

ratbag debug: Loading buttons data                                                                                                                                                                                                                                            
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                                                    
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

I'm trying a few other HID codes out but without some doco or reaching into ratbag-python, I can't really spray this device enough to know what other codes are available.

@kyokenn
Copy link
Owner

kyokenn commented Nov 24, 2022

I have implemented extra button binding in the separate tree of my repo - https://github.com/kyokenn/libratbag/tree/spathax
You should able to rebind extra 6 side buttons.

I'm trying a few other HID codes out but without some doco or reaching into ratbag-python, I can't really spray this device enough to know what other codes are available.

Do you prefer ratbag-python? I can push my WIP ASUS driver for it.

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

I don't prefer it but I was going to use it to debug the config settings.
The Spatha X doesn't seem to need any quirks set for the device file as well.

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

I'll offer a PR to merge in upstream's master and also fix the device file.

It seems to me that libratbag wants to move to ratbag-python as the project is concerned about maintainability of a C codebase so it is probably a good idea to port over the driver to that. I was thinking about doing that to dip my toes into the codebase.

@kyokenn
Copy link
Owner

kyokenn commented Nov 24, 2022

I don't prefer it but I was going to use it to debug the config settings.

I have pushed ratbag-python fork with ASUS driver - https://github.com/kyokenn/ratbag-python/tree/asusv1

@kyokenn
Copy link
Owner

kyokenn commented Nov 24, 2022

It seems to me that libratbag wants to move to ratbag-python as the project is concerned about maintainability of a C codebase so it is probably a good idea to port over the driver to that.

It could take a long time before ratbag-python replaces libratbag, because it will need all those drivers to be ported.

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

Yeah, I was going to do that because I have the Python knowledge and a bit of C from messing with Cython as a bit of fun.

My PR is here kyokenn/libratbag/pull/1

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

I can do the PR up to libratbag if you'd like if you're happy with that PR

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

./builddir/ratbag-command -vvv /dev/hidraw1 info
ratbag debug: New device: ASUSTeK ROG SPATHA X
ratbag debug: Using data directory '/root/git/libratbag/data/devices'
ratbag debug: device assigned driver asus
ratbag debug: hidraw info: bus 0x03 vendor 0xb05 product 0x1977
ratbag debug: ASUSTeK ROG SPATHA X is device '/dev/hidraw1'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: Button 0 is mapped to 0xf0
ratbag debug: Button 1 is mapped to 0xf1
ratbag debug: Button 2 is mapped to 0xf2
ratbag debug: Button 3 is mapped to 0xe8
ratbag debug: Button 4 is mapped to 0xe9
ratbag debug: Button 5 is mapped to 0xe6
ratbag debug: Button 6 is mapped to 0xe4
ratbag debug: Button 7 is mapped to 0xe5
ratbag debug: Button 8 is mapped to 0xea
ratbag debug: Button 9 is mapped to 0xeb
ratbag debug: Button 10 is mapped to 0xec
ratbag debug: Button 11 is mapped to 0xed
ratbag debug: Button 12 is mapped to 0xee
ratbag debug: Button 13 is mapped to 0xef
ratbag raw: output report: 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 00 00 00 29 91 11 00 05 07 00 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Initial profile is 0
ratbag debug: Primary version 00.00.00
ratbag debug: Secondary version 11.91.29
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 64 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 1
ratbag raw: output report: 50 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 64 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 2
ratbag raw: output report: 50 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 1f 00 1e 00 e3 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Unknown action code e3
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 14 00 14 00 14 00 14 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 00 64 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 3
ratbag raw: output report: 50 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 e4 01 e5 01 e6 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 07 00 0f 00 1f 00 3f 00 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /dev/hidraw1 - ASUSTeK ROG SPATHA X
             Model: usb:0b05:1977:0
 Number of Buttons: 14
    Number of Leds: 3
Number of Profiles: 5
Profile 0: (active)
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to UNKNOWN
  Button: 9 is mapped to UNKNOWN
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to UNKNOWN
  Button: 12 is mapped to UNKNOWN
  Button: 13 is mapped to UNKNOWN
  LED: 0, depth: rgb, mode: on, color: ff0000
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 1:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to UNKNOWN
  Button: 9 is mapped to UNKNOWN
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to UNKNOWN
  Button: 12 is mapped to UNKNOWN
  Button: 13 is mapped to UNKNOWN
  LED: 0, depth: rgb, mode: on, color: ff0000
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 2:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 1050dpi
    1: 1050dpi
    2: 1050dpi
    3: 1050dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to none
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to UNKNOWN
  Button: 8 is mapped to UNKNOWN
  Button: 9 is mapped to UNKNOWN
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to UNKNOWN
  Button: 12 is mapped to UNKNOWN
  Button: 13 is mapped to UNKNOWN
  LED: 0, depth: rgb, mode: on, color: ff0000
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 3:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 400dpi
    1: 800dpi
    2: 1600dpi
    3: 3200dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to 'resolution-cycle-up'
  Button: 6 is mapped to 'button 4'
  Button: 7 is mapped to 'button 5'
  Button: 8 is mapped to UNKNOWN
  Button: 9 is mapped to UNKNOWN
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to UNKNOWN
  Button: 12 is mapped to UNKNOWN
  Button: 13 is mapped to UNKNOWN
  LED: 0, depth: rgb, mode: on, color: 00ff00
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
Profile 4:
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 400dpi
    1: 800dpi
    2: 1600dpi
    3: 3200dpi
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'wheel-up'
  Button: 4 is mapped to 'wheel-down'
  Button: 5 is mapped to 'resolution-cycle-up'
  Button: 6 is mapped to 'button 4'
  Button: 7 is mapped to 'button 5'
  Button: 8 is mapped to UNKNOWN
  Button: 9 is mapped to UNKNOWN
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to UNKNOWN
  Button: 12 is mapped to UNKNOWN
  Button: 13 is mapped to UNKNOWN
  LED: 0, depth: rgb, mode: on, color: ffff00
  LED: 1, depth: rgb, mode: on, color: 000000
  LED: 2, depth: rgb, mode: on, color: 000000
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 04 32 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching to profile 4
ratbag raw: output report: 50 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading buttons data
ratbag raw: output report: 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 05 00 00 f0 01 f1 01 f2 01 e4 01 e5 01 e6 01 e8 01 e9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading resolutions data
ratbag raw: output report: 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 04 00 00 07 00 0f 00 1f 00 3f 00 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Loading LEDs data
ratbag raw: output report: 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  12 03 00 00 05 32 ff ff 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: Switching back to initial profile 0
ratbag raw: output report: 50 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag raw: input report:  50 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ratbag debug: driver match found: ASUS

1977 is the wired mode USB PID.
Looks like it read all of the buttons now.

@kyokenn
Copy link
Owner

kyokenn commented Nov 24, 2022

Looks like it read all of the buttons now.

It doesn't reads them, they always will appear as UNKNOWN. But it should possible be to rebind them. I think Piper will display the new action if you bind the button until you restart ratbagd.

@Red-M
Copy link
Author

Red-M commented Nov 24, 2022

Seems to work.
Kinda annoying that ASUS removed reading the settings off the mouse....

@ruvaldak
Copy link

ruvaldak commented Jul 20, 2023

is there any way to configure my Spatha X properly in piper or some other gui application? Attempting to use piper makes it impossibe to view the side button configuration, there's no mouse image (left with a 404 image), and trying to set a button to anything other than a mouse button causes it to fail to commit. Trying to apply any LED colors simply doesn't work, either.

@kyokenn
Copy link
Owner

kyokenn commented Jul 23, 2023

Attempting to use piper makes it impossibe to view the side button configuration, there's no mouse image (left with a 404 image)

Someone needs to draw an image.

trying to set a button to anything other than a mouse button causes it to fail to commit

Which ratbag implementation are you using? libratbag or ratbag-python? I also would need a logs to figure out the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants