touchscreens in multiscreen setups

Peter Hutterer peter.hutterer at
Thu Dec 17 21:04:48 PST 2009

late reply, but better than never I suppose...

On Mon, Aug 03, 2009 at 03:23:39PM +0200, Peter Korsgaard wrote:
> How are touchscreens in multiscreen setups supposed to work nowadays?
> The issue with touchscreens is that their input events have to be
> transformed according to configuration of the screen they are
> physically connected to.
> For a concrete example, I have a dual screen setup with nextwindow USB
> (HID) touchscreens. This used to work nicely with the evtouch driver,
> where you could configure each touchscreen to bind to a specific
> screen number in xorg.conf, which evtouch would then use to deliver
> the input events transformed to that screen.
> Now, with xrandr instead of Xinerama there is only one screen and the
> above doesn't work (the coordinates gets scaled to the entire screen
> instead of the individual outputs).
> What is the suggested solution for this? Add randr output tracking to
> evtouch or should evdev handle this instead?

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

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.

Keith, any comments to either one?


More information about the xorg mailing list