On Sat, 6 Feb 2010 11:52:53 +0530 Prabu Surendra <prabu.suren...@gmail.com>
said:

ok :) time to reply.

1. on the evas level - this is all already solved. look at the evas multi
events. these are for multi-touch/pointer input. literally you'll get a multi
event per "finger" (device #0 is first finger - its ALSO the default mouse). s
such everything and more is already there in the structures:

   int device; /**< Multi device number that went down (1 or more for extra
touches) */
   double radius, radius_x, radius_y;
   double pressure, angle;
   struct {
      int x, y;
   } output;
   struct {
      Evas_Coord x, y;
      double xsub, ysub;
   } canvas;
   void          *data;
   Evas_Modifier *modifiers;
   Evas_Lock     *locks;

   Evas_Button_Flags flags;
   unsigned int      timestamp;
   Evas_Event_Flags  event_flags;
   Evas_Device      *dev;

right now dev is unset (no api to list/query devices in evas - this can come
later so u can find out just what all these multi events are and what produces
them etc.). the device number is like the touch number. 0 is the first touch,
1, 2, 3,4 etc. for extra touches. you have radius (and separate x and y radius
values too), pressure and angle as well. xsub and ysub are for providing the
same as x and y but with full float accuracy for sub-pixel values if you
need/want them. i am sure with some combination of these you'll get what u
want. as such pressure is normally senses by radius. your finger is soft. the
harder you press the larger the radius of your touch (up to a point). so i'd
suggest using these first unless u literally have extra needs.

as for the layers below.. you will need to get these events to evas. as such
there is already preliminary code to handle xinput2 evens for multiple inputs.
normally pressiure, angle, radius etc. are delivered as extra fields in the
xinput event (valuators). these come from the evdev driver in x that talks to
the kernel device. so what valuatos mean what is currently all up int he air in
x land - but there'd need to be some convention as to what ones mean what.
anyway... the pipeline for these events woudl be

hw -> kernel -> evdev -> xserver(xinput2) -> x client(ecore_x) -> ecore_input
-> evas -> app/toolkit/whatever using efl.

so.. from evas up its solid. ecore_input and ecore_x are currently built for 1
kind of multi-touch. this may change. it's brand new. ans the rest (xinput 2
and below) is the system platform job 100% to get multi-touch events up the
stack from kernel to x clients.

anyway - the stuff above evas currently just exposes such events. nothing to
date actually uses them. thats yet to come.

> Hello,
> 
> I am working with a company that is coming out with a multi-touch controller
> that can also measure the force applied by the fingers. So basically, along
> with x and y values, now we have z values. I believe this will give rise to
> a unique way on how a user interact. We have a driver that can get these
> three values from the controller. But I have no idea how to make it work all
> the way through Window manager. I am a pure kernel programmer and have no
> experience dealing with any of the components in the display interface
> stack.
> 
> I'd appreciate if any of your gurus can guide me by answering me the
> following questions:
> 
> 1) My understanding is, all the components - X server, Window system,
> Desktop Environment are all designed with two dimensional input. Am I
> correct?
> 
> 2) If 1 is true, how easy it is to incorporate the force support in the
> stack? I understand it's a relative question but I am more interested in
> knowing whether this requires complete re-design of the software components.
> 
> 
> 3) I love Enlightenment. I am currently thinking of making our technology
> work with E. What's your opinion about changes required in E to support the
> third dimension?
> 
> If you need more information, please let me know.
> 
> Thanks,
> Sil
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to