Inhaltsverzeichnis

Intro

Wenn Ihr Bildschirm eine Tastatur für eine interaktive App verwendet, möchten Sie die Tastenbelegung für die Interaktionsaktionen ersetzen oder erweitern. Dies lässt sich problemlos mit den erweiterten Playeranweisungen (Advanced Player Directives) bewerkstelligen. Tastaturen gibt es in vielen Formen und Varianten, sodass die Tastaturersetzungen im Tastencodes-Format deklariert werden müssen.


Tastencodes für Ihr Gerät finden

Um die Tastencodes für die von Ihnen gewünschte Tastatur zu ermitteln, müssen Sie sie zunächst an den Player anschließen und anschließend sich per ssh mit demselben Player verbinden. Danach kann der Tastencode für jede gewünschte Taste mit dem evtest Tool abgerufen werden.

Beim Ausführen von evtest erhalten Sie zunächst eine Auswahl an Eingabegeräten:

$ evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Dell KB216 Wired Keyboard
/dev/input/event1: Dell KB216 Wired Keyboard System Control
/dev/input/event2: Dell KB216 Wired Keyboard Consumer Control
Select the device event number [0-2]: 0
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x413c product 0x2113 version 0x111
Input device name: "Dell KB216 Wired Keyboard"

Nach der Auswahl des Eingabegeräts, das in unserem Fall das Gerät 0 ist, zeigt das Tool grundlegende Informationen zur Tastatur an und wartet auf Eingaben.

Select the device event number [0-2]: 0
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x413c product 0x2113 version 0x111
Input device name: "Dell KB216 Wired Keyboard"
Supported events: 
Event type 0 (EV_SYN) 
Event type 1 (EV_KEY) 
Event code 1 (KEY_ESC)
Event code 2 (KEY_1) 
Event code 3 (KEY_2) 
Event code 4 (KEY_3) 
(more event codes...) 
Properties:
Testing ... (interrupt to exit)

Durch Drücken einer beliebigen gewünschten Taste liefert das Programm detaillierte Ereignisinformationen, einschließlich des Tastencodes. Beispielhaft erzeugt das Drücken der spacebar Taste die folgende Antwort

Event: time 1694082009.896384, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002c
Event: time 1694082009.896384, type 1 (EV_KEY), code 57 (KEY_SPACE), value 1
Event: time 1694082009.896384, -------------- SYN_REPORT ------------

Das EV_KEY Ereignis enthält die gewünschte Information, wobei der KEY_SPACE der Taste entspricht, die dem Tastencode 57 hat.


Anpassen der Interaktionsaktionstastenbelegung

Derzeit können die unterstützten Aktionen, die angepasst werden können, enter und exit, die standardmäßig spacebar bzw. esc sind, angepasst werden.

Sie können dies unter den erweiterten Playeranweisungen konfigurieren (Bildschirmkonfiguration→ Advanced → Customization → Advanced Player Directives) mit einer Anweisung dieses Typs:

custom_keyboard_configuration={"enter": [30, 31], "exit": [37, 38]}

In diesem Beispiel implementieren die enter-Tasten die Aktionen A(30) und S(31), und die exit-Tasten implementieren die Aktionen K(37), L(38).