MPX multitouch driver for X server

This is something very cool, someone named Peter has been working on a driver for X to support multi touch, some of you may be saying 2006 call it want’s it’s really cool multitouch screen back, but let me tell you why this is different.

We don’t need gesture support in X. Gestures depend a lot on the context. A gesture in one context can mean something different in a different context. And the only thing that knows the context is the application. This is very similar to a button press. Pressing a mouse button can mean a zillion different things, depending where and when it happens. That’s why all X does is relay the button press to a client application, which then does the right thing.

Which in short means the X server will just send an event to the client, remember that in X terms the client is the Desktop Environment (gnome,kde,enlightenment) or the window manager (fluxbox,w3m, etc.).

To your multi-touch driver all this doesn’t matter. It sends blob events, the server takes care of the rest. You’re guaranteed to be able to interact with any X application. X doesn’t care about the hardware. You can use your DiamondTouch, your FTIR table or - if you can afford one - your MS Surface table.

which means that ANY application can work with multi-touch, in fact ones GTK gets support for BlobEvents all your program has to do is support one more event and process it.

Even better you can use the mouse and keyboard and multitouch all together as MPX is just another driver!

Full article here which is the cool part which is the reason why I’m not liking the video from here, so go read the artcle and watch it in action.

This is like xgl for multi touch displays!!

4 comments ↓

#1 Ivan on 07.13.07 at 12:16 am

I’ll admit I haven’t read the article, but from your excerpt, what’s the point of multi-touch if you’re not going to have gestures, that is, you’re simply relaying the input of ONE mouse pointer?

IMHO, whoever said they don’t need gestures, has probably never did two-finger scrolling on a touch pad, or pinching on an iPhone (not that I have an iPhone, but everyone says it’s really cool, which I believe based on the videos, as well as how the Macbook’s trackpad behaves)

#2 mae on 07.16.07 at 12:24 pm

I think you misread the quote. Remember X is a client-server arch. This is the server code. what he is saying is that you don’t need gestures in the server, because that is client code, the MPX module will tell the client code hey I got a BlobEvent here and another one over there, then the client will say: oh yes that means I want to resize the picture.

That is why I said is like XGL but for multi-touch, this gives you the hardware abstraction now we someone can build the compiz, and “by magic” all apps will work with those types of displays.

#3 Ivan on 07.16.07 at 2:15 pm

Ah! Silly me, that happens when you comment without RTFA or having all knowledge required. So, OOPS!

#4 mae on 07.25.07 at 6:03 pm

don’t worry my friend the internet will hold your comment on forever

Leave a Comment