Замена тачскрина драйвер в Android ядра
я адаптирую ядро пряника для своей пользовательской платы. Я пытаюсь заменить резистивный сенсорный экран, который использует контроллер АЦП на чипе (процессор S5PV210 от Samsung). В моем дизайне мне нужен емкостный контроллер, поддерживаемый драйвером eGalaxyTouch. Он подключен к USB. Драйвер можно легко включить из меню" сделать xconfig". Это несколько работает, так как я добавил некоторые следы на последовательной консоли, и я вижу, что он устанавливается во время загрузки ядра, и я вижу, что он устанавливает и Удалите себя при подключении / отключении USB-кабеля. Но он ничего не делает в пользовательском интерфейсе Android. Это спрятанный тип прибор. Проблема в том, что он не подключается к правильному программному уровню сенсорного экрана Android. Должно быть, я что-то пропустил. Должно быть что-то еще, чтобы заставить это HID быть подключено к другому программному уровню, управляющему сенсорным экраном.
драйверы сенсорного экрана расположены в ядре / драйверы / вход / сенсорный экран. Существует также некоторый код прямо в ядре/драйверах/вход.
любые подсказки о том, как связать это устройство HID с сенсорным слоем Android? Я смотрю, как они сделали старый резистивный, и это не делается через HID, потому что это устройство "на заказ" с АЦП, интегрированным в процессор, и оно не проходит через USB.
1 ответов
мне удалось интегрировать драйвер сенсорного экрана. Вот примерное представление о шагах, чтобы дать представление о том, как это работает для других, которые столкнутся с такой же проблемой.
Сначала удалите оригинальный драйвер сенсорного экрана, чтобы предотвратить конфликт (сделайте xconfig)
первоначально у меня был драйвер, который не работает, хотя он был предоставлен производителем сенсорного экрана. Я решил попробовать драйвер сенсорного экрана eGalax уже в дереве ядра. Это модуль водитель. Недостаточно включить "драйверы устройств модуля" в make xconfig. Да, это позволит скомпилировать .ko файлов. но он не скажет строительному скрипту, что делать с файлом.Ко и они не будут в конечном итоге происходит с ядром в целевой системе. Поэтому вам нужно принять меры, добавив материал в скрипт сборки или вручную скопировать файл.ko в правильном расположении root / modules и добавьте загрузку модуля с помощью " insmod/modules / file.ko " команда в init.rc файл. Не забудьте установить правильные привилегированные /modules и modules / file.ko с командой chmod.
после этого он в основном работал, за исключением некоторых незначительных проблем не связанных с этим вопросом (драйвер был на немного другой чип с битами размещены по-разному, легко исправить).