Gibtnix / MSIKLM

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

GS65 8RF doesn't support #19

Open plinux opened 6 years ago

plinux commented 6 years ago

$ sudo msiklm list Device: SteelSeries KLC Device Vendor ID: 4152 Device Product ID: 4386 Device Serial Number: (null) Device Manufacturer: SteelSeries Device Path: 0001:0002:00 Device Interface Number: 0 Device Release Number: 553

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

$ sudo msiklm test No compatible keyboard found!

Thank you for your working first. Is it possible to support GS65 in the furture?

Gibtnix commented 6 years ago

The keyboard is not detected because it is expected that the vendor IR and product ID are different, see line 312 in msiklm.c: dev = hid_open(0x1770, 0xff00, 0); You could generally replace this line with your IDs, i.e. dev = hid_open(4152, 4386, 0); and try if this works or not. Doing so and rerun 'sudo msiklm test' will probably succeed in opening your keyboard, but I cannot tell if changing color or modes will work. You could give it a try, but of course on your own risk ;-) If it works I could extend the program to detect your keyboard as well (i.e. the program checks different IDs). Maybe also take a look at this issue, I think it's pretty similar to yours.

Dan-McG commented 6 years ago

i've tested the fix and it gets the keyboard recognised, but unfortunately none of the functionality works (either specifying single colour or 7, words or hex, quoted or not)

bwrsandman commented 6 years ago

I'm not very familiar with USB packets but here is a capture from USBPCap on Windows on a GS65 in steelseries engine 3 switching to the AQUA configuration. capture.zip

Askannz commented 6 years ago

This tool won't work with the GS65 because it has a per-key RGB keyboard which uses a completely different protocol. I wrote my own tool for it (and similar models) here : https://github.com/Askannz/msi-perkeyrgb