/ dev / input / uinput O dispositivo parece estar 'quebrado'

0

Estou tentando configurar o Pystromo para que eu possa remapear as teclas do meu Gamepad N52TEBelkin .

O Pystromo basicamente captura os toques de tecla e, em seguida, envia os pressionamentos de tecla remapeados para o dispositivo de entrada de dados. No entanto, no momento, simplesmente engole a entrada e não produz absolutamente nada.

Eu acompanhei o problema em algo errado com o meu dispositivo de entrada de dados, com a arma de fumaça sendo:

# ls -l /dev/input/uinput
crw-rw---- 1 root plugdev 10, 223 Dec 31  2009 /dev/input/uinput
# cat /dev/input/uinput
cat: /dev/input/uinput: No such device

O módulo uinput é carregado e pode ser visto claramente por meio de lsmod . Alguém já viu isso antes ou pode pensar em algo que valha a pena tentar?

Configuração atual

  • Gentoo Linux
  • Kernel 2.6.32 (Fontes do Gentoo 2.6.32-r1)
  • Laptop HP DV7

Saída

dmesg

dmesg | grep uinput não faz nada e nenhuma nova linha aparece se eu executar modprobe -r uinput && modprobe uinput . No entanto, o módulo uinput pode ser visto claramente ao executar o lsmod:

# lsmod | grep uinput
uinput                  6200  0

lsusb

# lsusb
Bus 005 Device 003: ID 050d:0200 Belkin Components
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 1532:0101 Razer USA, Ltd
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 5986:0143 Acer, Inc
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module]
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -v

PasteBin

Atualizar

Hmm, atualizar evdev e hal parece ter corrigido parcialmente. / dev / input / uinput ainda não pode ser acessado, mas o Pystromo agora está remapeando chaves com sucesso.

Estou um pouco confuso sobre o que está acontecendo aqui, mas parece que minha compreensão de como tudo isso funciona é falha.

Desde que publiquei uma recompensa, deixarei isso aqui para alguém postar uma explicação sobre como os dispositivos de entrada do espaço do usuário funcionam sob o capô.

    
por Adam Luchjenbroers 30.12.2009 / 12:49

1 resposta

1

Você não deve ler a partir do uinput, já que o uinput é para criar dispositivos de espaço do usuário e enviar eventos para eles, portanto, a mensagem No such device é normal.

Eu suponho que seja um problema de permissões simples ou uma mudança na localização do próprio dispositivo de entrada de dados (ou seja, / dev / uinput era esperado, mas estava em / dev / input / uinput), sendo que ambos mudaram Ubuntu um tempo atrás, para que programas que esperavam comportamentos antigos pudessem ficar confusos.

    
por 06.07.2010 / 15:07