Bug 20941

Summary: Kdrive xserver rotation of pointer wrong
Product: xorg Reporter: David Jander <david>
Component: Server/DDX/XephyrAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: patch
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 36141    
Attachments:
Description Flags
Fixes incomplete rotation matrix in KdEnqueuePointerEvent() none

Description David Jander 2009-03-30 02:15:25 UTC
Created attachment 24361 [details] [review]
Fixes incomplete rotation matrix in KdEnqueuePointerEvent()

When using kdrive xserver with a rotated display and a pointing device with absolute coordinates (like a touchscreen), the transformation matrix in KdEnqueuePointerEvent() works only for 0-degree rotation, the other 3 orientations have wrong offsets.

The following patch fixes this.
Comment 1 Jeremy Huddleston Sequoia 2011-10-03 17:00:20 UTC
Looks right to me.  I'm going to pull this into my tree and get it into 1.11 
eventually.
Comment 2 Jeremy Huddleston Sequoia 2011-10-14 16:49:03 UTC
Actually, this was already done.

commit d9bf52b4abd29a3c206cd1e765b680659ddac1c6
Author: David Jander <david.jander@protonic.nl>
Date:   Fri Apr 17 01:34:18 2009 -0400

    [kdrive] Fix rotation of pointer
    
    Rotation matrix for pointer coordinates was incomplete and pointers with
    absolute coordinates did not work correctly in xserver (kdrive) when the
    sceen was rotated other than by 0 degrees.
    
    Signed-off-by: David Jander <david.jander@protonic.nl>
    Signed-off-by: James Cloos <cloos@jhcloos.com>

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.