Eu gostaria de escrever um aplicativo que emula campainhas de perigo. Haveria um computador host conectado a N ratos, que atuam como campainhas de cada jogador.
Qual seria a maneira mais simples de escrever esse aplicativo em Python? Uma solução ideal seria evitar a adulteração ou a criação de um novo hardware físico.
Opções que estou considerando:
- Ouvi dizer que os dispositivos USB são lidos pelo sistema operacional como um fluxo de texto sem formatação em algum lugar. Mas onde?
- Eu também poderia vincular cada botão a uma tecla diferente e apenas ouvir os eventos do teclado. É possível ligar o botão direito do mouse no mouse-0 à tecla-0, mas clicar com o botão direito do mouse no mouse-1 na tecla-1? ou todos os cliques com o botão direito ficam vinculados à mesma tecla?
Existem tantas opções, estou me perguntando qual é a mais fácil? Muitas das leituras que fiz são específicas do X11 ( xinput this
ou xev that
). Como alguém deve fazer o equivalente em Wayland?
Se você conectar vários mouses USB, cada um deles aparecerá como um novo dispositivo chamado, por exemplo,
/dev/input/event9
. O utilitárioevtest
listará todos eles interativamente e adicionará o tipo de dispositivo que eles parecem ser, por exemplo:Se você então correr
você verá os dados impressos toda vez que mover o mouse ou clicar em seus botões. O
--grab
também impedirá que esses eventos ocorram no servidor Wayland (ou X11).Você pode escrever um script sobre isso para implementar seu jogo ou pode fazer a mesma coisa programaticamente a partir do Python3 com o pacote evdev .