Gibtnix / MSIKLM

Control the SteelSeries keyboard of your MSI gaming notebook with Linux
GNU General Public License v3.0
244 stars 50 forks source link

MSI GE75 Raider 85S / Mint 19 #27

Open cClaude opened 5 years ago

cClaude commented 5 years ago

Hello, thank for you work.

I have try on my brand new MSI GE75 Raider 8SE on Mint 19 but I get:

No compatible keyboard found!

Okay, so I have checked USB devices. Only relevant information from lsusb was:

Bus 001 Device 004: ID 1038:1122 SteelSeries ApS 

Using sudo msiklm list, I get:

Device: SteelSeries KLC
    Device Vendor ID:        4152
    Device Product ID:       4386
    Device Serial Number:    (null)
    Device Manufacturer:     SteelSeries
    Device Path:             0001:0004:00
    Device Interface Number: 0
    Device Release Number:   560

Device: SteelSeries KLC
    Device Vendor ID:        4152
    Device Product ID:       4386
    Device Serial Number:    (null)
    Device Manufacturer:     SteelSeries
    Device Path:             0001:0004:01
    Device Interface Number: 1
    Device Release Number:   560

Device: USB Receiver
    Device Vendor ID:        1133
    Device Product ID:       50484
    Device Serial Number:    (null)
    Device Manufacturer:     Logitech
    Device Path:             0001:0002:00
    Device Interface Number: 0
    Device Release Number:   10497

Device: USB Receiver
    Device Vendor ID:        1133
    Device Product ID:       50484
    Device Serial Number:    (null)
    Device Manufacturer:     Logitech
    Device Path:             0001:0002:01
    Device Interface Number: 1
    Device Release Number:   10497

So I have hack msiklm.c and change open_keyboard()

hid_device* open_keyboard()
{
    hid_device* dev = NULL;
    if (hid_init() == 0)
        dev = hid_open(0x1038, 0x1122, 0);
        //dev = hid_open(0x1770, 0xff00, 0);
    return dev;
}

After reinstall I have now:

Compatible keyboard found!

Well, that was expected. Then I have try many commands like:

sudo msiklm green
sudo msiklm green,blue,red
sudo msiklm off

But none of then work.

Except of course, commands like:

sudo msiklm test
sudo msiklm help
sudo msiklm list

Questions:

Thk.

Gibtnix commented 5 years ago

The problem is that your keyboard uses a different command structure, at least as far as I know. The command structure is simply different. Thus, you not only need to change the open_keyboard() function, but also the command structure, cf. set_color() in msiklm.c.

You could try to also call 'sudo msiklm green high' as this uses a different command structure that is compatible with more (especially older) keyboards, but I don't think that it will work.

A working solution might be a different tool, check maybe this one out.