USB-Ziffernblock mit telefonähnlicher Eingabe verwenden?

USB-Ziffernblock mit telefonähnlicher Eingabe verwenden?

Ich habe einen USB-Ziffernblock wie diesen:

Bildbeschreibung hier eingeben

Ich muss auf dieser Tastatur Zeichen (A bis Z) schreiben, daher besteht meine Idee darin, sie wie auf einem alten Mobiltelefon zu verwenden:

Bildbeschreibung hier eingeben

Wenn ich 1 x 2 drücke, schreibt es A, 2 x 2 - B, 4 x 9 - Z usw.

Ist das möglich? Und wie? Mit udev?

Antwort1

Ich habe keine vollständige Antwort, aber hier sind einige Dinge, die helfen könnten.

Wenn Ihr Keypad an einen Computer mit einem GUI-Desktop auf Basis von Gnome oder KDE angeschlossen ist,AutoKeykann verwendet werden, um die Tasten in Hotkeys umzuwandeln, mit denen Sie fast alles tun können, was Sie sich vorstellen können. Da Tastendrücke auf dem Pad wahrscheinlich nicht von den entsprechenden Tasten auf Ihrer normalen Tastatur zu unterscheiden sind, wirkt sich alles, was Sie tun, auch auf diese aus.

Starten Sie es xevvon einem Terminal aus und drücken Sie jede Taste auf dem Pad, um zu sehen, welche Tastencodes generiert werden. Es sind wahrscheinlich dieselben wie bei einer normalen Tastatur, aber wenn nicht, können Sie diese Codes verwenden, um die beiden zu unterscheiden.

Wenn Sie ein eingebettetes System (oder sogar einen Server) ohne GUI verwenden, funktioniert das oben genannte nicht.

Ich bin nicht sehr versiert in Linux-Geräten, aberDasDieser Beitrag gibt Ihnen möglicherweise einen Hinweis, wie Sie Tastatureingaben direkt in ein Skript oder Programm verarbeiten können. Sobald Sie die Tastendrücke in das Skript aufgenommen haben, können Sie darauf reagieren, was Sie möchten.

Da es sich um ein Skript/Programm handelt, müssen Sie eine Möglichkeit finden, die Ausgabe an das gewünschte Ziel zu bringen.

Der erste Ansatz, der mir in den Sinn kommt, ist die Verwendung einer Pipe. Das funktioniert, wenn die Ausgabe nur an ein Programm geht.

Wenn die Lösung etwas allgemeiner sein muss, kann eine benannte Pipe funktionieren. Ich musste diese noch nicht verwenden, daher bin ich mir nicht ganz sicher, wie Sie dieselbe benannte Pipe seriell mit verschiedenen Programmen verbinden können.

Antwort2

Die Lösung ist die VerwendungMultipresseEingabe Methode.

In der App muss die Multipress-Eingabemethode manuell eingestellt werden. Wenn Sie Multipress als Standard verwenden möchten, müssen Sie eine Datei /.xinputrcmit folgendem Inhalt erstellen:

GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress

verwandte Informationen