程序仅看到 1 个输入设备

程序仅看到 1 个输入设备

我有一个程序(前进妈妈)在 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有时我可以使用我的键盘。我比较了图像之间的配置设置,但似乎无法找到为什么一个有效而其他无效的原因。我想知道这是否可能是安全许可。

另外,有没有办法禁用 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

结果发现问题是以普通用户身份运行advancemamesudo,而不是以普通用户身份运行的pi,我们没有调查原因。

相关内容