Acabou que o problema estava correndo advancemame
com sudo
e não como usuário comum pi
, não investigamos o motivo.
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 advancemame
vê uinput
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.
Tags input raspbian raspberry-pi