[Bf-committers] New event system / MPX

Ettore Pasquini ettore_pasquini at 3dconnexion.com
Tue Jun 26 02:20:30 CEST 2007

On 6/25/07 5:59 AM, "mindrones" <mindrones at yahoo.it> wrote:

> There's a great interest in multitouch displays nowadays. IPhone has the pinch
> feature, and according to [1] and [2] Apple means to release multitouch
> displays in the future. So does Microsoft with "Surface".
> Trying to simulate those features with 2 mice, I've found and tried MPX,
> http://wearables.unisa.edu.au/mpx/
> a modification of the X Server [3], though I don't know if making this work
> can
> help with a future multitouch display :)
> It works well, supports multi-head setups, and seems a good collaborative tool
> [4]. On its live CD you can test it with up to 3 mice.

I think having multi-touch displays and in general a multi-pointer app could
be something very interesting. It would be useful to design some strong use
cases for blender.

> All this said, in your document [5] you say "Each view data change or update
> is
> handled by a single controller. The controller can handle more than one view",
> so from a non-programmer point of view, I have some questions.
> a) Will it be possible to have different controllers in different views?
> In this case, many interesting things could be done, for example having a
> pointer on a timeline and another on a model to be moved. Also, it would
> greatly help interaction in a team when discussing/working on a blender
> project.
> b) Would it be possible to have more than a controller for each view?

On the receiving end, handling multiple mouse events should be relatively
easy: a "pointer ID" in the mouse event is a start to make the distinction,
using the already existing event queues. The controller of the view will
process the different IDs accordingly just like any other event.

A distinction is also to be made: there are multi-touch events that
"collaborate" in creating a complex action (like the iPhone 2-finger zoom),
and there are other (simpler) events that are really just normal events
coming from multiple sources (like the MPX demo of moving and resizing a
window). The former case could be seen as one higher level event composed by
many lower lever events.

The main problem is sending these kind of events, as apparently no GUIs
framework can currently do that (is this true?)... Well beside MPX.


More information about the Bf-committers mailing list