RFC: multitouch support v2
michaelh at openismus.com
Thu Dec 22 12:02:54 PST 2011
On Thu, 2011-12-22 at 11:40 -0800, Chase Douglas wrote:
> >> Off the top of my head, I would think Wayland should automatically
> >> create the equivalent of X master pointer devices for each touchscreen
> >> device. There shouldn't be a sprite for touchscreens, though the WM
> >> could do fancy effects like MS Surface if you wanted it to.
> > Right... in the MPX sense, right? So you could have a keyboard and
> > mouse combo controlling one pointer/kb focus and the touch screen
> > being its own master device. Then maybe you could have one person
> > using the touch screen UI, and another person using the kb/mouse
> > combo. That's kind of far fetched, of course, but I think the main
> > point is that there's no inherent association between a kb/mouse combo
> > and a touch screen. On the other hand, what about a setup with two
> > mouse/kb combos (master devices) and a touch screen... you'd expect
> > tapping a window on the touch screen to set kb focus, but if you have
> > multiple master kbs, which kb focus do you set? Maybe we're just
> > doomed for trying to make both pointer and direct touch interaction
> > work in the same UI.
> In the past I've tried to think of a good solution for this. I haven't
> had enough time to come up with one yet :). I wouldn't advocate holding
> up all of wayland to get this right, but I do think it needs to be
> rethought from the ground up long term.
My proposal: Forget briefly about focus. Instead, keyboards and mice get
registered to a surface, and if you touch that surface, it activates the
registered keyboards and mice. If you registered multiple keyboards/mice
to the same surface, then yes, all of them become active at the same
time. This should, however, be the exception (depending on the UX
design). Even on a multi-user setup, I would expect users to their own
work areas (surfaces) to interact with.
The whole idea of single focus widgets does not seem to work with multi
input, so how about just giving up on this (artificial?) constraint?
More information about the wayland-devel