[Wayland-bugs] [Bug 99914] Combined Keyboard+Mouse+Touchpad device problems
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Feb 23 21:57:26 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=99914
Peter Hutterer <peter.hutterer at who-t.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|wayland-bugs at lists.freedesk |peter.hutterer at who-t.net
|top.org |
Product|Wayland |xorg
Component|libinput |Input/libinput
QA Contact| |xorg-team at lists.x.org
--- Comment #10 from Peter Hutterer <peter.hutterer at who-t.net> ---
(In reply to Gergely Nagy from comment #9)
> (In reply to Peter Hutterer from comment #7)
>
> > 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).
>
> Yeah, the abs events are ignored, that's why I tried to hack the xorg driver
> a bit, to at least let it through.
>
> So, if I understand correctly, if I separated the rel & abs mouse stuff,
> into two different nodes, then both of them should work? (Assuming the
> absolute mouse part reports itself properly)
yes. This is more of an X problem than a libinput problem because, well, 30
years ago a device couldn't be a pointer and a touchscreen at the same time ;)
that's stereotyping it of course, but at least it's more fun than the real
reasons
if you look at the xf86-input-libinput code you'll notice we split devices with
keyboard & pointer on the same node into two X devices and route the events
accordingly. same reason, basically.
> > 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 :)
>
> There are two keyboards in the making with this firmware (the Shortcut[0],
haha, I thought Shortcut was just a leftover like "ToBeFilledIn" :)
> and the Keyboardio Model 01[1]), with hopefully more to follow. If you think
> it would be worth it, I can try digging into xf86-input-libinput, to try and
> add support for both abs and rel devices. If not, then I'll try to make the
> firmware report the two parts as two nodes.
I only worked on this a couple of days ago but didn't finish it. Please
continue from here, it has most of the infrastructure in place but needs the
actual testing and detail work:
https://github.com/whot/xf86-input-libinput/tree/wip/split-absrel-pointers
> Understood. So, it appears this is not a libinput thing, but an
> xf86-input-libinput limitation. And there are two options going forward:
>
> - Report the keyboard+mouse parts as one device, absmouse as another, and
> hope for the best.
for general compatilibity, this is the best option
> - Improve xf86-input-libinput to handle the rel+abs on the same node case.
>
> Either way, this issue is not with libinput, and can be closed, I suppose.
> Thanks a lot for your help, it's much clearer now how this whole thing
> works! I'll experiment with both options, and if it comes to that, will open
> an issue on xf86-input-libinput.
don't worry about it, I'll just reassign this one.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20170223/e5df14dc/attachment-0001.html>
More information about the wayland-bugs
mailing list