Я борюсь с калибровкой сенсорного экрана на платформе Android.
Это USB-сенсорный экран с одним касанием от поставщика 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, который мог бы помочь мне в этом процессе?
Спасибо