Drivers de teclado para portáteis, manipuladores de eventos no linux

0

Pls explica onde está o driver para o teclado & Seu manipulador está localizado.

Drivers:

Por ls /lib/modules/4.10.0-28-generic/kernel/drivers/input/mouse ----- > deu Todos os drivers de dispositivo para mouse são mostrados (Entre os que psmouse.ko é usado no meu) .Mesmo se eu sudo rmmod psmouse , o touchpad não está funcionando ainda usbmouse está funcionando (pois usa usbmouse/usbhid )

Então, onde está o meu driver de teclado em lsmod . Nenhum em ls /lib/modules/4.10.0-28-generic/kernel/drivers/input/keyboard está na lista de mods?

Manipuladores:

Por cat /proc/bus/input/devices ----- > deu o seguinte

SynPS/2 Synatics Touchpad (Handlers : mouse0 event6) 
AT Translated Set 2 Keyboard (Handlers : sysrq,kbd,event4,leds)

Por cat /proc/bus/input/handlers ----- > deu o seguinte

rfkill,kbd,sysrq,mousedev,evdev,joydev,leds

Mas, em vez de mousedev handler, mouse0 é usado. Por que? mouse0 está disponível em /dev/input/mouse0 . Simillary porque não kbd está disponível lá?

Observação: os eventos estão disponíveis em /dev/input , mas por que não kbd ?

    
por ganesan guru 30.10.2018 / 12:03

1 resposta

0

Visão geral rápida: o manuseio do mouse e do teclado está em camadas. A camada mais abstrata no nível do kernel é a camada de evento de entrada (dispositivos /dev/input/event* ). Você pode ler eventos sobre aqueles com evtest . Acima disso estão os drivers para X ( evdev , ou drivers de nível inferior) ou Wayland ( libinput ). Abaixo estão drivers para dispositivos USB HID ( usbmouse / usbhid ), teclados PS / 2 ( kbd ), mouses PS / 2 ( mousedev ). Os dispositivos de mouse são um zoológico bastante complexo, porque eles também contêm drivers obsoletos para mouses de porta serial com diferentes protocolos e outras maneiras de anexar mouses.

/dev/input/mouse0 é o dispositivo para eventos de mouse de nível PS / 2, enquanto mousedev é o módulo do kernel que lida com ele, AFAIK. Não sei por que cat /proc/bus/input/devices lista nomes de dispositivos em "manipuladores", isso é um pouco inconsistente.

Não há dispositivo para eventos de teclado no nível do PS / 2 por padrão, mas você pode criar um com os módulos e / ou opções corretos (eu teria que procurar isso, como você normalmente não precisa) .

Linha de fundo : A menos que você, por alguma razão, precise mexer com protocolos de nível mais baixo (PS / 2, serial, USB, HID, ...), apenas deixe-os em paz. Use os dispositivos /dev/input/event* ou use as abstrações X ou Wayland.

Se você puder editar sua pergunta com o que realmente deseja alcançar (a menos que seja pura curiosidade), podemos dar um conselho melhor.

    
por 31.10.2018 / 11:32

Tags