Мне удалось спросить Стивена Уэбба, который в настоящее время возглавляет Техническую группу Unity, о сенсорном вводе. Я связался с ним, потому что он был ведущим разработчиком пакета uTouch-geis , который был разделен на три разных пакета: Frame , Geis и Grail . Это основные сенсорные элементы управления для 13.04, и он также активно участвует в других мультитач-проектах . Я спросил его о том, как узнать больше о вводе с сенсорного устройства и о моей идее. Вот что он должен был сказать:
Я хочу, чтобы Grub2 регистрировал одно событие касания, не более (мультитач не нужен - я думаю). Целью было бы выбрать из меню загрузки.
Вы столкнетесь с трудностями при работе с кодом загрузчика.
Многие (но не все) устройства сенсорного ввода имеют драйверы устройств, которые работают по протоколу Microsoft HID. Вам нужно будет скопировать эту технологию драйвера в GRUB2, а затем выяснить, как отобразить это в то, что GRUB2 будет понимать как ввод. Звучит как работа.
Существуют ли какие-либо ресурсы, на которые вы можете привести меня, чтобы помочь мне понять, как работают сенсорные устройства?
Это сложно. Существует множество разных технологий, по-разному подключенных к хосту, говорящих по разным протоколам, доставляющих разные данные.
Там какая - то хорошая документация здесь .
Существуют ли какие-либо библиотеки с одним касанием, которые вы можете предложить, или мультисенсорные? Есть ли у вас другие предложения о том, как двигаться вперед?
Что ж, в стеке Linux есть микропрограмма в сенсорном процессоре, который передает данные в драйвер устройства в ядре, который преобразуется в протокол evdev, который читается драйвером x.org и преобразуется в протокол XI2, или, если ничто не ищет события касания XI2, затем преобразует это в событие мыши XI, и событие X11 отправляется клиенту. Все, что у вас есть на уровне загрузчика - это прямой ввод с сенсорного процессора.