Ich habe ein Programm (Abonnieren) läuft auf Raspian (Raspberry Pi), das wie die meisten Programme seine Eingaben über die Tastatur erhält. Ich verwende ein Programm, das die uinput
HI/LOW-Werte der GPIO-Pins in Tastendrücke umwandelt (Abonnieren). Ich führe es pikeyd
im Hintergrund vom Terminal aus aus, dessen GPIO-Pin der Taste 5 zugeordnet ist. Ich stelle den entsprechenden GPIO auf HI und es wird „5“ auf dem Terminal ausgegeben.
Wenn ich jedoch ausführe advancemame
, erkennt es das nicht uinput
. Wenn ich die Tastatur abziehe und neu starte, advancemame
sieht es uinput
und alles funktioniert. So wie es aussieht, liest das Programm das erste Eingabegerät input0
(Tastatur). Gibt es eine Möglichkeit, das zu tun uinput
input0
? Das heißt, die Reihenfolge der Eingabegeräte festzulegen
$ ls /sys/class/input/
event0 event1 event2 input0 input1 input2 mice mouse0 mouse1
$ ls /sys/devices/virtual/input/input2/
capabilities event2 id modalias mouse1 name phys power properties subsystem event uniq
Ich bin nicht sicher, ob es eine Einstellung gibt, advancemame
die alle Eingabegeräte berücksichtigt. Ich habe 3 Bilder, die ich von Grund auf neu erstellt habe, 1 der 3 Bilder funktioniert und berücksichtigt advancemame
alle Eingabegeräte. Ich kann meine uinput
und die Tastatur gleichzeitig verwenden. Ich habe die Konfigurationseinstellungen zwischen den Bildern verglichen und kann nicht herausfinden, warum eines funktioniert und die anderen nicht. Ich frage mich, ob es sich möglicherweise um eine Sicherheitsberechtigung handelt.
Gibt es außerdem eine Möglichkeit, event0 und event1 zu deaktivieren? Ich verwende es nicht X11
, daher xinput
ist das keine Option.
BEARBEITEN
Hier sind meine Eingabegeräte:
pi@raspberrypi ~ $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=0d62 Product=0500 Version=0100
N: Name="2.4G Wireless Keyboard with Touchpad"
P: Phys=usb-bcm2708_usb-1.2/input0
S: Sysfs=/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0
B: PROP=0
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=0d62 Product=0500 Version=0100
N: Name="2.4G Wireless Keyboard with Touchpad"
P: Phys=usb-bcm2708_usb-1.2/input1
S: Sysfs=/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.1/input/input1
U: Uniq=
H: Handlers=kbd mouse0 event1
B: PROP=0
B: EV=1f
B: KEY=4837fff 72ff32d bf544446 0 0 1f0001 20f90 8b17c000 677bfa d9415fed 9ed680 4400 0 10000002
B: REL=143
B: ABS=7f01 0
B: MSC=10
I: Bus=0003 Vendor=0001 Product=0001 Version=0001
N: Name="uinput-sample"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=sysrq kbd mouse1 rfkill event2
B: PROP=0
B: EV=100007
B: KEY=10000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
B: REL=3
Jede Hilfe wird geschätzt.
Antwort1
advancemame
Es stellte sich heraus, dass das Problem bei der Ausführung mit sudo
und nicht als normaler Benutzer auftrat. pi
Wir haben nicht untersucht, woran das lag.