<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Combined Keyboard+Mouse+Touchpad device problems"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99914#c7">Comment # 7</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Combined Keyboard+Mouse+Touchpad device problems"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99914">bug 99914</a>
from <span class="vcard"><a class="email" href="mailto:peter.hutterer@who-t.net" title="Peter Hutterer <peter.hutterer@who-t.net>"> <span class="fn">Peter Hutterer</span></a>
</span></b>
<pre>(In reply to Gergely Nagy from <a href="show_bug.cgi?id=99914#c4">comment #4</a>)
<span class="quote">> (In reply to Peter Hutterer from <a href="show_bug.cgi?id=99914#c3">comment #3</a>)
> > ok, there are a couple of issues here. The first one is that the device has
> > everything on the same event node. That's not something that libinput
> > handles well because historically the kernel split up the event nodes for us
> > into one for keyboard,one for touchpad, one for mouse (though we do handle
> > mouse+keyboard on the same node).
>
> FWIW, if I change the firmware to still report a 32k*32k resolution, but
> limit movement to ~960*550, everything works fine. So it seems three things
> on the same node is handled well.</span >
for all absolute events, libinput scales it based on the abs min/max values.
without BTN_TOOL_FINGER, the device won't be recognised as touchpad and default
to absolute pointer (similar to e.g. VM virtual mouse). That should work with
libinput, but the libinput xorg driver (should) ignore the abs events then, it
can only handle one type of pointer. once you add BTN_TOOL_FINGER it'll be a
touchpad and you'll lose the rel bits (and key bits).
all that aside, run libinput-debug-events for testing, that's easiest to figure
out what libinput does.
The output here for the new recording is:
-event7 DEVICE_ADDED Shortcut Shortcut seat0 default group10 cap:kp left
scroll-nat calib scroll-button
event7 POINTER_MOTION_ABSOLUTE +1.99s 25.00/ 25.00
event7 POINTER_MOTION_ABSOLUTE +3.90s 74.99/ 25.00
event7 POINTER_MOTION_ABSOLUTE +6.13s 25.00/ 74.99
event7 POINTER_MOTION_ABSOLUTE +8.02s 74.99/ 74.99
The numbers are relative to 100, so 75 means 75% of the axis.
btw, you don't have an axis resolution set, that's not good for an absolute
device.
The Xorg.log says:
Feb 23 19:29:37 jelly /usr/libexec/gdm-x-session[10694]: (EE) libinput:
Shortcut Shortcut: Discarding absolute event from relative device. Please file
a bug
so the device is detected, but xf86-input-libinput cannot handle both relative
and absoluute at the same time. That's a known bug, I tried to fix that the
other way but aside from your device there isn't really a true need for it
right now :)
<span class="quote">> All the REL_X/REL_Y events are results of me moving the mouse cursors with
> mouse keys, as opposed to the touchpad keys.</span >
right, I guess by now you realised that event recordings can only get one so
far ;)</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>