Bug 92896 - Split mixed devices into distinct pointer/keyboard devices
Summary: Split mixed devices into distinct pointer/keyboard devices
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/libinput (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 49950
  Show dependency treegraph
 
Reported: 2015-11-10 22:16 UTC by Peter Hutterer
Modified: 2015-11-22 21:29 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Peter Hutterer 2015-11-10 22:16:24 UTC
A device that's both a pointer and a keyboard device confuses the server with its strict pointer/keyboard separation, see Bug 49950 amongst others.

The only viable solution appears to be to split the devices at the driver level into a keyboard and a pointer component, then send the events accordingly.
Comment 1 Peter Hutterer 2015-11-11 00:32:24 UTC
Some preliminary patches here:
https://github.com/whot/xf86-input-libinput/tree/wip/pointer-keyboard-split

Note that this is a first version, it may still be buggy though it seems to work fine here. If you can test this let me know, especially whether it really fixes Bug 49950.
Comment 2 Niels Ole Salscheider 2015-11-11 07:54:22 UTC
This seems to work for me. The keyboard is exposed as two devices to the xserver and I couldn't find any regressions.
Comment 3 Peter Hutterer 2015-11-17 05:24:05 UTC
turns out the original one had a regression in the systemd-logind case. I pushed a new version, please test this one too, thanks.

https://github.com/whot/xf86-input-libinput/tree/wip/pointer-keyboard-split
Comment 4 Niels Ole Salscheider 2015-11-17 06:46:01 UTC
The current tree also works fine here.
Comment 5 Peter Hutterer 2015-11-19 22:46:33 UTC
commit c943739a2bfd4c380db0b21bc35b73deb7496c8a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 10:10:58 2015 +1000

    Split mixed pointer/keyboard devices into two separate X devices
Comment 6 Peter Hutterer 2015-11-22 21:29:32 UTC
had to revert the original patch, updated version is 

commit 1f43f3921f6ceebd9a0cb92ef998a930d5fc3a3e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 10:10:58 2015 +1000

    Split mixed pointer/keyboard devices into two separate X devices


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.