Bug 53037

Summary: Device coordinate scaling breaks XWarpPointer requests
Product: xorg Reporter: Michele Corazza <ashmikuz>
Component: Server/Input/CoreAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: ashmikuz, peter.hutterer, s_chriscollins
Version: 7.7 (2012.06)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Test for the issue from the kde bug.
none
0001-dix-work-around-scaling-issues-during-WarpPointer-53.patch none

Description Michele Corazza 2012-08-01 12:34:47 UTC
Created attachment 65029 [details]
Test for the issue from the kde bug.

As in the description above, XWarpPointer requests are not handled correctly.
This was noticed in a kde bug (https://bugs.kde.org/show_bug.cgi?id=301777) related to the active corner feature. 
An user has provided a small program to test the behaviour (attached here).
Executing the test below, some of the cursor locations are wrong. This is the output I get from the test:

cursor is now at QPoint(199,200) should be QPoint(200,200) 
cursor is now at QPoint(0,0) should be QPoint(0,0) 
cursor is now at QPoint(0,0) should be QPoint(1,1) 
cursor is now at QPoint(0,0) should NOT be QPoint(-1,-1) 
cursor is now at QPoint(0,0) should be QPoint(0,0) 
cursor is now at QPoint(2,2) should be QPoint(2,2) 

I am using Arch linux on a dell studio 1555, kernel version 3.4.7. My touchpad is a SynPS/2 Synaptics TouchPad according to Xorg.0.log.

Steps to reproduce:

1)Compile the c++ source attached
2)Run it

Expected result:

The expected and actual locations are the same

Actual result:

They differ for some locations
Comment 1 Stuart Hickinbottom 2012-08-02 07:39:40 UTC
This also affects me (I arrived here from the original KDE-filed bug):

- Synaptics touchpad ("SynPS/2 Synaptics TouchPad" according to Xorg.log)
- ThinkPad T520
- Fedora 17, 64 bit
- KDE
- xorg-x11-drv-synaptics 1.6.2
Comment 2 Peter Hutterer 2012-08-10 07:43:25 UTC
Created attachment 65371 [details] [review]
0001-dix-work-around-scaling-issues-during-WarpPointer-53.patch

tentative patch
Comment 3 Peter Hutterer 2012-08-28 22:19:54 UTC
commit bafbd99080be49a17be97d2cc758fbe623369945
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 8 11:34:32 2012 +1000

    dix: work around scaling issues during WarpPointer (#53037)

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.