Touch events appear offset with presence of a second monitor

Ben Gamari ben at
Sun Jan 4 19:07:25 PST 2015

Peter Hutterer <peter.hutterer at> writes:

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

>> >
>> > 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

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

- Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <>

More information about the xorg mailing list