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