Bug 16397

Summary: XINPUT events have the wrong state values
Product: xorg Reporter: Rob Bradford <rob>
Component: Server/Input/CoreAssignee: Daniel Stone <daniel>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: pippin
Version: 7.3 (2007.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 7913    
Attachments:
Description Flags
Updated xitest.c that report state. none

Description Rob Bradford 2008-06-17 10:20:40 UTC
Created attachment 17198 [details]
Updated xitest.c that report state.

I guess the fix is related to the fix for #16289

The events from non-core "pointer" return the state of the core pointer.

e.g. If I hold down button 1 and move the extension mouse I get a state of zero. If i hold down button 1 on the core mouse and move the extension I get the state from the core being reported on the extension.

I've attached an updated version of my xitest.c program.
Comment 1 Daniel Stone 2008-06-17 10:30:06 UTC
Sorry, can't fix until Xi 3:
'The state component gives the logical state of the buttons on the core X pointer and modifier keys on the core X keyboard just before the event.'
Comment 2 Peter Hutterer 2008-06-19 03:51:17 UTC
On Tue, Jun 17, 2008 at 10:30:07AM -0700, bugzilla-daemon@freedesktop.org wrote:
> Sorry, can't fix until Xi 3:
> 'The state component gives the logical state of the buttons on the core X
> pointer and modifier keys on the core X keyboard just before the event.'

Actually, this is changed in current master. Look at ProcessOtherEvents. The
state component gives the logical state of the buttons on the device, and the
modifier keys on the appropriate master device (if applicable).  I should
probably update the specs there.
Comment 3 Peter Hutterer 2008-06-22 01:48:46 UTC
Specs are updated, calling this bug as fixed for XI 2.

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.