Software

GMMK: RGB-Beleuchtung per Skript steuern – auch für andere Tastaturen

Mit einem kleinen Trick lassen sich RGB-Profile ohne den GMMK-Editor anlegen und kontrollieren.

Die GMMK-Tastatur ist wirklich gut, hat aber aus meiner Sicht vier Schwächen: Zu leicht, zu rutschig und es gibt weder für Tastenbelegungen noch die Beleuchtung vernünftige Profile. Man kann nur mit der FN-Taste arbeiten und nur ein eigenes Profil so auswählen. Und die FN-Taste lässt sich nicht vom Rechner aus simulieren. Drei der Probleme haben wir schon gelöst: Zwei durch etwas Hardware-Tuning, das dritte durch einen Profilmanager für die Tastenbelegungen und jetzt kommt eine RGB-Steuerung - die sich als Modul in den Profilmanager einfügt.

OpenRGB + AutoHotkey

OpenRGB ist ein Open-Source-Projekt, das eine einheitliche App zur Steuerung und Synchronisierung von RGB-Geräten ermöglichen will. Die Anzahl der unterstützten Tastaturen ist nicht sonderlich groß und auch die GMMK-Tastatur zählt offiziell auch noch nicht dazu. Aber sie wird gefunden, wenn auch als Tecware-Tastatur. Es gibt zwar ein kleines Problemchen mit dem grafischen Editor (Hilfe dazu am Ende), aber die Tastatur lässt sich konfigurieren. Und die Ergebnisse können als Profile abgespeichert werden.

openrgb-screenshot
Mit der OpenRGB-GUI lässt sich arbeiten - auch wenn der visuelle Editor das Layout zerschießt.

Doch es gibt einen Haken: OpenRGB bietet zwar eine Entwicklungsumgebung und es gibt ein Framework für Python, aber keine Steuerung über die Kommandozeile - man müsste schon eine ganze App entwickeln. Die Lösung ist zum hundertsten mal AutoHotkey - mein erklärter Liebling für das Lösen persönlicher Problemchen ;)

OpenRGB ist eine grafische Anwendung und läuft in einem Fenster. Und das kann AutoHotkey! Zwar gibt es keinerlei Shortcuts im Programm, um etwa ein Profil zu laden, aber AutoHotkey kann auch Maus (mehr zu AutoHotkey hier). Ich sage es gleich: Die Lösung ist nicht elegant, aber ich kann damit Beleuchtungsprofile automatisch zu zugehörigen Anwendungen starten. Das geht natürlich auch mit F- oder Makrotasten oder Maustasten oder irgendwelchen Ereignissen (mit zusätzulichem Aufwand).

Und so arbeitet die Steuerung, nachdem sie einmal eingerichtet wurde:

  1. OpenRGB starten und minimieren
  2. Hotkey startet AutoHotkey-Code
  3. AutoHotkey holt OpenRGB-Fenster in den Vordergrund
  4. AutoHotkey wählt und startet per Mausklick und Tastatureingaben das Profil
  5. AutoHotkey minimiert das OpenRGB-Fenster

Ja, derlei grafische Makros sind nicht fein, beim Einsatz bei laufenden Vollbildprogrammen kann es Probleme geben - aber es ist popelig einfach, fügt sich wunderbar in El Tutos Profilmanager ein und erledigt die eine Sache, die mir wichtig ist: Profile für Beleuchtung und Tastenbelegungen automatisch oder per Hotkey auswählen können - ohne die lästigen Beschränkungen der Herstellersoftware.

Hier das Ganze mal in Aktion - erst manuell per Maus, dann mittels AutoHotkey und der Tasten F3 und F4. Entschuldigt die schlechte Qualität, ohne Komprimierung ist die Datei viel zu groß, um sie einzubetten:

AutoHotkey-Skript erstellen

Das Skript ist super simpel, aber falls nötig, haben wir hier eine AutoHotkey-Einführung. Hier erstmal das Skript:

F3:: if WinExist("OpenRGB") WinActivate MouseClick left, 718, 496 Send 1 Send {Enter} Send +{Tab} Send {Space} WinMinimize return

F3 dient hier als Hotkey, anschließend prüft WinExist, ob ein Fenster mit dem Titel OpenRGB existiert. Falls ja, werden die folgenden Befehle ausgeführt: WinActivate holt das Fenster in den Vordergrund, MouseClick macht einen Linksklick an den angegeben Koordinaten (relativ zum Fenster!) und öffnet damit die Liste der Profile. Dann wird 1 gesendet, um das Profil Namens 1 aus der Liste zu wählen - das Anfangszeichen muss eindeutig sein, vermutlich könnten auch die ersten zwei Zeichen zum Anwählen verwendet werden. Mit ENTER wird das Profil dann bestätigt.

Anschließend wird mit UMSCHALT+TAB auf den Profil-Laden-Knopf gewechselt, der dann mit LEERTASTE gedrückt wird. Somit wird das Profil aktiviert und WinMinimize minimiert das OpenRGB-Fenster wieder. In der Praxis flackert es ganz kurz, vielleicht eine drittel Sekunde oder so.

openrgb screen
Unten rechts liegen die Knöpfe, die vom Skript bedient werden.

Tipp: Die Koordinaten für den Mausklick findet Ihr mit dem AutoHotkey-eigenen Tool Window Spy. Startet dazu irgendein AutoHotkey-Skript und ruft dessen Kontextmenü über das Icon in der Taskleiste auf. Startet daraus den Window Spy, der fortan allerlei Informationen zum jeweils aktuellen Fenster liefert - unter anderem Titel und Koordinaten des Mauszeigers.

window spy screenshot
Infos zum Fenster und zum Mauszeiger.

Das alles kommt zwar nicht ansatzweise an die Fähigkeiten von zum Beispiel Razer Synapse heran und leider lassen sich auch mit OpenRGB keine Effekte auf Teilbereiche der GMMK-Tastatur anwenden, aber es ist eine enorme Verbesserung. Und vielleicht kommt ja irgendwann auch eine bessere Unterstützung für GMMK in OpenRGB - genügend Anfragen dazu gibt es jedenfalls.

Die Einbindung in El Tutos Profilmanager ist simpel: Speichert einfach ein großes Skript mit allen Definitionen im tools-Ordner und bindet es genauso ein, wie es im Artikel für die Numpad-Maus beschrieben ist. Und/oder speichert den Code in den ganz normalen Profilen. Oder legt Euch einen RGB-Ordner analog zum tools-Ordner an. Ganz wie Ihr wollt, letztlich sind es nur ein paar Vorlagen und ein wenig Grundordnung.

Nachtrag: Profile automatisch starten, wenn eine App startet ist kein Problem - aber Profile beim Fensterwechsel zu wechseln, ist doch einigermaßen tricky ... Als Freund einfacher Dinge mein Tipp: Legt Euch ein fixes Tastenkürzel für App-abhängige RGB-Profile, etwa F4 oder WIN+F4 oder was auch immer frei ist an. Egal in welchem Programm Ihr seid, F4 genügt dann, um das passende Profil zu laden.

Nachtrag: GMMK und OpenRGB

Wie oben bereits erwähnt: Der Layout-Editor in OpenRGB verpuzzelt das ganze Tastaturlayout - und einige Tasten sind gar nicht visualisiert! Das GMMK wird eben nicht offiziell unterstützt. Hier zwei kleine Hilfen: Erstellt Euch eine Art Vorlagen-Profil, bei dem zum Beispiel die erste Spalte der Tastaturtasten grün hervorgehoben wird, ebenso prägnante Tasten wie Numpad-Num, Pfeiltasten, Navigationstasten und so weiter. Dann findet Ihr Euch halbwegs zurecht. Hier auf dem Bild wird man das nicht wirklich gut erkennen, aber es sollte klar sein.

Workaround-Vorlage für GMMK in OpenRGB.

Und hier eine Liste der Tasten und zugehöriger Nummern, die nicht im Editor zu finden sind:

12, F12 18, Escape 19, 1 20, 2 75, n 77, , 78, . 79, - 83, Numpad2 96, up 98, Backspace 100, NumpadDel 112, PgUp 114, End 115, PgDwn 116, NumpadMinus 117, NumpadPlus

Alle anderen Tasten hatten zumindest hier Äquivalente im OpenRGB-Editor - wenn noch was fehlt, sagt Bescheid.

Und wenn Ihr Euch für mechanische Tastaturen interessiert, haben wir da etwas Episches! (Nun, zumindest ist es episch lang ...)

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

Ein Kommentar

  1. Meine Herren, unendlich vielen Dank für den Hinweis auf Open RGB. Gestern kam meine Rog Strix Flare und ausgerechnet die funktioniert damit. Wollte sie schon zurückschicken wg. non per-key backlight Möglichkeit und der naja geht so armoury crate.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"