Bug 92896

Summary: Split mixed devices into distinct pointer/keyboard devices
Product: xorg Reporter: Peter Hutterer <peter.hutterer>
Component: Input/libinputAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: niels_ole, peter.hutterer, r3pek, registo.mailling
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 49950    

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.