8.1.6. Konfiguration und Nutzung
Meine wichtigsten Einsatzfälle sind die Mediensteuerung und häufig benötigte Hotkeys in IntelliJ. Dafür erhält das Display mehrere Seiten mit passend beschrifteten Buttons. Die folgende Anleitung beschreibt den aktuellen Softwarestand und zeigt, wie daraus eine eigene Belegung entsteht.
Voraussetzung ist eine zum Client passende Firmware. Der aktuelle gemeinsame Stand erwartet Protokoll 4 und Konfigurationsschema 3. Bei einem älteren Gerät müssen Firmware und Client gemeinsam aktualisiert werden.
- Das Gerät über seine native USB-Verbindung mit einem Datenkabel anschließen.
- ActiveSideDeviceFX starten und bei Bedarf Refresh ports wählen.
- Den Geräteport auswählen und Connect drücken.
- Falls die Anwendung abweichende Konfigurationen meldet, die gewünschte Übertragungsrichtung festlegen.
Load from device übernimmt den vollständigen Gerätestand in den Editor. Das ist ein geeigneter Anfang, wenn die bestehende Belegung als Grundlage dienen soll. Send to device ersetzt die Gerätekonfiguration durch den Desktop-Entwurf.
Ein erfolgreich verbundenes Gerät kann anhand seiner USB-Identität wiedererkannt werden. Beim nächsten Programmstart wird ein eindeutiger Treffer vorausgewählt. Die Verbindung beginnt mit Connect. Nach einer zuvor hergestellten Verbindung versucht die Anwendung bei einer Unterbrechung, dasselbe Gerät wiederzufinden.
Auf einer Seite liegen Buttons in einem Raster. Durch Doppelklick öffnet sich der Eigenschaftendialog. Dort lassen sich Beschriftung, Aktion, Position, Größe und Darstellung bearbeiten. Apply to draft übernimmt die Änderung in den Entwurf.
Ein einfacher Klick wählt einen Button aus. Mit Ctrl beziehungsweise Cmd lassen sich weitere Buttons zur Auswahl hinzufügen. Die Auswahl kann gemeinsam verschoben oder auf eine andere Seite übertragen werden. Freie Zellen bleiben frei. Eine Bewegung, die Buttons überlappen ließe, wird zurückgewiesen.
Jede Seite besitzt eine Drehung von 0, 90, 180 oder 270 Grad und eine Kapazität in Slots pro Zeile. Automatic verwendet zunächst fünf Slots für die waagerechten und drei für die senkrechten Ausrichtungen. Diese Vorgaben sind unter Application settings… anpassbar. Die tatsächliche Kapazität wird mit der Konfiguration gespeichert.
Wird eine Kapazität zu klein für bereits platzierte Buttons, ordnet der Editor sie nicht selbsttätig um. Ein explizit zu kleiner Wert wird abgelehnt. Ein zu schmaler Automatic-Wert wird durch die benötigte explizite Breite ersetzt.
Die vorhandene Ausgangskonfiguration enthält Funktionstasten von F13 bis F24. Solche Tasten können für zusätzliche Belegungen interessant sein, weil sie auf vielen gewöhnlichen Tastaturen nicht direkt vorhanden sind. Ihre Erkennung und mögliche Konflikte müssen auf dem verwendeten Computer geprüft werden.
Für ein konkretes Beispiel soll ein Button die Taste F13 senden und in IntelliJ eine selbst gewählte Aktion auslösen.
- Einen vorhandenen F13-Button bearbeiten oder einen neuen Button anlegen.
- Unter Action type den Wert
keyeinstellen. - HID usage auf
104setzen. Dieser Wert steht in der Projektkonfiguration für F13. - Keyboard modifiers auf
0setzen, sodass keine zusätzliche Modifier-Taste gesendet wird. - Eine hilfreiche Beschriftung vergeben, beispielsweise den Namen der später zugeordneten IntelliJ-Aktion.
- Mit Apply to draft übernehmen und anschließend Send to device wählen.
In IntelliJ wird die zugehörige Aktion über Settings → Keymap gesucht. Über Add Keyboard Shortcut lässt sich die Eingabe erfassen. Dazu im Aufnahmedialog den F13-Button am Gerät betätigen, die erkannte Taste und mögliche Konflikte prüfen und die Zuordnung bestätigen. Als erste Aktion bietet sich eine häufig benötigte Funktion aus dem eigenen Arbeitsablauf an, beispielsweise das Starten einer Run-Konfiguration. Die Vorgehensweise zur Zuordnung beschreibt JetBrains in der Keymap-Dokumentation.
Anschließend IntelliJ in den Vordergrund bringen und die Funktion ausprobieren. Die Tastatureingabe wirkt auf die aktive Anwendung. Ein gleich beschrifteter Button stellt allein noch keine Verbindung zu einer bestimmten IntelliJ-Aktion her.
Wenn die Eingabe nicht ankommt, zuerst die Erfassung im Keymap-Dialog prüfen und mögliche Betriebssystem- oder Keymap-Konflikte untersuchen. Die Erkennung von F13–F24 wurde hier nicht für alle Betriebssysteme praktisch bestätigt. JetBrains erläutert typische Ursachen in seiner Hilfe zu Tastenkürzeln.
Die Ausgangskonfiguration enthält bereits Medienaktionen. Diese Buttons verwenden den Aktionstyp consumer. Die zugeordnete HID-Nutzung bestimmt beispielsweise Wiedergabe oder Lautstärke. Für einen ersten eigenen Aufbau lassen sich die vorhandenen Medienbuttons als Grundlage verwenden und ihre Beschriftung, Darstellung und Position anpassen.
Tastatur- und Medienaktionen werden vom Gerät über USB HID gesendet. Die Desktop-Anwendung wird für deren laufende Ausführung nicht benötigt. Die Reaktion auf Medienbefehle hängt von der Medienverarbeitung auf dem Computer ab.
Zum Starten eines Programms wird ein benannter App-Befehl angelegt.
- Commands… öffnen und einen eindeutigen Namen vergeben.
- Die ausführbare Datei über Choose program… auswählen und benötigte Argumente eintragen. Jedes Argument steht in einer eigenen Zeile.
- Add / update definition wählen.
- Einen Button mit dem Aktionstyp
commandversehen und unter App command name denselben Namen auswählen. - Den Entwurf mit Send to device übertragen und damit auch die lokale Definition aktivieren.
Das Gerät kennt den Befehlsnamen. Die ausführbare Datei und ihre Argumente bleiben im Desktop-Katalog. Für diese Aktion muss die Desktop-Anwendung laufen und mit dem Gerät synchronisiert sein.
Standardmäßig verhindert die Anwendung weitere Starts desselben Befehls, solange der von ihr gestartete Prozess läuft. Allow concurrent runs erlaubt mehrere Prozesse. Programme, die lediglich einen anderen Prozess starten und sich danach beenden, benötigen dabei besondere Aufmerksamkeit, weil nur die Lebensdauer des direkt gestarteten Prozesses verfolgt wird.
Unter Profiles… lassen sich Profile erstellen und ihre sichtbaren Seiten auswählen. Ein Profil könnte die Medienseite und die IntelliJ-Seite zeigen, während ein anderes nur die Mediensteuerung sichtbar lässt. Die Seiten werden gemeinsam verwaltet. Änderungen an einer Seite gelten deshalb in jedem Profil, das sie zeigt.
Unter Application rules… kann eine laufende Anwendung einem Profil zugeordnet werden. Für IntelliJ empfiehlt sich die Auswahl aus der tatsächlichen Anwendungsliste. So wird die auf dem jeweiligen Betriebssystem erkannte Identität verwendet. Optional kann eine Regel durch eine Bedingung zum Fenstertitel genauer werden.
Über Live wird zwischen Automatic und einer manuellen Profilauswahl gewechselt. Manuell bleibt die Auswahl bestehen, bis ausdrücklich wieder Automatic gewählt wird. Änderungen an Profilen und Regeln werden mit Send to device aktiviert. Die automatische Erkennung hat plattformabhängige Grenzen, insbesondere bei Wayland und bei Fensterberechtigungen unter macOS.
Save und Save as sichern die Desktop-Datei. Sie enthält neben der Gerätekonfiguration auch lokale Befehlsdefinitionen und Anwendungsregeln. Send to device überträgt den Entwurf auf das Gerät und aktiviert den dazugehörigen Desktop-Stand. Ein Send ersetzt kein Backup der Desktop-Datei.
Beim Wechsel auf einen anderen Computer sind Programmpfade und Anwendungsregeln zu prüfen. Eine reine Gerätekopie enthält diese lokalen Definitionen nicht. Deshalb ist die Desktop-Datei die geeignete Grundlage, wenn die vollständige Einrichtung gesichert werden soll.
Die Trennung erlaubt einen einfachen Arbeitsablauf. Zunächst die Belegung bearbeiten, dann die Datei speichern und anschließend bewusst auf das Gerät übertragen. Die bisher aktive Konfiguration arbeitet während der Entwurfsbearbeitung weiter.
Die beschriebenen Dialoge und Abläufe sind aus der aktuellen Implementierung abgeleitet. Ein früherer Profilstand wurde am realen Gerät geflasht und per USB abgefragt. Die vollständige Bedienung der neueren Raster- und Rotationsfunktionen sowie alle hier beschriebenen IntelliJ-Zuordnungen müssen noch am jeweiligen Zielsystem praktisch geprüft werden.