Skip to content

Keyboard Companion v0.3.0 (firmware flashing + device name)

Choose a tag to compare

@OutersGIT OutersGIT released this 01 Jun 14:47

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-util with a real-time progress bar and returns to the home screen with the
    updated firmware info. Needs dfu-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.