Custom-Keyboards mit Ruby für Hacker und Maker

Individuelle Tastaturen liegen im Trend: Spezielle Schalter, Layouts oder besondere Hardware sind oft nicht fertig zu bekommen – also wird selbst gebaut.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Claw-Split Tastatur

(Bild: GitHub, HASUMI Hitoshi (picoruby))

Lesezeit: 2 Min.
Von
  • Carsten Wartmann

Mit USB-HID-fähigen Mikrocontrollern bauen Maker schon seit über zehn Jahren eigene Tastaturen (siehe auch Make 3/21). Spezielle Schalter, individuelle Tastenkappen, einfache Leiterplattenfertigung und kostengünstige Mikrocontroller ermöglichen es heutzutage relativ einfach und kostengünstig, die Tastatur nach Wunsch zu bauen. Je nach verwendeter Programmiersprache für den Controller muss aber das Tastaturprogramm während der Konfiguration und wenn das Layout gewechselt werden soll, neu auf das Board geladen werden. Bei Arduino-C++ muss man sogar neu kompilieren. Diese Probleme löst die PRK-Firmware für den Rasperry Pico.

Die PRK-Firmware (Public Beta, Open Source) ist ein Framework von Hasumi Hitoshi für DIY-Keyboards, das während der Laufzeit per Ruby-Skript konfiguriert werden kann. PRK baut wiederum auf PicoRuby auf, das ebenfalls von Hitoshi entwickelt wurde. Ist die Firmware per Drag&Drop auf dem Pico installiert, so kann man die Konfigurationen einfach in einem Ruby-Skript (keyboard.rb) auf dem Pico-Laufwerk vornehmen. Aktuell werden der Raspberry Pico und der Sparkfun Pro Micro RP2040 (DEV-18288) unterstützt.

Die PRK-Firmware bietet ein Laufwerk für die Konfiguration an.

Im Ruby-Skript werden dann die GPIOs der Spalten und Zeilen der Tastaturmatrix angegeben, hier ist man nur durch die Anzahl der GPIOs auf dem Board begrenzt. Anschließend werden die Layer der Tastatur definiert: zuerst die Buchstaben und Tastaturaktionen ohne Sondertasten, dann folgen weitere Ebenen, die zusammen mit Tastenkombinationen oder durch das längere Halten von Tasten erreicht werden können. Dabei kann natürlich ein Tastendruck auf dem Makro-Keyboard an den Rechner auch Tastenkombinationen, Makros oder die Ergebnisse von kompletten Ruby-Funktionen senden. Somit werden Möglichkeiten eröffnet, von denen normale Makro-Keyboards nur träumen können.

Ruby Custom Keyboards (6 Bilder)

Split-Keyboard mit RGB-Beleuchtung (Bild: HASUMI Hitoshi (github.com/picoruby) )

Weiterhin unterstützt die PRK-Firmware auch Dreh-Encoder, RGB-LEDs und das Debugging über die USB-serielle-Schnittstelle des Boards. In der Entwicklung befindet sich die Unterstützung von gesplitteten Keyboards. Im Moment ist es schon möglich, symmetrische Tastaturen zu bauen, die per UART-Kommunikation verbunden sind. Asymmetrische oder per I2C verbundene Tastaturen findet man auf der Roadmap.

(caw)