Teclado virtual

1

Estou tentando criar um teclado virtual na minha máquina Linux. A máquina tem apenas um CLI. Eu gostaria de preencher / dev / input com outro dispositivo (algo como / dev / input / event20 ou mais). Eu descobri como fazer isso com o mknod, mas, infelizmente, os números maiores e menores precisam ser ligados a um dispositivo real (tornando a leitura e gravação para este dispositivo impossível via c ++). Tão curto de escrever meu próprio driver de teclado como posso realizar o que estou tentando fazer? Obrigado pela sua ajuda!

    
por ktb92677 09.05.2017 / 03:24

1 resposta

1

Você pode usar /dev/uhid para criar seu próprio dispositivo HID . Isso torna fácil não apenas fornecer teclados do espaço do usuário, mas também mouses, joysticks etc. O dispositivo HID recém-criado receberá automaticamente um dispositivo /dev/input associado. Existe um programa de exemplo nos fontes do kernel, samples/uhid/uhid-example.c . Eu acho que é a maneira mais portátil, os dispositivos HID são altamente padronizados. Basicamente, todos os teclados e mouses USB são dispositivos HID.

Você também pode usar /dev/uinput ou /dev/input/uinput (depende da sua distribuição) para criar diretamente um dispositivo de camada de entrada. Veja por exemplo aqui para detalhes. Isso precisa do módulo do kernel uinput .

    
por 09.05.2017 / 09:05