Bug 53037 - Device coordinate scaling breaks XWarpPointer requests
Summary: Device coordinate scaling breaks XWarpPointer requests
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Input/Core (show other bugs)
Version: 7.7 (2012.06)
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-01 12:34 UTC by Michele Corazza
Modified: 2012-08-28 22:19 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Test for the issue from the kde bug. (1015 bytes, text/x-c++src)
2012-08-01 12:34 UTC, Michele Corazza
no flags Details
0001-dix-work-around-scaling-issues-during-WarpPointer-53.patch (2.86 KB, patch)
2012-08-10 07:43 UTC, Peter Hutterer
no flags Details | Splinter Review

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.