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