Como fazer um driver de mouse a partir de um tty?

2

Eu tenho um Arduino conectado ao meu computador através da porta uart / tty. Eu gostaria de usá-lo como um mouse, mas não tenho idéia de onde começar com o kernel / device drivers / etc.

Aqui está um pequeno resumo do que fiz até agora:

  • conseguiu empurrar informações do Arduino para o computador: eu pressiono um botão, o Arduino transmite para o computador e um script bash pode dizer que um botão foi pressionado
  • começou a ler algumas informações sobre drivers de dispositivos e o grande catálogo de drivers de dispositivos do Linux
  • escreveu um pequeno driver para tocar com os pinos do gpio (principalmente copiados / colados da internet)

Agora eu gostaria que meu Arduino agisse como um mouse, mas não use os "escudos de mouse" ou compre um Arduino que o faça (o meu é mais antigo, 2009). Estou pensando em tentar usar udev para redirecionar o USB do driver FTDI para algo que eu escreveria, e depois fingir que é um mouse, mas não tenho certeza de onde começar e se é viável.

Isso envolveria a engenharia reversa do protocolo FTDI, a leitura dos caracteres enviados e o movimento do mouse por meio de programação. Mas eu nem encontrei uma biblioteca que funciona no meu Linux no VMware para mover o mouse. Eu encontrei xdotool que é binário que pode fazer o meu mouse se mover, mas é isso. Eu não tenho nem mesmo a certeza de que a partir do USB eu posso analisar o protocolo FTDI que converte caracteres do Arduino para USB, e se esta é a direção certa de qualquer maneira ou se há uma maneira de chamar o driver FTDI para fazer isso por mim.

Dou boas-vindas a outras soluções, claro, mas eu realmente gostaria de algumas orientações sobre isso, eu tenho tentado por meses e sempre acabo enterrado em tantos tutoriais na internet sobre tudo.

    
por Thomas 17.01.2014 / 18:14

0 respostas