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