Multiple clicks with touchscreen

Kerrick Staley mail at kerrickstaley.com
Thu Aug 11 20:31:20 PDT 2011


On Thu, Aug 11, 2011 at 4:50 PM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> judging from that, the problem isn't in your config, it seems to be your
> kernel driver. evtest should show you if you get two events per click
> instead of one.

I tried running evtest and then tapping the touchscreen both before
running xinput (when the problem does not occur) and after running
xinput (after which the problem does occur). The outputs were nearly
identical; only the timestamps and the screen positions changed. In both
cases, there are two "Key" events: one on tap and one on release. Here
is some evtest output taken after running xinput (the issue was
occurring when this output was taken):

IInput driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x408 product 0x3001 version 0x110
Input device name: "QUANTA OpticalTouchScreen"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value   1527
      Min        0
      Max     1920
    Event code 1 (Y)
      Value    587
      Min        0
      Max     1080
    Event code 53 (Position X)
      Value      0
      Min        0
      Max     1920
    Event code 54 (Position Y)
      Value      0
      Min        0
      Max     1080
    Event code 57 (Tracking ID)
      Value      0
      Min        0
      Max        1
  Event type 4 (Misc)
    Event code 4 (ScanCode)
Testing ... (interrupt to exit)
Event: time 1313119227.376083, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.376087, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.376089, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.376090, -------------- Config Sync ------------
Event: time 1313119227.376092, type 1 (Key), code 330 (Touch), value 1
Event: time 1313119227.376093, type 3 (Absolute), code 0 (X), value 1441
Event: time 1313119227.376095, type 3 (Absolute), code 1 (Y), value 595
Event: time 1313119227.376102, -------------- Report Sync ------------
Event: time 1313119227.384095, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.384097, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.384099, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.384101, -------------- Config Sync ------------
Event: time 1313119227.384110, -------------- Report Sync ------------
Event: time 1313119227.392084, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.392086, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.392088, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.392089, -------------- Config Sync ------------
Event: time 1313119227.392098, -------------- Report Sync ------------
Event: time 1313119227.400083, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.400085, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.400086, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.400088, -------------- Config Sync ------------
Event: time 1313119227.400096, -------------- Report Sync ------------
Event: time 1313119227.408083, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.408085, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.408087, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.408088, -------------- Config Sync ------------
Event: time 1313119227.408096, -------------- Report Sync ------------
Event: time 1313119227.416083, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.416085, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.416087, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.416088, -------------- Config Sync ------------
Event: time 1313119227.416096, -------------- Report Sync ------------
Event: time 1313119227.424092, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.424095, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.424096, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.424098, -------------- Config Sync ------------
Event: time 1313119227.424107, -------------- Report Sync ------------
Event: time 1313119227.432088, type 3 (Absolute), code 57 (Tracking ID), value 0
Event: time 1313119227.432090, type 3 (Absolute), code 53 (Position
X), value 1441
Event: time 1313119227.432091, type 3 (Absolute), code 54 (Position
Y), value 595
Event: time 1313119227.432093, -------------- Config Sync ------------
Event: time 1313119227.432101, -------------- Report Sync ------------
Event: time 1313119227.472108, type 1 (Key), code 330 (Touch), value 0
Event: time 1313119227.472113, -------------- Report Sync ------------

The issue disappears when I use xinput to set the coordinate
transformation matrix back to an identity matrix, but then the clicks
happen in the wrong place.

In an unrelated question, when I use xinput to disable the "Virtual
core XTEST pointer", Xorg segfaults when I click the mouse. Is this a
bug? The command line is
$ xinput set-prop 'Virtual core XTEST pointer' --type=int 'Device Enabled' 0

Thanks,
Kerrick Staley



More information about the xorg mailing list