8.1. ActiveSideDevice
ActiveSideDevice ist ein konfigurierbares Touch-Bedienpanel für den Schreibtisch. Auf einem kleinen Display liegen Schaltflächen für Tastenkombinationen, Mediensteuerung und benannte Programmbefehle. Eine JavaFX-Anwendung verwaltet die Seiten und verbindet das Gerät mit dem Computer.
Ausgangspunkt war eine externe „Touchbar“, die ich für über 150 Euro gesehen hatte. Die Idee fand ich interessant. Gleichzeitig wollte ich wissen, ob sich etwas Ähnliches mit günstiger Hardware selbst bauen lässt. Bei meiner Recherche fand ich ESP32-Geräte mit Touchscreen für deutlich unter 50 Euro.
Entschieden habe ich mich für ein etwas größeres Gerät, das bereits mit Gehäuse geliefert wird und sich über USB anschließen lässt. Das Projekt verwendet das Waveshare ESP32-S3-Touch-LCD-4.3B mit einem 4,3-Zoll-Display und 800 × 480 Pixeln. Die genannten Preise beschreiben den Ausgangspunkt meiner Suche. Der genaue Kaufpreis des gewählten Geräts ist hier noch nicht dokumentiert.
Meine konkreten Anwendungen sind die Mediensteuerung und Hotkeys für IntelliJ IDEA. Häufig benötigte IDE-Aktionen sollen auf beschrifteten Schaltflächen liegen, die ich passend zu meiner Arbeitsweise zusammenstellen kann.
Die Firmware zeichnet die Oberfläche und verarbeitet Berührungen. Über USB HID kann das Gerät Tastatur-, Medien- und Mauseingaben senden. Über einen zusätzlichen USB-CDC-Kanal werden Konfigurationen und Ereignisse mit dem Computer ausgetauscht. Beide Funktionen nutzen denselben USB-Anschluss.
Auf dem Computer bilden eine Java-Bibliothek, eine Kommandozeilenanwendung und ein JavaFX-Editor die Softwareseite. Der Editor verwaltet Seiten, Buttons, Bilder, Einstellungen und Profile. Bei einem benannten Programmbefehl fordert das Gerät eine Aktion an, deren ausführbare Datei und Argumente im lokalen Desktop-Katalog hinterlegt sind.
| Kapitel | Inhalt |
|---|---|
| 8.1.1. Hardware | Modell, Display, Speicher, Anschluss und Anforderungen an alternative Boards |
| 8.1.2. Architektur | Zuständigkeiten und Ablauf vom Tippen bis zur Aktion |
| 8.1.3. Kommunikation und Protokoll | HID, CDC, JSON-Nachrichten, Synchronisation und Fehler |
| 8.1.4. Firmware | ESP-IDF, LVGL, Speicherung und Bedienung auf dem Gerät |
| 8.1.5. Software auf dem Computer | Java-Bibliothek, CLI, JavaFX und Paketierung |
| 8.1.6. Konfiguration und Nutzung | Erste Verbindung, eigene Seiten, IntelliJ-Hotkeys und Profile |
| 8.1.7. Entwicklungsentscheidungen | Gründe für die Aufteilung und die Regeln für Änderungen |
| 8.1.8. Nachbauen und Weiterentwickeln | Entwicklungsumgebung, Build, Flashen, Prüfung und nächste Schritte |
Dieser erste Entwurf beschreibt den untersuchten Quellstand vom 8. November 2026 mit Protokollversion 4 und Konfigurationsschema 3. Rasterpositionen, rechteckige Buttons, Seitenrotation und Profile sind dort implementiert.
Für einen vorherigen Stand sind ein erfolgreicher Firmware-Flash, USB-Erkennung und das Auslesen der Gerätekonfiguration dokumentiert. Dieser Hardwaretest verwendete noch Schema 2. Die neuere Raster- und Rotationsimplementierung benötigt zusätzliche Prüfungen am Gerät. Auch die vollständige native Abnahme auf Windows und Linux steht noch aus. Die Kapitel benennen diese Grenzen dort, wo sie die Nutzung betreffen.