jfedor2 / hid-remapper

USB input remapping dongle
Other
1.04k stars 120 forks source link

incompatible keyboard? #171

Closed ccccff closed 2 weeks ago

ccccff commented 3 weeks ago

Hi,

First thanks a lot for your great project! I was in need for this for such a long time.

Now I have a problem with a particular keyboard (this one : https://www.coolermaster.com/en-global/products/quick-fire-pro/).

I have made both the single RP pico and dual RP pico and both are working perfectly with the multiple keyboards I've tested.

But with the CoolerMaster, both are not working but differently.

On the single pico version, this is working for most of the keys but many keys on the keyboard appear not to be working at all (space, backspace, tab, etc.). I see nothing on the "Monitor" tab of the HID Remapper Configuration for those keys.

On the dual pico version, no keys at all are registering at all, even though the keyboard is powered.

Any ideas?

thanks a lot

jfedor2 commented 3 weeks ago

Can you dump the report descriptor from this keyboard as shown below and post it here?

https://www.youtube.com/watch?v=Qt-UlTNUnu8

Even better if you can also press the keys that are not working while the capture is running.

ccccff commented 3 weeks ago

thanks for the quick answer!

capture file sent via email.

jfedor2 commented 3 weeks ago

While the report descriptors on this keyboard are a bit unusual, I don't think they're incorrect, I think it's HID Remapper that's not currently handling entries like these correctly (specifically the fact that there's both Usage and Usage Minimum/Maximum):

...
0x19, 0x04,        //   Usage Minimum (0x04)
0x29, 0x28,        //   Usage Maximum (0x28)
0x09, 0x4F,        //   Usage (0x4F)
0x09, 0x50,        //   Usage (0x50)
0x09, 0x2B,        //   Usage (0x2B)
0x09, 0x2C,        //   Usage (0x2C)
0x09, 0x51,        //   Usage (0x51)
0x09, 0x52,        //   Usage (0x52)
0x95, 0x2B,        //   Report Count (43)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
...

I will think on how to fix this, in the meantime you can try this config:

cm-storm-quickfire-pro.json

It has "custom usages" for these problematic keys (in the Settings tab).

Let me know if it works, I might have messed up some bit positions and didn't test it in any way.

As far as I can tell these are the affected keys:

arrow keys tab space escape backspace minus/underscore equals/plus

jfedor2 commented 3 weeks ago

As for why it doesn't work on the dual Pico version at all, I'm not sure, typically it's the other way round.

Are you plugging the keyboard into the HID Remapper through a hub by any chance?

ccccff commented 2 weeks ago

I think your list of affected keys is bang on.

Unfortunately, the json config appears to have no effect on any of them.

As for the dual pico version, I've tried direct connections in many USB ports with many different cables without any success. There is a quick flash of the keyboard l LED when connecting then nothing is working except the local keyboard FN key (like LED mode change and brightness). Then Num lock LED would usually be on but it never turns on.

thanks a lot!

jfedor2 commented 2 weeks ago

Hmm then I'm not sure what's going on. Did you unplug an replug the HID Remapper after saving the config? The custom usages take effect after a restart.

ccccff commented 2 weeks ago

that is exactly it! I just had to restart the rapberry pi! All working now, thanks a lot!

Do not hesitate if I can help testing something.