LINUX.ORG.RU

Тач не ловится.

 


0

1

Итак есть железка FrendlyARM tiny210v2 c тачем ft5x0x_ts

По cat /dev/input/event2 и evtest /dev/input/event2 определяется и нажатия ловятся

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      fa_ts_input
/dev/input/event1:      mma7660
/dev/input/event2:      ft5x0x_ts
Select the device event number [0-2]: 2
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x12fa product 0x2143 version 0x100
Input device name: "ft5x0x_ts"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
  Event type 3 (EV_ABS)
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      255
    Event code 50 (ABS_MT_WIDTH_MAJOR)
      Value      0
      Min        0
      Max      200
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max      800
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      480
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max        5
Properties:
Testing ... (interrupt to exit)
<?xml version="1.0" encoding="ISO-8859-1"?>
<evtest-capture>
    <info>
        <id bus="0x18" vendor="0x12fa" product="0x2143" version="0x100">ft5x0x_ts</id>
        <event-type type="EV_SYN"/>
        <event-type type="EV_KEY"/>
        <event-type type="EV_ABS">
            <code value="ABS_MT_TOUCH_MAJOR" abs-value="0" abs-min="0" abs-max="255" abs-fuzz="0" abs-flat="0" abs-resolution="0"/>
            <code value="ABS_MT_WIDTH_MAJOR" abs-value="0" abs-min="0" abs-max="200" abs-fuzz="0" abs-flat="0" abs-resolution="0"/>
            <code value="ABS_MT_POSITION_X" abs-value="0" abs-min="0" abs-max="800" abs-fuzz="0" abs-flat="0" abs-resolution="0"/>
            <code value="ABS_MT_POSITION_Y" abs-value="0" abs-min="0" abs-max="480" abs-fuzz="0" abs-flat="0" abs-resolution="0"/>
            <code value="ABS_MT_TRACKING_ID" abs-value="0" abs-min="0" abs-max="5" abs-fuzz="0" abs-flat="0" abs-resolution="0"/>
        </event-type>
    </info>
    <events>
        <event sec="59001" usec="238755" type="EV_ABS" code="ABS_MT_POSITION_X" value="377"/>
        <event sec="59001" usec="238763" type="EV_ABS" code="ABS_MT_POSITION_Y" value="242"/>
        <event sec="59001" usec="238766" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="238768" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="0"/>
        <event sec="59001" usec="238769" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="238770" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59001" usec="261949" type="EV_ABS" code="ABS_MT_POSITION_X" value="377"/>
        <event sec="59001" usec="261952" type="EV_ABS" code="ABS_MT_POSITION_Y" value="242"/>
        <event sec="59001" usec="261954" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="261956" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="0"/>
        <event sec="59001" usec="261957" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="261958" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59001" usec="286978" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="286981" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59001" usec="947576" type="EV_ABS" code="ABS_MT_POSITION_X" value="213"/>
        <event sec="59001" usec="947579" type="EV_ABS" code="ABS_MT_POSITION_Y" value="224"/>
        <event sec="59001" usec="947581" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="947583" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="0"/>
        <event sec="59001" usec="947584" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="947586" type="EV_ABS" code="ABS_MT_POSITION_X" value="549"/>
        <event sec="59001" usec="947587" type="EV_ABS" code="ABS_MT_POSITION_Y" value="232"/>
        <event sec="59001" usec="947589" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="947591" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="1"/>
        <event sec="59001" usec="947593" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="947594" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59001" usec="970447" type="EV_ABS" code="ABS_MT_POSITION_X" value="213"/>
        <event sec="59001" usec="970450" type="EV_ABS" code="ABS_MT_POSITION_Y" value="224"/>
        <event sec="59001" usec="970452" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="970454" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="0"/>
        <event sec="59001" usec="970455" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="970456" type="EV_ABS" code="ABS_MT_POSITION_X" value="549"/>
        <event sec="59001" usec="970458" type="EV_ABS" code="ABS_MT_POSITION_Y" value="232"/>
        <event sec="59001" usec="970460" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="970462" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="1"/>
        <event sec="59001" usec="970463" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="970464" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59001" usec="994199" type="EV_ABS" code="ABS_MT_POSITION_X" value="213"/>
        <event sec="59001" usec="994202" type="EV_ABS" code="ABS_MT_POSITION_Y" value="224"/>
        <event sec="59001" usec="994204" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="994206" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="0"/>
        <event sec="59001" usec="994207" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="994209" type="EV_ABS" code="ABS_MT_POSITION_X" value="549"/>
        <event sec="59001" usec="994210" type="EV_ABS" code="ABS_MT_POSITION_Y" value="232"/>
        <event sec="59001" usec="994212" type="EV_ABS" code="ABS_MT_TOUCH_MAJOR" value="200"/>
        <event sec="59001" usec="994214" type="EV_ABS" code="ABS_MT_TRACKING_ID" value="1"/>
        <event sec="59001" usec="994215" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59001" usec="994216" type="EV_SYN" code="EV_SYN" value="0"/>
        <event sec="59002" usec="17105" type="EV_SYN" code="EV_REL" value="0"/>
        <event sec="59002" usec="17107" type="EV_SYN" code="EV_SYN" value="0"/>
    </events>
</evtest-capture>

Но xinput его не ловит:

Loading extension GLX
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ fa_ts_input id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]

Попытался прописать жёстко:

cat /usr/share/X11/xorg.conf.d/20-evdev-touchscreen.conf
    Section "InputDevice"
        Identifier "touchscreen"
        Driver "evdev"
        Option "Device" "/dev/input/event2"
        Option "DeviceName" "touchscreen"
        Option "MinX" "0"
        Option "MinY" "0"
        Option "MaxX" "800"
        Option "MaxY" "480"
#        Option "ReportingMode" "Raw"
        Option "Emulate3Buttons" "false"
        Option "Emulate3Timeout" "50"
#        Option "SendCoreEvents" "On"
        Option "ScreenNo" "0"
        Option "Device" "hidraws"
    EndSection


    Section "ServerLayout"
        Identifier  "Default Layout"
        InputDevice "touchscreen"   "CorePointer"   
    EndSection

Запускаем иксы - включаются. Тыкаем по тачу - креш.

(EE) 
(EE) Backtrace:
(EE) 
(EE) Segmentation fault at address 0x0
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: ../../os/log.c:484 in LogVMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or ErrorFSigSafe().
The offending log format message is:

Fatal server error:

(EE) 
(EE) Backtrace:
(EE) 

Fatal server error:
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: ../../os/log.c:484 in LogVMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or ErrorFSigSafe().
The offending log format message is:
Caught signal %d (%s). Server aborting

(EE) 
(EE) Backtrace:
(EE) 
Caught signal 11 (Segmentation fault). Server aborting
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: ../../os/log.c:484 in LogVMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or ErrorFSigSafe().
The offending log format message is:


(EE) 
(EE) Backtrace:
(EE) 
(WW) Warned 3 times about sigsafe logging. Will be quiet now.

(EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
(EE) 
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: ../../os/log.c:588 in LogVHdrMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe().
The offending header and log message formats are:
%s: %s:  Close

(EE) 
(EE) Backtrace:
(EE) 
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: ../../os/log.c:588 in LogVHdrMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe().
The offending header and log message formats are:
%s: %s:  Close

(EE) 
(EE) Backtrace:
(EE) 
Server terminated with error (1). Closing log file.
xinit: connection to X server lost
xauth: (argv):1:  bad display name "tiny210v2:1" in "remove" command

Куда копать? И да он по идее то мультитач....может поэтому ?

★★★

Так. Тут было верно мои предположения драйвер multitouch работает и ни чего не крешится...но тач работает как мышка :)

chapay ★★★ ()
Ответ на: комментарий от chapay
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      255
    Event code 50 (ABS_MT_WIDTH_MAJOR)
      Value      0
      Min        0
      Max      200
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max      800
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      480
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max        5

у тебя такая же беда как и у меня. драйвер отдает что может только ABS_MT а надо ABS для корректного детекта.

exception13 ★★★★★ ()
Ответ на: комментарий от chapay

работает да. но udev не понимает что устройство с ABS_MT это тачскрин.

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