Linux: Como habilitar a leitura de mouses dinâmicos

2

Eu tenho um aplicativo que lê a entrada de 4 (quatro) mouses que estão conectados via USB, além do touchpad integrado. Isso não é problema para o Ubuntu 9.10: o hald percebe que os novos dispositivos e as novas entradas do udev chamam /dev/input/mouse4 ... mouse7 .

Meu aplicativo é executado como um aplicativo de usuário normal. Os arquivos em /dev pertencem a root e não podem ser lidos por ninguém.

Eu não tenho problema em fazer chmod a+r mouse? uma vez, mas os dispositivos vêm e vão a cada reinicialização e toda vez que os roedores estão conectados ou não.

Alguém pode me dizer um script ou algo para manipular, então meu chmod acontece automaticamente?

    
por Carl Smotricz 14.11.2009 / 21:27

2 respostas

1

Você pode ler as Como redigir as regras do udev . Eu nunca lidei com essas coisas, então eu não poderia dar uma solução definitiva agora, mas tenho certeza que está nesse documento. Desculpe pela solução RTFM. Espero que alguém tenha mais experiência com essas coisas do que eu.

    
por 15.11.2009 / 14:00
0

Caso alguém tenha o mesmo problema, veja o que descobri:

Sendo um debian, o Ubuntu mantém a maioria de suas regras em /lib/udev/rules.d . O diretório /etc/udev/rules.d é apenas para exceções introduzidas manualmente; eles aparentemente substituirão as configurações em /lib/udev/rules.d .

Os ratos estão entre as coisas básicas tratadas pelo udev, não fiquei surpreso ao encontrar um punhado de configurações para eles em lib/udev/rules.d/50-udev-default.rules . O parágrafo de interesse para mim foi:

# input
KERNEL=="mouse*|mice|event*",   MODE="0640"
KERNEL=="ts[0-9]*|uinput",      MODE="0640"
KERNEL=="js[0-9]*",             MODE="0644"

Eu intencionalmente ignorei o aviso no topo do arquivo:

# do not edit this file, it will be overwritten on update

como pretendo que esta alteração seja temporária de qualquer forma.

Mudei o primeiro "640" para "644", desconectei e reconectei dois dos meus mouses. E pronto,

crw-r----- 1 root root 13, 32 2009-11-16 19:14 mouse0
crw-r----- 1 root root 13, 33 2009-11-16 19:14 mouse1
crw-r--r-- 1 root root 13, 34 2009-11-16 21:58 mouse2
crw-r--r-- 1 root root 13, 35 2009-11-16 21:58 mouse3

mouse2 e mouse3 tornaram-se legíveis em todo o mundo. Missão cumprida!

    
por 16.11.2009 / 22:08