libratbag / piper

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

Add Glorious Model I support #924

Closed RabidWallaby closed 6 months ago

RabidWallaby commented 6 months ago

I want to reprogram the side buttons on my Glorious Model I, but it's not being detected.

ratbagctl list:

No devices available.

The mouse works for basic tasks in Linux (Garuda 6.6.7-x64v2-xanmod1-1) and I can use the default Back/Forward buttons, but the other buttons are non-bindable.

lsusb:

Bus 001 Device 002: ID 22d4:1503 Laview Technology Glorious Model I

lsusb -d 22d4:1503 --verbose:

Bus 001 Device 002: ID 22d4:1503 Laview Technology Glorious Model I
Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            0 [unknown]
    bDeviceSubClass         0 [unknown]
    bDeviceProtocol         0
    bMaxPacketSize0        64
    idVendor           0x22d4 Laview Technology
    idProduct          0x1503 Glorious Model I
    bcdDevice            1.24
    iManufacturer           1 Glorious
    iProduct                2 Glorious Model I
    iSerial                 0
    bNumConfigurations      1
    Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength       0x003b
        bNumInterfaces          2
        bConfigurationValue     1
        iConfiguration          0
        bmAttributes         0xa0
            (Bus Powered)
            Remote Wakeup
        MaxPower              256mA
        Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         3 Human Interface Device
            bInterfaceSubClass      1 Boot Interface Subclass
            bInterfaceProtocol      2 Mouse
            iInterface              0
                HID Device Descriptor:
                    bLength                 9
                    bDescriptorType        33
                    bcdHID               1.11
                    bCountryCode            0 Not supported
                    bNumDescriptors         1
                    bDescriptorType        34 Report
                    wDescriptorLength      69
                    Report Descriptors:
                        ** UNAVAILABLE **
            Endpoint Descriptor:
                bLength                 7
                bDescriptorType         5
                bEndpointAddress     0x81  EP 1 IN
                bmAttributes            3
                    Transfer Type            Interrupt
                    Synch Type               None
                    Usage Type               Data
                wMaxPacketSize     0x0040  1x 64 bytes
                bInterval               1
        Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         3 Human Interface Device
            bInterfaceSubClass      0 [unknown]
            bInterfaceProtocol      0
            iInterface              0
                HID Device Descriptor:
                    bLength                 9
                    bDescriptorType        33
                    bcdHID               1.00
                    bCountryCode            0 Not supported
                    bNumDescriptors         1
                    bDescriptorType        34 Report
                    wDescriptorLength     156
                    Report Descriptors:
                        ** UNAVAILABLE **
            Endpoint Descriptor:
                bLength                 7
                bDescriptorType         5
                bEndpointAddress     0x82  EP 2 IN
                bmAttributes            3
                    Transfer Type            Interrupt
                    Synch Type               None
                    Usage Type               Data
                wMaxPacketSize     0x0040  1x 64 bytes
                bInterval               1
Device Status:     0x0000
    (Bus Powered)

Following the Adding A Device Guide, as well as

I wrote this:

[Device]
Name=Glorious Model I
DeviceMatch=usb:22d4:1503
Driver=sinowealth
DeviceType=mouse

[Driver/sinowealth/devices/V124]
Buttons=9
DeviceName=Glorious Model I
LedType=RBG
SensorType=PAW3370

and saved it to: /usr/share/libratbag/

A few things that are tripping me up are:

  1. The inclusion of the Vendor ID in the lsusb output

    • Does it show for other Glorious mice?
    • Do I need this is the file?
  2. The sensor type is a "GLORIOUS BAMF sensor, based on the PixArt PAW33700", according to Google

    • Does libratbag support the PixArt PAW3370?
    • Should I be entering it as GLORIOUS BAMF or BAMF, instead?
  3. The Driver type. I don't actually know if sinowealth is correct or not. I'm just assuming based on the Glorious Model D, although it uses a PWM3360 sensor (also from PixArt).

Any and all help is greatly appreciated!!

RabidWallaby commented 6 months ago

Closing as posted to wrong section