プログラムがあります(ミリママ)はRaspian(Raspberry Pi)で動作し、ほとんどのプログラムと同様にキーボードから入力を受け取ります。uinput
GPIOピンの高/低読み値をキー押しに変換するプログラムを使用しています(選択済み)。pikeyd
キー5にマップされたGPIOピンを持つ端末でバックグラウンドでこれを実行しています。対応する GPIO を HI に設定すると、端末に「5」が印刷されます。
ところで実行をしてみるとadvancemame
認識にはなりませんuinput
。キーボードを抜いて再起動すると、すべてがうまくadvancemame
機能しますuinput
。表面的には、プログラムは最初の入力デバイスinput0
(キーボード)を読みます。それを作る方法がありますかuinput
input0
?つまり、入力デバイスの順序を設定することです。
$ 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
advancemame
すべての入力デバイスを表示できる設定があるかどうかはわかりません。最初から3つの画像を作成し、3つの画像の1つからすべてのadvancemame
入力デバイスを見ることができます。uinput
時にはキーボードを使うこともできます。画像間の構成設定を比較しましたが、1つは機能し、もう1つは機能しない理由が見つからないようです。これがセキュリティ許可になるかどうか疑問に思います。
また、event0とevent1を無効にする方法はありますか?私はそれを使用しないので、X11
オプションxinput
ではありません。
編集する
これは私の入力デバイスです。
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
助けてくれてありがとう。
答え1
advancemame
問題は、一般ユーザーではsudo
なく一般ユーザーとして実行されていることがわかり、pi
その理由を調査していません。