Keyboard Companion v0.3.0 (firmware flashing + device name)
What's new in v0.3.0
- Flash firmware… wizard (in-app firmware flashing). From the tray menu: pick a
.bin, confirm, and the app guides you through entering the STM32 DFU bootloader
(showing the live currently connected state while it waits), then flashes via
dfu-utilwith a real-time progress bar and returns to the home screen with the
updated firmware info. Needsdfu-util/ the QMK Toolbox WinUSB driver present
on the system (the wizard checks and points you to QMK Toolbox if it's missing). - Connected keyboard name in the tooltip, across all three links: on cable it
reads the keyboard's own USB product string (works for any Keychron board), on the
2.4 GHz dongle it uses the model id reported by the modified firmware
(v0.3.0+), and on
Bluetooth it uses the friendly name Windows shows for the connected device.
Fixes & stability
- Fixed two native crashes that could close the tray with no trace: concurrent HID
access from the tooltip path, and concurrent PIL/FreeType icon rendering across
threads. Icon rendering is now serialized and the device name is resolved off the
UI thread and cached. - Added a diagnostics log at
%APPDATA%\KeyboardCompanion\error_log.txt
(captures uncaught exceptions and native faults). - Fixed Bluetooth device-name detection.
Download (Windows)
Grab KeyboardCompanion-win64.zip below, extract the whole folder, and run
KeyboardCompanion.exe inside it (keep all files together). Right-click the tray
icon for the menu, or double-click it to open Settings.
The battery reading over cable / 2.4 GHz dongle needs the modified QMK firmware
(k10he-battery-firmware); the
Bluetooth reading works out of the box (it mirrors what Windows reports).
Unsigned PyInstaller build — a few AV scanners may flag it. The project is open
source: you can scan the zip, build it yourself, or run from source.
Community project, not affiliated with or endorsed by Keychron.