Touch events appear offset with presence of a second monitor

Ben Gamari ben at smart-cactus.org
Sun Jan 4 19:07:25 PST 2015


Peter Hutterer <peter.hutterer at who-t.net> writes:

> On Sun, Jan 04, 2015 at 08:46:17PM -0500, Ben Gamari wrote:
>> 
>> Hi Peter,
>> 
>> Peter Hutterer <peter.hutterer at who-t.net> writes:

[snip]
>> >
>> > yes, supposed to be handled by the rest of the stack. the X server doesn't
>> > change the matrix, it only reads it. and translations are handled on
>> > absolute devices, but they're just ignored for relative devices.
>> >
>> Hmm, still not sure I see how translations are handled. How does the
>> server know which output the input device is supposed to "follow"?
>
> it doesn't. the server takes all outputs' offsets and dimensions and merges
> it into one area. then it maps the transformation matrix to that area and
> re-converts that into screen coordinates for the event data, etc.
>
> if you want to map a device to the right of two identically sized monitors,
> you need a matrix of 
>   0.5 0 0.5
>   0   1 0
>   0   0 1
>
Oh dear, yes, of course. I somehow had it in my mind that this was a
three-dimensional transform and therefore wasn't able to encode
translations.

> it's the client's job to guess which monitor is which and calculate the
> matrix accordingly.
>
Thanks!

- Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20150104/d21e8c39/attachment-0001.sig>


More information about the xorg mailing list