Barcode-Scanner-Eingabe beim Ausführen von xorg und evdev

7

Wenn ich einen Barcode in einer Textkonsole scanne (STRG + ALT + F1 oder nicht X), erhalte ich die richtige Eingabe, aber wenn ich es mit einer Anwendung versuche, die auf X läuft, erhalte ich nicht den richtigen Barcode.

Der Scanner ist so konfiguriert, dass er den Barcode gefolgt von einem 'n' zurückgibt. Unter XI erhalten Sie nur das 'n', nicht den vorhergehenden Barcode.

Ich lief xev, um zu sehen, was los ist. Hier ist ein Auszug der Ausgabe:

> KeyPress event, serial 35, synthetic NO, window 0x6800001,
>     state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyRelease event, serial 35, synthetic NO, window 0x6800001,
>     state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyPress event, serial 35, synthetic NO, window 0x6800001,
>     state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyRelease event, serial 35, synthetic NO, window 0x6800001,
>     state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,

Es gibt ein KeyPress / KeyRelease-Ereignispaar für jede Ziffer im Barcode, aber keine Ereignisse zwischen dem KeyPress- und dem KeyRelease-Ereignis für Alt_L?

Sollte ich mir Compose Keys für eine Lösung ansehen oder wie kann ich das Verhalten einer normalen Konsole anpassen?

ps. Ich verwende einen Welch Allyn ST3400 Barcode-Scanner.

BEARBEITEN:

Ich habe showkey in der Befehlszeile ausgeführt und einen Barcode eingescannt. Dies ist die Ausgabe, die ich erhalten habe:

keycode  28 release
keycode  56 press
keycode  82 press
keycode  76 press
keycode  80 press
keycode  56 release
keycode  56 press
keycode  82 press
keycode  75 press
keycode  73 press
keycode  56 release

Es scheint, dass der Barcode-Scanner Links-Alt + # + # + # verwendet, um die richtigen Zeichen zu erhalten. Es scheint auch, dass der Barcode-Scanner niemals ein Freigabeereignis für die Numpad-Tasten sendet, die er zusammen mit Links-Alt verwendet hat. Ich habe etwas Ähnliches in einem anderen Forum gelesen - allerdings ohne Lösung. Wenn ich Links-Alt + # + # + # manuell mit showkey verwende, wird für jede Taste gedrückt und losgelassen.

Es stellt sich nun die Frage, warum es kein KeyPress-Ereignis gibt, wenn ich Xorg ausführe.

Dolch
quelle
2
Vielleicht können Sie Ihren Barcodeleser einfach neu konfigurieren, um eine besser nutzbare Ausgabe auszugeben. Die Konfiguration erfolgt häufig durch Scannen spezieller Barcodes - siehe Dokumentation.
Jofel
Danke, das habe ich letztendlich getan. Ich habe es so konfiguriert, dass es mir die richtigen Codes sendet, anstatt mit einer Alt-X-, Y-, Z-Tastenfolge.
Dirk
Vielleicht möchten Sie den Kommentar zu einer Antwort fördern und als richtig markieren ...
Bananguin
Kann ich das tun oder muss @jofel den Kommentar als Antwort erneut veröffentlichen?
Dirk
@dirk Ich habe gerade meinen Kommentar als Antwort gepostet.
Jofel

Antworten:

2

Oft können Sie Ihren Barcodeleser neu konfigurieren, um eine besser nutzbare Ausgabe auszugeben. Die Konfiguration erfolgt häufig durch Scannen spezieller Barcodes - siehe Dokumentation.

Jofel
quelle