← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 573006] Re: Touch screen driver clicks at wrong location

 

** Description changed:

- On Lucid, the touch screen of my Latitude 2100 is no longer handled by
- evtouch, but some other touchscreen driver having the following bug:
+ Freeze Exception
+ -------------------
+ Some input devices provide information on proximity. For the X evdev module, X events are sent only while the device is in proximity. However, the kernel may send updates on the location of interaction while the device is not in proximity. One example is when a touch is lightly in contact with a resistive touchscreen. The kernel is sending coordinates, but X evdev doesn't pass them on until the kernel says the interaction has passed a pressure threshold and is now in good contact with the screen.
+ 
+ When the device goes into proximity, the last X and Y values at any time
+ must be used. These values may be sent in the same packet as the in
+ proximity data, or the values may have been sent while out of proximity.
+ The change here checks for each valuator value if it has been set in the
+ current packet along with the proximity change. If not, then it checks
+ if there was a value sent while out of proximity. This ensures that each
+ value is correctly handled, whereas before the change only the values
+ set along side the proximity change would be propagated through X.
+ 
+ Without this change, a user may touch one location of a touchscreen,
+ then touch a second location, and the X server will see the first touch
+ and then a second touch which begins at the location of the first touch
+ and is immediately dragged to the location of the second touch. With the
+ change, the X events are set properly.
+ 
+ The change fixes a logic error in the original masked valuators code
+ that I wrote and landed upstream. I believe the risk of regression to be
+ very low as the fix is self contained and easy to verify.
+ 
+ Original Bug Report
+ -------------------
+ On Lucid, the touch screen of my Latitude 2100 is no longer handled by evtouch, but some other touchscreen driver having the following bug:
  
  When I press my finger agains the screen, the expected behaviour is that the cursor clicks at the location where my finger is.
  However, it clicks at the location where the pointer currently is and _afterwards_ moves to the location of my finger, what of course results in a selection between the original and the new position.
  
  How can I find out which touchscreen driver is currently active?
  I'd like to have a look at it.

** Attachment added: "debdiff"
   https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/573006/+attachment/2041954/+files/debdiff

** Changed in: xserver-xorg-input-evdev (Ubuntu)
       Status: Fix Committed => New

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xserver-xorg-input-evdev in Ubuntu.
https://bugs.launchpad.net/bugs/573006

Title:
  Touch screen driver clicks at wrong location