<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - ABS_MT_DISTANCE is not handled by libinput"
href="https://bugs.freedesktop.org/show_bug.cgi?id=101861">101861</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>ABS_MT_DISTANCE is not handled by libinput
</td>
</tr>
<tr>
<th>Product</th>
<td>Wayland
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>libinput
</td>
</tr>
<tr>
<th>Assignee</th>
<td>wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>zboszor@pr.hu
</td>
</tr></table>
<p>
<div>
<pre>I have to work with a new POS device with an USB eGalax touchscreen device,
VID:PID = 0x0eef:0x0001.
xf86-input-libinput provides a half working touchscreen experience, the X
cursor
follows my finger but taps are not registered as clicks.
I found with evtest that this device reports ABS_MT_DISTANCE = 0 when pressed
and ABS_MT_DISTANCE = 1 when not pressed, like this below:
# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Sleep Button
/dev/input/event3: Power Button
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: ID TECH TM3 Magstripe USB-HID Keyboard Reader
/dev/input/event6: Video Bus
/dev/input/event7: HID 04f3:0103
/dev/input/event8: HID 04f3:0103
/dev/input/event9: PC Speaker
/dev/input/event10: eGalax Inc. USB TouchController Pen
/dev/input/event11: eGalax Inc. USB TouchController
/dev/input/event12: HDA Digital PCBeep
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=7
Select the device event number [0-14]: 11
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x100
Input device name: "eGalax Inc. USB TouchController"
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 818
Min 0
Max 4095
Event code 1 (ABS_Y)
Value 3232
Min 0
Max 4095
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 0
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 4095
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 4095
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 59 (ABS_MT_DISTANCE)
Value 0
Min 0
Max 1
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1500585531.437703, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 826
Event: time 1500585531.437703, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2376
Event: time 1500585531.437703, type 3 (EV_ABS), code 59 (ABS_MT_DISTANCE),
value 0
Event: time 1500585531.437703, type 3 (EV_ABS), code 0 (ABS_X), value 826
Event: time 1500585531.437703, type 3 (EV_ABS), code 1 (ABS_Y), value 2376
Event: time 1500585531.437703, -------------- SYN_REPORT ------------
Event: time 1500585531.445689, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 824
Event: time 1500585531.445689, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2370
Event: time 1500585531.445689, type 3 (EV_ABS), code 0 (ABS_X), value 824
Event: time 1500585531.445689, type 3 (EV_ABS), code 1 (ABS_Y), value 2370
Event: time 1500585531.445689, -------------- SYN_REPORT ------------
Event: time 1500585531.451689, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 820
Event: time 1500585531.451689, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2356
Event: time 1500585531.451689, type 3 (EV_ABS), code 0 (ABS_X), value 820
Event: time 1500585531.451689, type 3 (EV_ABS), code 1 (ABS_Y), value 2356
Event: time 1500585531.451689, -------------- SYN_REPORT ------------
Event: time 1500585531.459688, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 814
Event: time 1500585531.459688, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2340
Event: time 1500585531.459688, type 3 (EV_ABS), code 0 (ABS_X), value 814
Event: time 1500585531.459688, type 3 (EV_ABS), code 1 (ABS_Y), value 2340
Event: time 1500585531.459688, -------------- SYN_REPORT ------------
Event: time 1500585531.465694, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 808
Event: time 1500585531.465694, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2326
Event: time 1500585531.465694, type 3 (EV_ABS), code 0 (ABS_X), value 808
Event: time 1500585531.465694, type 3 (EV_ABS), code 1 (ABS_Y), value 2326
Event: time 1500585531.465694, -------------- SYN_REPORT ------------
Event: time 1500585531.471692, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 804
Event: time 1500585531.471692, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2314
Event: time 1500585531.471692, type 3 (EV_ABS), code 0 (ABS_X), value 804
Event: time 1500585531.471692, type 3 (EV_ABS), code 1 (ABS_Y), value 2314
Event: time 1500585531.471692, -------------- SYN_REPORT ------------
Event: time 1500585531.479689, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 800
Event: time 1500585531.479689, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2304
Event: time 1500585531.479689, type 3 (EV_ABS), code 0 (ABS_X), value 800
Event: time 1500585531.479689, type 3 (EV_ABS), code 1 (ABS_Y), value 2304
Event: time 1500585531.479689, -------------- SYN_REPORT ------------
Event: time 1500585531.485694, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 798
Event: time 1500585531.485694, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 2296
Event: time 1500585531.485694, type 3 (EV_ABS), code 0 (ABS_X), value 798
Event: time 1500585531.485694, type 3 (EV_ABS), code 1 (ABS_Y), value 2296
Event: time 1500585531.485694, -------------- SYN_REPORT ------------
Event: time 1500585531.489682, type 3 (EV_ABS), code 59 (ABS_MT_DISTANCE),
value 1
Event: time 1500585531.489682, -------------- SYN_REPORT ------------
ABS_MT_DISTANCE is not handled with libinput's evdev methods.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>