Mogłem zapytać Stephena Webba, który obecnie kieruje zespołem technicznym Unity, o dane dotykowe. Skontaktowałem się z nim, ponieważ był głównym programistą pakietu uTouch-geis , który został podzielony na trzy różne pakiety: Frame , Geis i Graal . Są to podstawowe elementy sterujące ekranu dotykowego dla 13.04 i jest również mocno zaangażowany w inne projekty wielodotykowe . Zapytałem go o więcej informacji na temat wprowadzania danych dotykowych i mojego pomysłu. Oto, co miał do powiedzenia:
Chcę, aby Grub2 zarejestrował jedno kliknięcie, nigdy więcej (multi-touch nie jest potrzebny - myślę). Celem byłoby wybranie z menu rozruchu.
Będziesz mieć problem z nawiązaniem kontaktu z kodem modułu ładującego.
Wiele (ale nie wszystkie) dotykowe urządzenia wejściowe mają sterowniki urządzeń zgodne z protokołem Microsoft HID. Trzeba będzie zreplikować tę technologię sterowników do GRUB2, a następnie wymyślić, jak odwzorować to na coś, co GRUB2 zrozumiałby jako dane wejściowe. Brzmi jak praca.
Czy są jakieś zasoby, do których możesz mnie doprowadzić, które pomogłyby mi zrozumieć, jak działają urządzenia dotykowe?
To skomplikowane. Istnieje wiele różnych technologii połączonych z hostem na różne sposoby, mówiących różnymi protokołami, dostarczających różne dane.
Jest jakaś dobra dokumentacja tutaj .
Czy są jakieś biblioteki z jednym kliknięciem, które możesz zasugerować lub z bibliotekami wielodotykowymi? Czy masz jakieś sugestie, jak iść naprzód?
Cóż, na stosie Linuksa znajduje się oprogramowanie układowe w procesorze dotykowym, który podaje dane do sterownika urządzenia w jądrze, co przekłada się na protokół evdev, który jest odczytywany przez sterownik x.org i konwertowany na protokół XI2, lub jeśli nic nie szuka xi2 dotykowych wydarzenia, a następnie konwertuje że do zdarzenia XI myszy, a zdarzenie X11 zostanie wysłana do klienta. Wszystko, co masz na poziomie modułu ładującego, to bezpośrednie wejście z procesora dotykowego.