You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Surface QMK discovery results to the user (v4.1.43)
Previously: enabling the QMK Keyboards toggle with no boards plugged in
flashed the button on and then back off with no console output, no
dialog — looking exactly like a bug.
Now:
- QmkRawHidDiscovery logs the full enumeration breakdown to the console
(HID device count, Raw HID candidates found, open-failures, handshake
misses, final usable count). When a candidate fails handshake the log
includes the reason — most usefully, "could not open the Raw HID
interface (likely held exclusively by another app — close VIA / Vial
/ OpenRGB and try again)".
- SettingsViewModel's enable handler now logs "Scanning..." before
discovery, and pops a localised "No QMK Keyboards Found" dialog when
discovery returns empty so the user can see exactly why the toggle
didn't take. Strings routed through LocalizationService.Instance per
the localization rule; en.json + the six non-EN locales updated via
translate.py.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
All notable changes to Chromatics are documented here.
4
4
5
-
## 4.1.42
5
+
## 4.1.43
6
6
7
7
-**New:** QMK Raw HID keyboard support (Beta). Covers custom keyboards from NovelKeys, KBDFans, Drop, GMMK, Glorious and any other brand running QMK firmware with Raw HID enabled. Enable it from Settings → Device Providers, or pick it on the first-run device selector. Chromatics auto-detects compatible boards on USB and adopts them — no firmware flashing or extra software required. Per-key lighting is driven via the OpenRGB-QMK plugin when the firmware has it installed; otherwise Chromatics drives the firmware's built-in RGB matrix base colour and effect mode (VIA). For per-key LED boards, Chromatics looks up the physical key layout from the via-keyboards database automatically on first connect so the Highlight / Keybind layers line up with the right keys out of the box.
$"[QMK] Enumerated {all.Length} HID device(s) on the USB bus; scanning for the Raw HID interface (usage page 0x{QmkRawHidConstants.RawHidUsagePage:X4}, usage 0x{QmkRawHidConstants.RawHidUsage:X2})...");
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled",
283
284
s.deviceQmkRawHidEnabled,
284
-
()=>
285
+
async()=>
285
286
{
286
287
varcur=AppSettings.GetSettings();
287
288
289
+
Logger.WriteConsole(LoggerTypes.Devices,
290
+
"[QMK] Scanning for QMK-compatible keyboards on the USB bus...");
291
+
288
292
// Discovery + auto-adopt: run on a background thread to
289
293
// keep the Settings dialog responsive — per-device VIA
290
294
// handshakes can take 200-500ms each on a sluggish USB
291
295
// stack, and discovery + handshake of 5+ boards adds up.
LocalizationService.Instance["Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated."]);
Copy file name to clipboardExpand all lines: Chromatics/locale/de.json
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -840,5 +840,7 @@
840
840
"Couldn't read lights from the bridge: {0}": "Lampen konnten nicht von der Bridge gelesen werden: {0}",
841
841
"QMK Keyboards (Beta)": "QMK-Tastaturen (Beta)",
842
842
"QMK keyboards over Raw HID. Covers NovelKeys, KBDFans, Drop, GMMK, Glorious and any other custom keyboard running QMK with Raw HID enabled.": "QMK-Tastaturen über Raw HID. Umfasst NovelKeys, KBDFans, Drop, GMMK, Glorious und jede andere benutzerdefinierte Tastatur, auf der QMK mit aktiviertem Raw HID läuft.",
843
-
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BETA] QMK-Raw-HID-Tastaturunterstützung aktivieren/deaktivieren. Übernimmt automatisch jede QMK-kompatible Tastatur mit aktiviertem Raw HID (umfasst NovelKeys, KBDFans, Drop, GMMK, Glorious und andere benutzerdefinierte QMK-Boards). Standard: Deaktiviert"
843
+
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BETA] QMK-Raw-HID-Tastaturunterstützung aktivieren/deaktivieren. Übernimmt automatisch jede QMK-kompatible Tastatur mit aktiviertem Raw HID (umfasst NovelKeys, KBDFans, Drop, GMMK, Glorious und andere benutzerdefinierte QMK-Boards). Standard: Deaktiviert",
844
+
"No QMK Keyboards Found": "Keine QMK-Tastaturen gefunden",
845
+
"Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated.": "Chromatics hat auf diesem PC keine QMK-Tastaturen erkannt. Stelle sicher, dass deine Tastatur über USB angeschlossen ist und dass in ihrer Firmware Raw HID aktiviert ist (dies ist die Standardeinstellung für jeden VIA-kompatiblen Build). Falls VIA, Vial oder OpenRGB ausgeführt wird, schließe es, bevor du diesen Anbieter aktivierst — sie belegen die Raw-HID-Schnittstelle exklusiv. In der Konsole findest du eine detaillierte Aufschlüsselung, welche HID-Geräte aufgelistet wurden."
Copy file name to clipboardExpand all lines: Chromatics/locale/en.json
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -621,6 +621,8 @@
621
621
"PlayStation (Beta)": "PlayStation (Beta)",
622
622
"QMK Keyboards (Beta)": "QMK Keyboards (Beta)",
623
623
"QMK keyboards over Raw HID. Covers NovelKeys, KBDFans, Drop, GMMK, Glorious and any other custom keyboard running QMK with Raw HID enabled.": "QMK keyboards over Raw HID. Covers NovelKeys, KBDFans, Drop, GMMK, Glorious and any other custom keyboard running QMK with Raw HID enabled.",
624
+
"No QMK Keyboards Found": "No QMK Keyboards Found",
625
+
"Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated.": "Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated.",
624
626
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled",
Copy file name to clipboardExpand all lines: Chromatics/locale/es.json
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -840,5 +840,7 @@
840
840
"Couldn't read lights from the bridge: {0}": "No se pudieron leer las luces del puente: {0}",
841
841
"QMK Keyboards (Beta)": "Teclados QMK (Beta)",
842
842
"QMK keyboards over Raw HID. Covers NovelKeys, KBDFans, Drop, GMMK, Glorious and any other custom keyboard running QMK with Raw HID enabled.": "Teclados QMK mediante Raw HID. Cubre NovelKeys, KBDFans, Drop, GMMK, Glorious y cualquier otro teclado personalizado que ejecute QMK con Raw HID habilitado.",
843
-
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BETA] Activa/desactiva la compatibilidad con teclados QMK Raw HID. Adopta automáticamente cualquier teclado compatible con QMK que tenga Raw HID habilitado (cubre NovelKeys, KBDFans, Drop, GMMK, Glorious y otros teclados QMK personalizados). Valor predeterminado: Desactivado"
843
+
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BETA] Activa/desactiva la compatibilidad con teclados QMK Raw HID. Adopta automáticamente cualquier teclado compatible con QMK que tenga Raw HID habilitado (cubre NovelKeys, KBDFans, Drop, GMMK, Glorious y otros teclados QMK personalizados). Valor predeterminado: Desactivado",
844
+
"No QMK Keyboards Found": "No se encontraron teclados QMK",
845
+
"Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated.": "Chromatics no detectó ningún teclado QMK en este PC. Asegúrate de que el teclado esté conectado por USB y de que su firmware tenga habilitado Raw HID (esto es lo predeterminado en cualquier compilación compatible con VIA). Si tienes VIA, Vial u OpenRGB en ejecución, ciérralo antes de habilitar este proveedor, ya que mantienen la interfaz Raw HID en exclusiva. Consulta la consola para ver un desglose detallado de los dispositivos HID que se enumeraron."
Copy file name to clipboardExpand all lines: Chromatics/locale/fr.json
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -840,5 +840,7 @@
840
840
"Couldn't read lights from the bridge: {0}": "Impossible de lire les lumières depuis le pont : {0}",
841
841
"QMK Keyboards (Beta)": "Claviers QMK (bêta)",
842
842
"QMK keyboards over Raw HID. Covers NovelKeys, KBDFans, Drop, GMMK, Glorious and any other custom keyboard running QMK with Raw HID enabled.": "Claviers QMK via Raw HID. Couvre NovelKeys, KBDFans, Drop, GMMK, Glorious et tout autre clavier personnalisé exécutant QMK avec Raw HID activé.",
843
-
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BÊTA] Activer/désactiver la prise en charge des claviers QMK Raw HID. Adopte automatiquement tout clavier compatible QMK avec Raw HID activé (couvre NovelKeys, KBDFans, Drop, GMMK, Glorious et autres claviers QMK personnalisés). Par défaut : désactivé"
843
+
"[BETA] Enable/disable QMK Raw HID keyboard support. Auto-adopts any QMK-compatible keyboard with Raw HID enabled (covers NovelKeys, KBDFans, Drop, GMMK, Glorious, and other custom QMK boards). Default: Disabled": "[BÊTA] Activer/désactiver la prise en charge des claviers QMK Raw HID. Adopte automatiquement tout clavier compatible QMK avec Raw HID activé (couvre NovelKeys, KBDFans, Drop, GMMK, Glorious et autres claviers QMK personnalisés). Par défaut : désactivé",
844
+
"No QMK Keyboards Found": "Aucun clavier QMK trouvé",
845
+
"Chromatics didn't detect any QMK keyboards on this PC. Make sure your keyboard is plugged in over USB and that its firmware has Raw HID enabled (this is the default for any VIA-compatible build). If you have VIA, Vial, or OpenRGB running, close it before enabling this provider — they hold the Raw HID interface exclusively. See the console for a detailed breakdown of which HID devices were enumerated.": "Chromatics n’a détecté aucun clavier QMK sur ce PC. Assurez-vous que votre clavier est branché en USB et que le Raw HID est activé dans son firmware (c’est le réglage par défaut pour toute version compatible VIA). Si VIA, Vial ou OpenRGB est en cours d’exécution, fermez-le avant d’activer ce fournisseur — ils monopolisent l’interface Raw HID. Consultez la console pour obtenir le détail des périphériques HID qui ont été énumérés."
0 commit comments