Программа видит только 1 устройство ввода

Программа видит только 1 устройство ввода

У меня есть программа (авансмамэ) работает на Raspian (Raspberry Pi), который, как и большинство программ, получает входные данные с клавиатуры. Я использую программу, которая реализует uinputпреобразование показаний GPIO-пинов HI/LOW в нажатия клавиш (пикейд). Я запускаю pikeydв фоновом режиме с терминала, у которого есть вывод GPIO, сопоставленный с клавишей 5. Я устанавливаю соответствующий вывод 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 образа, которые я создал с нуля, 1 из 3 образов работает там, где 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

Оказалось, что проблема была в запуске advancemameпод управлением sudo, а не под обычным пользователем pi, мы не стали выяснять причину.

Связанный контент