Pude perguntar a Stephen Webb, que atualmente lidera a equipe técnica da Unity, sobre a entrada por toque. Entrei em contato com ele porque ele era o desenvolvedor líder do pacote uTouch-geis , que foi dividido em três pacotes diferentes: Frame , Geis e Grail . Estes são os principais controles da tela de toque para o 13.04 e ele também está fortemente envolvido em outros projetos multi-touch . Perguntei a ele sobre como aprender mais sobre a entrada de dispositivos de toque e minha ideia. Aqui está o que ele tinha a dizer:
Quero que o Grub2 registre um único evento de toque, não mais (multi-touch não é necessário - eu acho). O objetivo seria selecionar no menu de inicialização.
Você terá o desafio de obter contato para trabalhar a partir do código do carregador de inicialização.
Muitos (mas não todos) os dispositivos de entrada por toque possuem drivers de dispositivo que funcionam com o protocolo Microsoft HID. Você precisaria replicar essa tecnologia de driver no GRUB2 e descobrir como mapear isso em algo que o GRUB2 entenderia como entrada. Parece trabalho.
Existe algum recurso para o qual você possa me ajudar a entender como os dispositivos touch funcionam?
Isso é complicado. Existem muitas tecnologias diferentes, conectadas ao host de maneiras diferentes, falando protocolos diferentes, fornecendo dados diferentes.
Há uma boa documentação aqui .
Existem bibliotecas de toque único que você pode sugerir ou multi-touch? Você tem outras sugestões sobre como avançar?
Bem, na pilha do Linux, há o firmware no processador de toque, que alimenta os dados do driver de dispositivo no kernel, que se traduz no protocolo evdev, que é lido pelo driver x.org e convertido no protocolo XI2, ou se não há nada à procura de eventos de toque xi2, em seguida, converte que em um evento do mouse XI, e um evento X11 é enviado para o cliente. Tudo o que você tem no nível do carregador de inicialização é entrada direta do processador de toque.