Skip to content

[New Device] Keychron keyboards (stock firmware)

Name of device: Keychron Keyboards

Link to manufacturer's product page: https://www.keychron.com

Please select what type of device/interface the device uses:

DeviceTypeUSB

ID information: HID\VID_05AC&PID_024F&REV_0110&MI_01&Col03 (that's Keychron K3 v2 Optical RGB, I only own that one)

Please attach screenshots of the device's official somewhat compatible control application here:

Click to show screenshots

NINJA71K5_lJlmnk7Esz NINJA71K5_MV1Qw1oY9q NINJA71K5_vjSwNenRVi image
^ wrong mapping for the K3, likely others too; software breaks keyboard's light button; fix: FN+Z+J (factory reset), it does NOT replace firmwares, merely uses a similar or same communications protocol. Apart from the mapping, functional, RGB-wise.

Please attach device captures here:

Wireshark

blue.pcapng (might have a key press logged) green.pcapng red.pcapng

Captured from Ninja71 software

Additional info:

I've worked on it a little myself, and I managed to find a full document of the communications protocol, straight from the CEO of Keychron, sadly only in Chinese:

Click this to show document

Keychron_Keyboard_Protocals_0122_2_EN__1_.pdf
It's been translated from Chinese with DeepL, original is inside the PDF. A very important table - command definition, got lost in translation. Attaching original, just in case: image

This protocol uses HID Set/Get Report to transfer data (?), everything is documented, unfortunately it was out of my scope to test it, however the packets I captured, and the feature set available in the software I captured from, prove that it is the same protocol.

Update: all modes capture as in the following screenshot in the same order:

everymode.pcapng

Click this to show screenshot

Screenshot

Update 2: Extra captures for various controls on different modes

Brightness information

16 values, 1 being off completely and 16 being brightest, captured left to right according to the screenshot

image

Color information

RGB values it seems, any color can be set. I did red to green to blue

Direction information

Available are either up down or left right, direction in capture is as in the file names (so updown means I pressed up then pressed down)

Modes that have a direction:

Scrolling,
Rolling,
Flowing,
Tilt

Speed information

same as brightness

image

Modes that don't have speed:
Static,
UserDefine

All captures in an archive:

captures_k3_ninja71.zip

Pay attention to the names of the capture files. Stuff like updown means I captured direction up then down

Checklist for Step2

  • Name of device
  • A link to the vendors product page has been included
  • The transport bus has been identified and the appropriate label added to the issue.
  • The device ID's have been included for USB or PCI
  • Screenshots of the OEM Application are included
  • There is either, appropriate code examples linked or suitable device captures attached
Edited by iGerman Production