touchscreens in multiscreen setups
keithp at keithp.com
Thu Dec 17 21:27:07 PST 2009
On Fri, 18 Dec 2009 15:04:48 +1000, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> there's two parts to it:
> - xf86InputSetScreen seems broken, this should be fixed in the server.
> though it's probably optimised for the Xinerama scenario, I think it
> should be possible to set it up for randr output or CRTC tracking in a
> similar manner.
It would need to be tied to an output, not a crtc. And, what we'd need
to do is let the input device know which output it is associated with,
and then provide a helper function to translate coordinates relative to
that output. That could deal with output transforms as well. I don't see
how xf86XInputSetScreen has much to do with this though, other than
having that be used as a hint to go lookup the output property in the
> - randr notification. with screens being added and removed, there's no
> driver interface that I know of that input drivers can use to get notified
> about this stuff. Obviously the simple thing to do would be to handle this
> stuff in the server - if a screen goes away the device defaults back to
> whatever screen is still there. this would be without the driver knowing
> though - not ideal.
It seems like xf86PostMotionEventP could deal with this internally,
by having the device know which output it was associated with and having
that code deal with finding the transform and doing the right
thing. Input devices not associated with an output would not be
transformed, and input devices associated with disabled outputs could
either be ignored (?) or have their output untransformed.
> I don't think either is a particularly large undertaking, so it's worth
> tackling if you have the hardware and the test setups to actually do
It seems like this could be isolated entirely within the xf86 code, not
touching either DIX or the device drivers.
All of this is fairly ill-informed speculation at this point; I haven't
dealt with Xinput at this level much.
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the xorg