Android touch screen driver

Замена драйвера сенсорного экрана в Android-ядре

Я адаптирую ядро ​​Gingerbread для своей пользовательской платы. Я пытаюсь заменить резистивный сенсорный экран, который использует встроенный контроллер ADC (процессор S5PV210 от Samsung). В моем дизайне мне нужен емкостный контроллер, поддерживаемый драйвером eGalaxyTouch. Он подключен к USB. Драйвер можно легко включить из меню «Сделать xconfig». Это работает, так как я добавил некоторые следы на последовательной консоли, и я вижу, как он устанавливается во время загрузки ядра, и я вижу, что он устанавливает и удаляет себя при подключении / отключении USB-кабеля. Но он ничего не делает в пользовательском интерфейсе Android. Это устройство типа HID. Проблема в том, что он не подключается к соответствующему слою программного обеспечения для сенсорного экрана Android. Должно быть, я что-то упустил. Должно быть что-то еще, чтобы вызвать, чтобы этот HID был подключен к другому программному уровню, управляющему сенсорным экраном.

Драйверы сенсорного экрана расположены в ядре / драйверах / вводе / сенсорном экране. Существует также некоторый код прямо в kernel / drivers / input.

Любые подсказки о том, как связать это HID-устройство с слоем сенсорного экрана Android? Я смотрю, как они сделали старый резистивный, и это не делается с помощью HID, потому что это «изготовленное на заказ» устройство с интегрированными в CPU АЦП, и это не происходит через USB.

Мне удалось интегрировать драйвер сенсорного экрана. Вот приблизительное представление о шагах, чтобы дать представление о том, как это работает для других, которые столкнулись бы с такой же проблемой.

Сначала удалите исходный драйвер сенсорного экрана, чтобы предотвратить конфликт (make xconfig)

Первоначально у меня был водитель, который не работает, хотя он был предоставлен производителем сенсорного экрана. Я решил попробовать драйвер сенсорного экрана eGalax уже в дереве ядра. Это драйвер модуля. Недостаточно включить «драйверы устройства модуля» в make xconfig. Да, это позволит скомпилировать файлы .ko. Но он не скажет сценарию здания, что делать с файлом.ko, и они не будут в конечном итоге работать с ядром в целевой системе. Таким образом, вам нужно принять меры, добавив материал в скрипт сборки или вручную скопируйте файл .ko в правильном расположении корней / модулей и добавьте загрузку модуля с помощью команды «insmod /modules/file.ko» в init. Rc-файл. Не забудьте установить правильную привилегию / modules и modules / file.ko с помощью команды chmod.

После этого он в основном работал, за исключением некоторых незначительных проблем, не связанных с этим вопросом (драйвер был для немного другого чипа с битами, по-разному, легко исправить).

Источник

Android touch screen driver

Универсальный тачскрин для ГУ на Android
Автомагнитола и устройство на Android
Обсуждение »

ГУ : Тачскрин для ГУ на Android

— Поиск оригинального или совместимого тачскрина для своего ГУ на Android не увенчалось успехом, поэтому пришлось начать поиски решения даной задачи.
— В результате поиска было обнаружено несколько вариантов универсальных тачскринов, которые могут работать с ГУ по USB.
На этом ресурсе (4pda) не нашлось информации о подобных устройствах, поэтому решил создать тему с описанием универсальных тачскринов для тех пользователей, которые не могут найти для своих ГУ на Android оригинальные тачскрины.

Читайте также:  Asphalt 8 деньги андроид

[Полезное в этой теме]

Сообщение отредактировал ES. — 29.08.20, 12:54

Минусы:
— для Андроид драйвера имеются на сайте, но их можно встроить только в ядро (перекомпилировать ядро), что проблематично для большинства пользователей
— если встроить контроллер с тачскрином в ГУ под Андроид, то при сбое калибровки тачскрина будет необходимость разборки ГУ для подключения ноутбука с Windows, для проведения калибровки.

Вариант подключения этого тачскрина под Андроид от ABCh смотреть там: Подключение к Андроид
но у меня на 2-х девайсах такой вариант не запустился.

Сообщение отредактировал PauS — 24.01.18, 12:27

Плюсы:
— малогабаритная плата контроллера тачскрина с разъемом для 4-х проводного резистивного тачскрина
— в Android работа тачскрина в режиме мыши или дигитайзера
— нормальный софт для калибровки тачскрина под Windows по 4-м, 9-ти и 25-ти точкам касания
— плавная отработка касаний контроллером
— документацию и софт можно посмотреть там: http://www.microchip.com/wwwproducts/en/AR1100

Минусы:
— если встроить контроллер с тачскрином в ГУ под Андроид, то при сбое калибровки тачскрина будет необходимость разборки ГУ для подключения ноутбука с Windows, для проведения калибровки.

Сообщение отредактировал PauS — 13.11.17, 20:39

Плюсы:
— На данный контроллер тачскрина имеются исходники для контроллера
— тема по данному контроллеру находится там: http://pccar.ru/showthread.php?t=18943

Минусы для прошивки с сайта pccar.ru:
— происходит подергивание точки касания тачскрина из-за не совсем корректного алгоритма вычисления точки касания
— калибровка тачскрина проходит из под Windows и соединение с контроллером для калибровки происходит не всегда корректно
— при подключении к винде требует драйвер

Моя модификация прошивки для этого контроллера исправляющая некоторые минусы оригинальной прошивки:
Из-за этих минусов решил модифицировать прошивку:
— на светодиод «1» (см.фото) выведена индикация касания тача (есть касание — горит)
— удалил из прошивки весь код связанный с виртуальным портом, который нужен был для
калибровки из под винды, теперь винда драйвер не просит
— дописал код калибровки в прошивку. Вначале сделал калибровку по нажатию кнопки
на плате контроллера, но потом подумал и пришел к выводу, что это будет не очень
удобно, т.к. будет необходимость разбирать ГУ, чтобы нажимать кнопку для калиброки.
поэтому сделал без дополнительной кнопки.

Прошивки на Pro Micro только на 16 МГц :
Прошивка для Android: HID_Resistive_A_TouchController.zip ( 439.06 КБ )

Прошивка для Windows: TouchController_HID_Resistive_Windows.rar ( 400.79 КБ )

вот выкладываю получившуюся прошивку и кое что сопутствующее.
в архиве:
— TouchController_HID_Resistive_A.hex — моя прошивка контроллера для работы под Android
— 800_480.jpg — файл с расположением точек калибровки
— TC_REZ_01.jpg — внешний вид на чем проводилось тестирование
— Boot32u4.zip — архив с программатором для платы контроллера

Калибровка получилась может и не очень, но по мне нормально.

Калибровка тачскрина осуществляется по двум точкам расположенным в левом верхнем
и в правом нижнем углах смотри 800_480.jpg. Точки калибровки располагаются на
расстоянии 10% от длины и высоты (соответственно) дисплея. Сдвинуть точки
калибровки на 10% пришлось из-за конструкции тачскрина. мой в углах не работает.

Читайте также:  Machinarium android tv apk

Для первой калибровки, мне кажется, лучше сделать шаблон в размер вашего дисплея
из прозрачной пленки (кальки) с нарисованными двумя точками для калибровки.

Калибровка:
1. Наложить шаблон калибровки на экран дисплея (вывести на весь экран в Андроиде
картинку калибровки например 800_480.jpg).
2. Нажать и удерживать стилусом или другим предметом в любую точку экрана с
тачскрином. Светодиод 1 на плате контроллера (TC_REZ_01.jpg) будет постоянно светится.
3. Контролировать светодиод 2 на плате контроллера, примерно через 13 сек. светодиод 2
мигнет 1 раз, после этого отпустить стилус.
4. Нажать стилусом в точку 1 (левый верхний угол) и удерживать пару сек. пока не мигнет
светодиод 2, после этого отпустить стилус.
5. Нажать стилусом в точку 2 (правый нижний угол) и удерживать пару сек. пока не мигнет
светодиод 2, после этого отпустить стилус.
6. Нажать стилусом в любую точку экрана на пару сек.

Калибровка закончена, проверяйте работу тачскрина.

Контроль светодиодов в принципе требуется для определения правильности работы калибровки
и определения времени удержания стилуса во время калибровки, чтобы в последствии проводить
калибровку просто по времени.

Сообщение отредактировал PauS — 11.09.18, 09:37

4. Емкостной тачскрин. Коммерческий проект: Контроллер YAM_TOUCH_I2C_SIMPLE

предназначен для подключения по USB емкостных тачей со встроенным I2C контроллером от:
— FocalTech FT5206/FT5302/FT5306/FT5406/FT5606
— GOODIX GT801/GT811/GT911/GT927x/GT928
— Synaptics S7300B
— VTL CT363
— Atmel MXT1386

Источник

Android touch screen driver

DOWNLOAD From this link and thank mrkindaiji for making them.

FIRST extract both the file and install java runtime inside «edit script easytools v2.rar»

Turn its «USB debugging» ON from Settings -> Developer options

Connect it to your PC
(INSTALL its driver from [universal adbDRIVER1] OR [ADBdriver2] if you are connecting it for first time)

Run «pull_script_bin.exe» to get «script.bin» file from your device into «script_bin folder» and this is the file we will edit.

Run «Edit Script EasyTools v2.exe» and select «Change script.bin > Script.fex»

A pop up will tell you to put the Script.bin file you got from your device and other will tell you press any key. When you put the file inside the poped up screen go to the other window and press any key. And the bin file you dropped inside the folder is converted to fex file.

(it will fix its y-axis)

(it will fix its x-axis)

try changing both the values

or

ctp_revert_x_flag = 1
ctp_exchange_x_y_flag =
1
(
it will fix its x axis touch and make x axis its y axis )

Which ever way you think is reverted.

The script.bin file will be saved to your device and your device will reboot.

That’s all of it now enjoy your device and let me know if that worked for you or not.

Источник

Replacing Touchscreen driver in Android Kernel

I’m adapting a Gingerbread kernel for my custom board. I’m trying to replace a resistive touch screen that uses an on-chip ADC controller (S5PV210 processor from Samsung). In my design, I need a capacitive controller supported by eGalaxyTouch driver. It’s connected to the USB. The driver can be easily enabled from the «make xconfig» menu. It somewhat works since I added some traces on the serial console and I can see it installing during the kernel boot and I see it install and uninstall itself when connecting/disconnecting the USB cable. But it doesn’t do anything in the Android user interface. It is an HID type device. The problem is it does not hook-up to the proper Android touchscreen software layer. I must have miss something. There must be something else to call to force this HID to be connected to another software layer managing the touchscreen.

Читайте также:  Space live wallpaper android

The touchscreen drivers are located at kernel/drivers/input/touchscreen. There is also some code straight in kernel/drivers/input.

Any clues on how to link that HID device to the Android Touchscreen layer? I look how they did the old resistive one and it is not done through an HID because it’s a «custom made» device with ADCs integrated in the CPU and it’s not going through USB.

1 Answer 1

I succeeded to integrate the touchscreen driver. Here is a rough idea of the steps just to give an idea of how it works for the others who would face the same kind of problem.

First remove the original touchscreen driver to prevent conflict (make xconfig)

Originally, I had a driver that doesn’t work eventhough it was provided by the touchscreen manufacturer. I decided to try the eGalax touchscreen driver already in the Kernel tree. This is a module driver. It is not enough to enable «module device drivers» in the make xconfig. Yes, it will allow to compile the .ko files. but it will not tell the building script what to do with the file.ko and they will not end up going with the kernel in the target system. So you have to take action by adding stuff to the build script or manually copy the file.ko in the proper root/modules location and add the loading of the module with the «insmod /modules/file.ko» command in the init.rc file. Don’t forget to set the proper privileged to /modules and modules/file.ko with chmod command.

After that it basically worked, except for some minor problems not related to that question (the driver was for a slightly different chip with bits placed differently, easy to fix).

Источник

Android touch screen driver

Supported OS

Singel&Multi-touch

Supported Technologies Interface Supported Touch Controllers Driver Download Version Notes

Windows

USB PCTC609U, CT612U, PCTC703U, PCTC701U, PCTC702U iUniTouch_Tool_Setup_V1.2.1.0.zip 1.2.1.0

The Driver is optional since these HID touch screens are PNP with Windows7 or later. And this is a mouse emulation driver, supports multi-tp and multi-monitor.?

Источник

Оцените статью