Public bug reported:

On system with several X screens on same server, e.g.  several GPU cards that 
doesn't support functions similar to TwinView or BaseMosaic of NVIDIA, evdev 
doesn't map coordinates of touch events properly.
For example if  on server :0 there are  two displays  connected to one GPU as 
screen 0 (:0.0) , using TwinView,  and third connected to second GPU as screen 
1 (:0.1) set below of screen 0.

1st display  1920x1080 +0+0
2nd: 1920x1080 +0+1080
3nd: 1920x1080 +0+2160

All three are touchscreens, mapped with coordinate transformation
matrices, like this:

Section "InputClass"
        Identifier      "Touch1"
        MatchIsTouchscreen      "on"
        MatchTag        "ctouch-1"
        Option  "TransformationMatrix"  "1 0 0 0 0.3333 0 0 0 1"
        Driver  "evdev"
EndSection

Section "InputClass"
        Identifier      "Touch2"
        MatchIsTouchscreen      "on"
        MatchTag        "ctouch-2"
        Option  "TransformationMatrix"  "1 0 0 0 0.3334 0.3333 0 0 1"
        Driver  "evdev"
EndSection

Section "InputClass"
        Identifier      "Touch3"
        MatchIsTouchscreen      "on"
        MatchTag        "ctouch-3"
        Option  "TransformationMatrix"  "1 0 0 0 0.3333 0.6667 0 0 1"
        Driver  "evdev"
EndSection

Two upper touchscreen work as intended, if I touch third,  cursor got
placed on bottom edge of display. Same hardware, displays arranged in
horizontal pattern from left to right, result in cursor clinging  on
rightmost edge. Relative coordinates pointer device, like mouse, work
perfectly with no err. It loos like evdev reports global coordinates
instead of calculating coordinates relative to origin of second X
screen, and they get restrained by actual size of that screen. I.e. it
reported {x=500, y=2200}  instead of {x=500, y =40}.

 I just realized that could confirm that theory, by attaching two
displays to second GPU, while having only one connected to first . In
that case  if I'm right,  while touching second screen , cursor appeared
on corresponding spot of third one. Can't check it until next Monday
now.

** Affects: xserver-xorg-input-evdev (Ubuntu)
     Importance: Undecided
         Status: 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/1395195

Title:
  Evdev doesn't map touch coordinates properly to secondary X screens

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/1395195/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to