O programa vê apenas 1 dispositivo de entrada

O programa vê apenas 1 dispositivo de entrada

Eu tenho um programa (avançomame) rodando em Raspian (Raspberry Pi) que, como a maioria dos programas, recebe entrada do teclado. Estou usando um programa que implementa uinputa conversão de leituras HI/LOW dos pinos GPIO em pressionamentos de tecla (pikeyd). Eu corro pikeydem segundo plano a partir do terminal, que tem um pino GPIO mapeado para a chave 5. Defino o GPIO correspondente como HI, ele imprime "5" no terminal.

Porém, quando executo o advancemame, ele não reconhece o uinput. Se eu desligar o teclado e reiniciar, então advancemameuinpute tudo funciona. Pelo que parece, o programa irá ler o primeiro dispositivo de entrada input0(teclado). Existe uma maneira de fazer uinput input0? Ou seja, defina a ordem dos 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

Não tenho certeza se existe uma configuração advancemameque examinará todos os dispositivos de entrada. Tenho 3 imagens que construí do zero, 1 das 3 imagens funciona onde advancemamevê todos os dispositivos de entrada. Posso usar o meu uinpute o teclado em algum momento. Comparei as configurações entre as imagens e não consigo descobrir por que uma funciona e as outras não. Gostaria de saber se pode ser uma permissão de segurança.

Além disso, existe uma maneira de desabilitar event0 e event1? Não estou usando X11, então xinputnão é uma opção.

EDITAR

Aqui estão meus 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

Qualquer ajuda é apreciada.

Responder1

Acontece que o problema estava ocorrendo advancemamecom sudoe não como um usuário comum pi, não investigamos o porquê.

informação relacionada