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 "

Просто запустите эти команды вручную, перезагрузите компьютер и запустите приложение калибровки.

Другие вопросы по тегам