Aus Raspberry Pi Geek 12/2021

Selbst kompilierte Firmware auf Tastaturen flashen

© Sergiy Tryapitsyn / 123RF

Kleinbaustelle

Axel Beckert

Egal ob Sie die freie Tastatur-Firmware QMK vorkompiliert erhalten oder sie unter Linux selbst übersetzen – das Flashen auf die Tastatur können nur Sie selbst übernehmen.

Wie der erste Teil dieser kleinen Artikelserie [1] in RPG 07-08/2021 bereits zeigte, gibt es überraschend viele Tastaturen, auf denen eine freie Firmware laufen kann. Bei nicht wenigen davon handelt es sich sogar um Open Hardware. Dasselbe gilt für die Projekte zu freien Tastatur-Firmwares – auch hier gibt es mehr als nur eine Alternative, was die Angelegenheit sehr spannend macht.

Im Folgenden zeigen wir Ihnen, wie Sie eine freie Firmware maßgeschneidert konfigurieren, kompilieren und danach auf eine Tastatur flashen. Für unsere Beispiele verwenden wir auf der Softwareseite die vermutlich am weitesten verbreitete freie Firmware QMK [2] – das Kürzel steht für Quantum Mechanical Keyboard, also quantenmechanische Tastatur. Als Hardware nutzen wir die Open-Hardware-Tastatur OLKB Preonic [3] in Revision 3. Diese haben wir ausgewählt, weil sie zum einen beliebt und nicht allzu teuer ist. Zum anderen gibt es sie sowohl als Bausatz wie auch als Fertigmodell und zudem noch von verschiedenen Herstellern.

Als Basis zum Bauen der Firmware und Testen der geflashten Tastaturen diente uns ein Raspberry Pi 4. Darauf lief das bis kurz nach Redaktionsschluss noch aktuelle Raspberry Pi OS 10 “Buster” als Betriebssystem. Alle Schritte funktionieren aber auch unter dem neuen Pi OS 11 “Bullseye”, Debian GNU/Linux oder einem Debian-Derivat wie Ubuntu. Dasselbe gilt für andere Hardwareplattformen wie zum Beispiel einen x86-PC oder einen RasPi mit 64-Bit-OS.

Übersicht über den Ablauf

Als ersten Schritt installieren Sie die passenden Programme (Compiler, Bibliotheken etc.) zum Bauen von QMK. Lassen Sie die Firmware von einem Online-Dienst bauen, entfällt dieser Schritt.

Als Nächstes müssen Sie die entsprechende Tastatur unter den rund 1500 von QMK unterstützten Varianten finden. Ist das erledigt, wählen Sie die gewünschte Tastenbelegung aus. Sie legen also fest, welche Taste welches Zeichen an den Computer sendet. Hier können Sie sowohl das vorgeschlagene Standardlayout für diese Tastatur nutzen als auch alternative Layouts von anderen Anwendern. Bei Bedarf definieren Sie aber auch Ihr eigenes Layout. Zur Zusammenstellung fangen Sie entweder mit einem leeren Layout an oder benutzen ein existierendes Layout als Basis.

Anschließend steht das Bauen der Firmware an. Auch das kann wieder lokal oder bei einem Online-Dienst geschehen.

Zu guter Letzt folgt das Flashen der Firmware auf die Tastatur. Das geschieht immer lokal und typischerweise mit Root-Rechten (zum Beispiel via Sudo). Haben Sie QMK lokal kompiliert, klappt das direkt aus dem Programm heraus. Haben Sie dagegen eine Datei mit der Namensendung .hex von einem Online-Dienst heruntergeladen, erfordert das etwas mehr Handarbeit – aber dazu später mehr.

Tastatursuche in QMK

Um erst einmal zu prüfen, ob QMK die gewünschte Tastatur überhaupt unterstützt, gibt es zwei einfache Wege.

Entweder suchen Sie online auf der QMK-Webseite [4] (nur Englisch) nach dem Namen (oder Namensbestandteilen) der Tastatur oder des Herstellers. Dort können Sie dann direkt für jede Tastatur eine Firmware mit der Standardtastenbelegung herunterladen.

Oder Sie öffnen alternativ dazu direkt den Online-Konfigurator [5] (je nach Einstellung des Webbrowsers größtenteils auf Deutsch) und fangen im Feld Tastatur an, den Namen oder Hersteller zu tippen. In Abbildung 1 haben wir nach einer anderen Open-Hardware-Tastatur gesucht, der Alpha [6].

Abbildung 1: Bei der Suche nach Tastaturen mit "alpha" im Namen zeigt der QMK Configurator hier die Tastenbelegung für eine Preonic-Tastatur.

Abbildung 1: Bei der Suche nach Tastaturen mit “alpha” im Namen zeigt der QMK Configurator hier die Tastenbelegung für eine Preonic-Tastatur.

Bei bereits ausgechecktem QMK-Quellcode [7] suchen Sie im Verzeichnis qmk_firmware/keyboards/ nach den Bestandteilen des Namens oder des Herstellers. Ein einfaches ls genügt an dieser Stelle nicht, da die Verzeichnisstrukturen teilweise unterschiedlich tief ausfallen. Stattdessen führt hier das Kommando find zum gewünschten Ergebnis, wie Sie in Listing 1 sehen.

Listing 1

Tastatursuche

$ find qmk_firmware/keyboards/ -type d -name '*alpha*'
qmk_firmware/keyboards/angel64/alpha
qmk_firmware/keyboards/alpha
qmk_firmware/keyboards/suihankey/split/alpha
qmk_firmware/keyboards/suihankey/alpha
qmk_firmware/keyboards/hecomi/alpha
qmk_firmware/keyboards/angel17/alpha
qmk_firmware/keyboards/wsk/alpha9
qmk_firmware/keyboards/wsk/g4m3ralpha
qmk_firmware/keyboards/business_card/alpha

Tastenbelegung definieren

Sie können die typischerweise im JSON-Format [8] gespeicherte Tastenbelegung zwar in einem Texteditor manuell erstellen, aber an dieser Stelle empfehlen wir sehr die Nutzung eines Tools, mit dem Sie sich das Layout im wahrsten Sinne des Worts zusammenklicken können.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 9 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben