LINUX.ORG.RU

Поддержка multitouch(мультитач)-экрана в embedded Linux (Yocto 1.8 BSP)

 , ,


1

1

Здравствуйте.

Передо мной стоит задача обеспечения поддержки мультитач-контроллера Cypress TMA568 ядром Linux-3.10.53 и Yocto BSP. Компания Cypress была так добра, что выслала мне драйвер (CyTTSP Gen5) для этого контроллера, который я успешно интегрировал в ядро. Теперь я вижу /dev/input/event0, и, используя утилиту evtest, получаю следующий результат:

Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "cyttsp5_mt"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 325 (BTN_TOOL_FINGER)
    Event code 330 (BTN_TOUCH)
  Event type 2 (EV_REL)
  Event type 3 (EV_ABS)
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      255
    Event code 49 (ABS_MT_TOUCH_MINOR)
      Value      0
      Min        0
      Max      255
    Event code 52 (ABS_MT_ORIENTATION)
      Value      0
      Min     -127
      Max      127
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max      799
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      479
    Event code 55 (ABS_MT_TOOL_TYPE)
      Value      0
      Min        0
      Max        1
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max       15
    Event code 58 (ABS_MT_PRESSURE)
      Value      0
      Min        0
      Max      255
    Event code 59 (ABS_MT_DISTANCE)
      Value      0
      Min        0
      Max      255
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1448990980.205425, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1448990980.205425, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1448990980.205425, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0
Event: time 1448990980.205425, type 3 (EV_ABS), code 59 (ABS_MT_DISTANCE), value 0
Event: time 1448990980.205425, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 553
Event: time 1448990980.205425, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 262
Event: time 1448990980.205425, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 14
Event: time 1448990980.205425, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 90
Event: time 1448990980.205425, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 90
Event: time 1448990980.205425, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value -127
Event: time 1448990980.205425, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1448990980.205425, -------------- SYN_REPORT ------------
Event: time 1448990980.210238, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0
Event: time 1448990980.210238, type 3 (EV_ABS), code 59 (ABS_MT_DISTANCE), value 0
Event: time 1448990980.210238, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 553
Event: time 1448990980.210238, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 262
Event: time 1448990980.210238, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 14
Event: time 1448990980.210238, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 90
Event: time 1448990980.210238, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 90
Event: time 1448990980.210238, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value -127
Event: time 1448990980.210238, ++++++++++++++ SYN_MT_REPORT ++++++++++++

Однако, когда я ввожу команду xinput --list, я не вижу устройства «cyttsp5_mt» в списке доступных устройств ввода. Я пытался добавить запись о нём в xorg.xonf, однако, это мне не помогло. Фрагмент xorg.conf:

Section "InputClass"
    Identifier      "touchscreen"
    MatchProduct    "cyttsp5_mt"
    Driver  "multitouch"
    Option  "Device"        "/dev/input/event0"
    Option  "SwapAxes"      "0"
    Option  "CorePointer" "true"
EndSection

Прошу знающих людей подсказать мне, в какую сторону копать — из-за чего мой тачскрин не видится системой и, соответственно, не работает. Добавлю, что обычный резистивный не-мультитач тачскрин с этим же ядром и файловой системой работает отлично.

Лог ксорга не пробовал смотреть ?

anonymous ()
Ответ на: комментарий от anonymous

Да, спасибо, что обратили моё внимание, забыл упомянуть насчёт Xorg.0.log, потому что копировал сообщение с другого форума.

В записи, относящейся к файлу xorg.conf, есть ошибка. Сейчас она выглядит так:

Section "InputClass"
    Identifier          "touchscreen"
    MatchProduct        "cyttsp5_mt"
    MatchIsTouchScreen  "on"
    Driver  "mtev"
    Option  "Device"    "/dev/input/event0"
    Option  "Ignore"    "off"
EndSection

При этом в Xorg.0.log имеется запись:

[1601076.551] (II) config/udev: Adding input device cyttsp5_mt (/dev/input/event0)
[1601076.551] (II) No input driver specified, ignoring this device.

Драйвер mtev.so в папке /usr/lib/xorg/modules/input наличествует.

unbel13ver ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.