hrvach / deskhop

Fast Desktop Switching Device
GNU General Public License v3.0
5.98k stars 169 forks source link

Media Keys not working for Cherry KC6000 Slim Keyboard #117

Open Earthling-Z3R0 opened 1 week ago

Earthling-Z3R0 commented 1 week ago

For me personally this is the best keyboard ever so I would like to get the media keys working too.

Anything I can do?

Not sure if this helps but on Linux (Arch, Qtile) they are registered as

XF86AudioLowerVolume XF86AudioRaiseVolume XF86AudioMute XF86Calculator XF86HomePage

hrvach commented 1 week ago

Try pre-release 0.61 version firmware, does that fix it perhaps?

Earthling-Z3R0 commented 1 week ago

Just tried 0.61. Media keys are still not functional. (https://www.cherry-world.com/kc-6000-slim) (not affiliated)

hrvach commented 1 week ago

Could you please share your usb hid descriptor for the keyboard then? Just run usbhid-dump and paste here, that should provide at least some clue to why it might not be working...

Earthling-Z3R0 commented 6 days ago
001:004:000:DESCRIPTOR         1719851496.902498
 05 01 09 06 A1 01 85 01 05 07 19 E0 29 E7 15 00
 25 01 95 08 75 01 81 02 95 01 75 08 81 01 05 08
 19 01 29 05 95 05 75 01 91 02 95 01 75 03 91 01
 05 07 19 00 2A FF 00 15 00 26 FF 00 95 06 75 08
 81 00 C0 05 01 09 02 A1 01 85 02 09 01 A1 00 05
 09 19 01 29 05 15 00 25 01 95 05 75 01 81 02 95
 01 75 03 81 01 05 01 09 30 09 31 15 00 26 FF 7F
 75 10 95 02 81 02 09 38 15 81 25 7F 95 01 75 08
 81 06 95 01 75 08 81 01 C0 C0 05 0C 09 01 A1 01
 85 04 15 01 26 FF 0F 19 01 2A FF 0F 75 10 95 02
 81 00 C0
hrvach commented 6 days ago

I think this might be the box report descriptor, since this is what the computer sees. Can you plug the keyboard directly to the PC and repeat? Thanks!

Earthling-Z3R0 commented 6 days ago

Absolutely! Here goes:

001:007:001:DESCRIPTOR         1719895568.016602
 05 0C 09 01 A1 01 05 0C 75 01 95 01 15 00 25 01
 09 CD 81 06 09 B5 81 02 09 B6 81 02 09 B8 81 06
 09 E2 81 06 09 EA 81 02 09 E9 81 02 0A 23 02 81
 02 0A 92 01 81 02 95 07 81 01 C0

001:007:000:DESCRIPTOR         1719895568.027761
 05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
 75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01
 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06
 75 08 15 00 26 FF 00 05 07 19 00 2A FF 00 81 00
 C0

001:005:000:DESCRIPTOR         1719895568.028800
 06 89 FF 09 10 A1 01 85 5A 09 01 15 00 26 FF 00
 75 08 95 10 B1 00 C0 06 89 FF 09 CC A1 01 85 CC
 09 01 15 00 26 FF 00 75 08 95 3F B1 00 C0

First seems to be mouse, second one keyboard. Not sure what the 3rd one is. At the time of the dump the only USB device connected was the keyboard. I did have the Deskhop (with the same keyboard and mouse) connected though at boot so maybe there is cached device info too!?

hrvach commented 4 days ago

First one is consumer control:

Usage Page (Consumer), ; Consumer (0Ch) Usage (Consumer Control), ; Consumer control (01h, application collection) Collection (Application), Usage Page (Consumer), ; Consumer (0Ch) Report Size (1), Report Count (1), Logical Minimum (0), Logical Maximum (1), Usage (Play Pause), ; Play/pause (CDh, one-shot control) Input (Variable, Relative), Usage (Scan Next Track), ; Scan next track (B5h, one-shot control) Input (Variable), Usage (Scan Previous Track), ; Scan previous track (B6h, one-shot control) Input (Variable), Usage (Eject), ; Eject (B8h, one-shot control) Input (Variable, Relative), Usage (Mute), ; Mute (E2h, on/off control) Input (Variable, Relative), Usage (Volume Dec), ; Volume decrement (EAh, re-trigger control) Input (Variable), Usage (Volume Inc), ; Volume increment (E9h, re-trigger control) Input (Variable), Usage (AC Home), ; AC home (0223h, selector) Input (Variable), Usage (AL Calculator), ; AL calculator (0192h, selector) Input (Variable), Report Count (7), Input (Constant), End Collection

In theory 0.61 should support it, but I have to look a bit deeper why it ain't working.

Earthling-Z3R0 commented 4 days ago

Awesome man, thanks for looking into this! Greatly appreciated! As is this whole project! :+1: