multitouch events

Jordi Polo mumismo at gmail.com
Tue May 6 08:18:50 BST 2008


Hi,
I have the chance to get involve in some Human interface projects but want
to make then as general as possible.

== WHY ==
First there exist a library that let create cheap multi touch panels (
http://www.whitenoiseaudio.com/touchlib/), they use computer vision, so a
lot of computing is needed and some tuning. Alternatively there are some
multitouch, multifinger support for the Wiimote (
http://www.wiimoteproject.com/).
These projects use specialized libraries and are quite geek/research like.
On the other hand, we have the new Mac Air /Mac book pro with their basic
multitouch gestures support.
And the thing that made think about all this:
http://www.appleinsider.com/articles/08/02/19/apple_filing_spills_details_of_advanced_multi_touch_pads_for_macs.html

Even the above article is about a patent and it doesn't mean it will
materialize in a product, I'd say that the next Mac whatever laptops will
come with a bigger trackpad with extended gestures support.
If they don't, with cheap (only one wiimote is needed) multitouch displays
available, it can be really cool if Linux/KDE leads the way on interfaces
innovation.

I think the above Apple's ideas are pretty clever, use multitouch to define
usual GUI operations like copy or paste. Meaning no revolution is needed on
the UI and applications should not be wildly reworked. Also means that
multitouch hardware can be little by little more common place till the point
that we can change the UI to be more specifically multitouch (the zoom idea
is the first obvious thing).

I hope you agree with me in the convenience of multitouch support. I guess
this can be easily flamed as not everyone will like the multitouch paradigm,
also  accesibility concerns can easily argued. That's why it should be done
gradually, trying to make it configurable, etc.  I hope that it can be seen
at least as interesting to be explored.

== HOW ==
As I said, today multitouch programs are done with multitouch specific
libraries and tent to be fancy 3D stuff. I will like to include the
multitouch support in KDE in a way it can be easily used by normal
applications. In fact the support should not be limited to KDE.
Current Xorg has no multitouch support. It does exist a X implementation
that supports it and I read somewhere that someone was working on multitouch
Xorg but not sure about progress.
>From my point of view, the perfect implementation would be a low level
library/ Xorg taking care of creating basic events from the multitouch
hardware (much like mouse or keyboard).
Those will be converted to new types of QEvents, maybe Trolltech is even
thinking about adding multitouch support in 4.5 for Mac platform (very wild
guess).
Since this point I am not sure what should be the best implementation.
In my ignorance of KDE internals I would suggest adding multitouch handling
to KActions, so the applications will not need to be changed. To put an
example, KMyWhateverApp will add a KAction copy action that is activated
with Ctrl+c and with the gesture two_fingers_up.
Gestures to show Plasma dashboard, launch krunner, etc can be managed as
current global shortcuts are managed.
Applications will of course receive multitouch QEvents (those not filtered
by KActions I guess), modifying the apps to use the events in fancier ways
is a problem of every app developers.

==THE QUESTIONS==
As I said I want to make the whole multitouch stuff useful for OSS in
general instead of the "make a cool looking project" that I have being
offered. So for me the important point is if this kind of work is really
seen as useful and integrable in KDE or no. I am sorry for the hand waving
but I will not even start the project if it is not going to help a bigger
audience than my 2 reseach fellows...  So:
¿What problems do you see to the general high level implementation ideas
above?
¿Do these ideas have a place in KDE?
¿If multitouch hardware is not massively available (let's say some macs and
maniac wiimote users only) it has the chance to be added to KDE?
¿If the only way to get multitouch information is a non- Xorg related
library, it is implementable?
¿If that library is not widely deploiyed, it is ok to include code in
kdelibs that use it?

-- 
Jordi Polo Carres
NLP laboratory - NAIST
http://www.bahasara.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080506/7807bbec/attachment.htm>


More information about the kde-core-devel mailing list