Created attachment 238492 [details] Patch This patch will make the Keychron Q3 keyboard function on FreeBSD. Without the patch, FreeBSD detects the device but nothing registers when pressing the keys. usbconfig -u 0 -a 4 dump_device_desc ugen0.4: <Keychron Keychron Q3> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x3434 idProduct = 0x0120 bcdDevice = 0x0103 iManufacturer = 0x0001 <Keychron> iProduct = 0x0002 <Keychron Q3> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001
Patch looks good. Adding wulf@ aswell.
Triage: [patch] is amongst the summary line tags that are deprecated.
(In reply to Hans Petter Selasky from comment #1) We may try to add support for report (native) protocol of the keyboard. Please take USB HID report descriptor and report data. To do that, add to /boot/loader.conf: hw.usb.usbhid.enable=1 usbhid_load="YES" hidraw_load="YES" Than reboot and run hid-recorder utility from sysutils/hid-tools port against your keyboard. Both decrypted HID report descriptor (large dump at beginning) and decrypted reaction on key presses is interesting.
Created attachment 239930 [details] hid-recorder 1
Created attachment 239931 [details] hid-recorder 2
I've attached hid-recorder outputs for the keyboard. There were two different devices in the list, so I did one log for each.
^Triage: PR does not appear to be "In Progress". A quick look shows that it is probably still valid, however.