Android с сенсорным экраном IDC
Я борюсь с калибровкой тачскрина на платформе Android.
Это сенсорный экран USB Single-Touch от производителя 0dfc
и продукт 0001
как проверено с dmesg
:
<6>[ 4118.091541] input: USB Touchscreen 0dfc:0001 as /devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.0/input/input23
Я толкаю Vendor_0dfc_Product_0001.idc
файл /data/system/devices/idc/
(следуя документации из источника Android - IDC
Я получил сенсорное устройство со всеми требованиями для событий одного касания:
root@android:/ # getevent -il /dev/input/event3
add device 1: /dev/input/event3
bus: 0003
vendor 0dfc
product 0001
version 0202
name: "USB Touchscreen 0dfc:0001"
location: "usb-usb20_host-1.3/input0"
id: ""
version: 1.0.1
events:
KEY (0001): BTN_TOUCH
ABS (0003): ABS_X : value 540, min 0, max 32767, fuzz 0, flat 0, resolution 0
ABS_Y : value 289, min 0, max 32767, fuzz 0, flat 0, resolution 0
input props:
<none>
Я также включил Pointer Location
вариант из Developer options
(Настройки Android) для отладки этого этапа калибровки.
Настройка 1
touch.deviceType = touchScreen
С помощью этой настройки (1) все жесты на сенсорном экране происходят в верхнем левом углу - всего несколько пикселей влево / вправо / вверх / вниз независимо от жеста (пролистывание). Все сенсорные экраны получают события. Все жесты меняются местами - при пролистывании влево указатель направляется вправо; когда проведите пальцем вверх, указатель опустится вниз.
Настройка 2
touch.deviceType = pointer
touch.gestureMode = pointer
При этой настройке (2), как и ожидалось, она показывает указатель, расположенный в позиции от последнего левого указателя устройства (мыши). Все жесты на сенсорном экране (независимо от размера пролистывания) продолжают работать подобно настройке 1 - перемещать только несколько пикселей с каждым событием пролистывания и с обращенной осью.
Настройка 3
touch.deviceType = pointer
touch.gestureMode = spots
При этой настройке (3) результат такой же, как при настройке 2. Я просто сделал это, чтобы доказать, что файл IDC интерпретируется правильно.
На этом этапе, как вы можете проверить, у меня есть рабочий файл IDC (настройка 1), требующий калибровки для этого сенсорного устройства.
Я перепробовал множество комбинаций из других файлов IDC (примеры из интернета) и из Android-источника - IDC - ЛЮБОЙ ДРУГОЙ ЭФФЕКТ СОБСТВЕННОСТИ СДЕЛАН (НЕ ОДИН ОДИН) - raw.*
, output.*
, touch.size.*
Кто-нибудь знает, как правильно откалибровать сенсорный экран в Android, который мог бы помочь мне в этом процессе?
Спасибо
1 ответ
Тоже самое,
но мое приложение калибровки ничего не делало.
Через некоторое время, читая /system/etc/init.sh, я обнаружил следующее: " mkdir -p /data/misc/tscal touch /data/misc/tscal/pointercal chown 1000.1000 /data/misc/tscal /data/misc/tscal/* chmod 775 /data/misc/tscal chmod 664 /data/misc/tscal/pointercal "
Просто запустите эти команды вручную, перезагрузите компьютер и запустите приложение калибровки.