Programa só vê 1 dispositivo de entrada

2

Eu tenho um programa ( advancemame ) rodando em Raspian (Raspberry Pi), que como a maioria dos programas recebe sua entrada do teclado. Eu estou usando um programa que implementa uinput para converter leituras de HI / LOW de pinos de GPIO para teclas pressionadas ( pikeyd ). Eu corro pikeyd no fundo do terminal, que tem um pino GPIO mapeado para a tecla 5. Eu configurei o GPIO correspondente para HI, ele imprime "5" no terminal.

No entanto, quando executo advancemame , ele não reconhece o uinput . Se eu desconectar o teclado e reinicializar, então advancemameuinput e 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 em advancemame que irá analisar todos os dispositivos de entrada. Eu tenho 3 imagens que construí do zero, 1 das 3 imagens funciona onde advancemame vê todos os dispositivos de entrada. Eu posso usar meu uinput e o teclado no mesmo dia. Eu comparei configurações de configuração entre as imagens e não consigo encontrar por que um funciona e os outros não. Eu estou querendo saber se pode ser uma permissão de segurança.

Além disso, existe uma maneira de desativar o event0 e o event1? Eu não estou usando X11 , então xinput não é uma opção.

EDITAR

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

    
por PhillyNJ 11.05.2014 / 16:59

1 resposta

0

Acabou que o problema estava correndo advancemame com sudo e não como usuário comum pi , não investigamos o motivo.

    
por 13.05.2014 / 19:22