Touchscreen on embedded Linux can't tap / click

Walter Hofstädtler walter at hofstaedtler.com
Sat May 28 11:13:03 UTC 2016


Hi,

 
I use a 7" display with resistive touchscreen, embedded Linux for ARM CPU. Manufacturer Engicam, design is similar to Freescale / NXP i.MX6 Sabre board.

 
With Yocto 1.7.3 and Engicam board support package I created an X11 application, basically a Firefox browser. Most of this application work with one exception: I can't tap / click on any item. When I touch the screen and move around, cursor will follow my finger, unfortunately a tap / click will not work. I searched with Google and find some tips but nothing solved this issue.

 
Kernel: Linux display 3.10.17-1.0.2_ga+g33597e3 #1 SMP PREEMPT Sun May 22 20:00:34 CEST 2016 armv7l GNU/Linux

 
Doing some debugging, I found that ts_test gets the BTN_TOUCH events but evtest do *not* see any BTN_TOUCH events. 

 
 
# evtest

No device specified, trying to scan all of /dev/input/event*

Available devices:

/dev/input/event0:      max11801_ts

Select the device event number [0-0]: 0

Input driver version is 1.0.1

Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0

Input device name: "max11801_ts"

Supported events:

  Event type 0 (EV_SYN)

  Event type 1 (EV_KEY)

    Event code 330 (BTN_TOUCH)

  Event type 3 (EV_ABS)

    Event code 0 (ABS_X)

      Value   1308

      Min        0

      Max     4095

    Event code 1 (ABS_Y)

      Value    476

      Min        0

      Max     4095

    Event code 24 (ABS_PRESSURE)

      Value      0

      Min        0

      Max        1

Properties:

Testing ... (interrupt to exit)

Event: time 1464027536.266584, type 3 (EV_ABS), code 0 (ABS_X), value 1167

Event: time 1464027536.266584, type 3 (EV_ABS), code 1 (ABS_Y), value 2282

Event: time 1464027536.266584, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 1

Event: time 1464027536.266584, -------------- EV_SYN ------------

Event: time 1464027536.282916, type 3 (EV_ABS), code 0 (ABS_X), value 1168

Event: time 1464027536.282916, -------------- EV_SYN ------------

Event: time 1464027536.299472, type 3 (EV_ABS), code 0 (ABS_X), value 1169

Event: time 1464027536.299472, -------------- EV_SYN ------------

Event: time 1464027536.315900, type 3 (EV_ABS), code 0 (ABS_X), value 1171

Event: time 1464027536.315900, type 3 (EV_ABS), code 1 (ABS_Y), value 2281

Event: time 1464027536.315900, -------------- EV_SYN ------------

Event: time 1464027536.340587, type 3 (EV_ABS), code 0 (ABS_X), value 1172

Event: time 1464027536.340587, -------------- EV_SYN ------------

Event: time 1464027536.348821, type 3 (EV_ABS), code 0 (ABS_X), value 1173

Event: time 1464027536.348821, -------------- EV_SYN ------------

Event: time 1464027536.357047, type 3 (EV_ABS), code 0 (ABS_X), value 1174

Event: time 1464027536.357047, type 3 (EV_ABS), code 1 (ABS_Y), value 2283

Event: time 1464027536.357047, -------------- EV_SYN ------------

Event: time 1464027536.365190, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0

Event: time 1464027536.365190, -------------- EV_SYN ------------

 
While capturing this output, I touched the screen but I did *not* get BTN_TOUCH events.

 
# TSLIB_TSDEVICE=/dev/input/touchscreen0 ts_test

1464048778.716232:    399    239      1

1464048778.724452:    399    239      1

1464048778.732621:    399    239      1

1464048778.740965:    399    238      1

1464048778.749177:    399    237      1

1464048778.757422:    399    236      0

 
Fortunately ts_test gets BTN_TOUCH events, I assume last column are the BTN_TOUCH events.

 
Worth to mention, ts_calibrate works (I am able to tap / click) but xinput_calibrator do not work, cursor follows pen but do not accept tap / click.

 
As evtest do not see the BTN_TOUCH events I assume X11 will also not see BTN_TOUCH events so I can't tap / click in X11.

 
Question why evtest do not see the BTN_TOUCH events? Is this an configuration issue or a bug? 

 
Any help would be greatly appreciated.

 
With best regards

Walter 

 
 


More information about the Input-tools mailing list