El programa solo ve 1 dispositivo de entrada

El programa solo ve 1 dispositivo de entrada

tengo un programa (avancemame) que se ejecuta en Raspian (Raspberry Pi) que, como la mayoría de los programas, obtiene su entrada desde el teclado. Estoy usando un programa que se implementa uinputpara convertir las lecturas ALTA/BAJA de los pines GPIO en pulsaciones de teclas (pikeyd). Ejecuto pikeyden segundo plano desde el terminal, que tiene un pin GPIO asignado a la clave 5. Configuro el GPIO correspondiente en HI, imprime "5" en el terminal.

Sin embargo, cuando lo ejecuto advancemame, no reconoce el archivo uinput. Si desconecto el teclado y reinicio, advancemameveo uinputque todo funciona. Por lo que parece, el programa leerá el primer dispositivo de entrada input0(teclado). ¿Hay alguna manera de hacerlo uinput input0? Es decir, establecer el orden de los dispositivos de entrada.

$ 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

No estoy seguro de si hay una configuración advancemameque observe todos los dispositivos de entrada. Tengo 3 imágenes que construí desde cero, 1 de las 3 imágenes funciona donde advancemamese ven todos los dispositivos de entrada. Puedo usar mi uinputy el teclado en algún momento. He comparado las configuraciones entre las imágenes y parece que no puedo encontrar por qué una funciona y las otras no. Me pregunto si puede ser un permiso de seguridad.

Además, ¿hay alguna forma de desactivar event0 y event1? No lo estoy usando X11, por lo que xinputno es una opción.

EDITAR

Aquí están mis dispositivos de entrada:

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

Se agradece cualquier ayuda.

Respuesta1

Resultó que el problema se estaba ejecutando advancemamecon sudoun usuario normal y no con él pi, no investigamos el motivo.

información relacionada