On Fri, 11 Nov 2011 13:18:20 +0530 HariHara Sudhan <h...@emo2.com> said:
> OK thank you, I think i have a lead. I will work on a solution. let me know what's happening - i find it odd that evas would just skip events unless it was specifically meant to - eg event happened outside that obj, grabs were in effect or there were no callbacks set. > On Fri, Nov 11, 2011 at 12:25 PM, Carsten Haitzler <ras...@rasterman.com> > wrote: > > On Fri, 4 Nov 2011 20:11:12 +0530 HariHara Sudhan <h...@emo2.com> said: > > > > timestamp doesn't matter. it calls the callbacks on the objects the events > > are going to go to. if the mouse is grabbed (first press grabs mouse to the > > objects pressed) then callbacks are reported relative to grabbed objects > > until last finger is released. if (obj->callbacks) checks to see if object > > has any cb's at all. if it doesn't - don't other doing anything. the target > > object(s) don't have callbacks set at all. if inside your callbacks you are > > deleting objects or changing their callbacks.. you may get this. if objects > > are hidden, clipped out or otherwise not visible - they wont be called > > either. evas is checking for geometry and visibility here for the events. > > > >> As you Said ecore process all the events, and passes on to evas. > >> In evas at two points events are filtered. > >> > >> 1. evas_event_feed_multi_move() > >> 2.evas_object_event_callback_call() > >> > >> in evas_object_event_calback_call the if(obj->callbacks) fail for > >> events two consecutive events at same time. > >> only one of them returns value the other one returns NULL. > >> > >> in evas_event_feed_multi_move(), the if condition to check for > >> checking objects in position,visibility and etc fails for several > >> events. > >> > >> i'm not able to find why the condition fails in both these points. > >> Is the reason due to pouring events for the same timestamp? > >> any possible solutions? > >> > >> > >> thanks in advance > >> > >> Regards > >> HariHaraSudhan > >> > >> On Fri, Nov 4, 2011 at 4:58 AM, Carsten Haitzler <ras...@rasterman.com> > >> wrote: > >> > On Thu, 3 Nov 2011 19:36:11 +0530 HariHara Sudhan <h...@emo2.com> said: > >> > > >> >> Mouse gives events on a minimum of 8ms gap, but i get 2-3 touch events > >> >> within a ms. > >> >> So that is a lot of events. > >> >> But some events generated on ecore side, which are pushed into event > >> >> queue using _ecore_mouse_move are not reflected as evas_callbacks. > >> >> Some times it generates 3-4 events on ecore side but i get only one > >> >> callback on evas side. > >> >> here is the sample > >> >> > >> >> > >> >> evas id=2 x=578 y=66 > >> >> eCore id=2 x=577 y=66 > >> >> > >> >> evas id=2 x=577 y=66 > >> >> eCore id=2 x=577 y=65 > >> >> eCore id=2 x=578 y=65 > >> >> > >> >> evas id=2 x=577 y=65 > >> >> > >> >> evas id=2 x=578 y=65 > >> >> eCore id=1 x=153 y=50 > >> >> eCore id=1 x=153 y=51 > >> >> > >> >> evas id=1 x=153 y=51 > >> >> eCore id=2 x=578 y=64 > >> >> eCore id=1 x=153 y=52 > >> >> eCore id=2 x=578 y=65 > >> >> eCore id=1 x=153 y=53 > >> >> eCore id=2 x=579 y=65 > >> >> eCore id=1 x=153 y=54 > >> >> eCore id=2 x=579 y=66 > >> >> eCore id=2 x=579 y=67 > >> >> > >> >> evas id=2 x=579 y=67 > >> >> eCore id=1 x=153 y=55 > >> >> eCore id=2 x=580 y=67 > >> >> eCore id=1 x=153 y=56 > >> >> eCore id=1 x=153 y=57 > >> >> eCore id=1 x=152 y=57 > >> >> eCore id=2 x=580 y=68 > >> >> eCore id=2 x=581 y=68 > >> >> > >> >> > >> >> this is where my problem is,a lot of ecore events are generated but on > >> >> eas side i get only few. > >> >> > >> >> I couldn't find why some events are not reflected in evas_callbacks. > >> >> > >> >> is there a way to process the touch events as a seperate thread in > >> >> ecore_event_procesing? or any other solution for this problem? > >> > > >> > threads have nothing to do with this other than complicating things. they > >> > don't solve anything, and won't. (unless u are spending large amounts of > >> > cpu just handling the input event stream and making ecore events out of > >> > it). so you get ecore events - fine, but evas isnt calling back for all > >> > events... that shouldn't happen (unless position hasn't changed etc.) > >> > > >> >> Regards > >> >> HariHaraSudhan > >> >> > >> >> On Thu, Nov 3, 2011 at 6:34 PM, HariHara Sudhan <h...@emo2.com> wrote: > >> >> > Sent from my Windows Phone > >> >> > From: Carsten Haitzler > >> >> > Sent: 11/3/2011 4:20 PM > >> >> > To: Enlightenment developer list > >> >> > Cc: HariHara Sudhan > >> >> > Subject: Re: [E-devel] Ecore_processing mtdev events > >> >> > On Wed, 2 Nov 2011 19:38:09 +0530 HariHara Sudhan <h...@emo2.com> > >> >> > said: > >> >> > > >> >> >> Hi all, > >> >> >> I've lately added mtdev to receive touch events and process them as > >> >> >> ecore mouse events( as mpx). > >> >> >> i get the window id by the original mouse movements and use that id > >> >> >> for passing touch events for that window. > >> >> >> > >> >> >> i get the slot id from mtdev. Passing the slot id(starting from 1) > >> >> >> makes ecore think it as mpx style events and the callbacks for single > >> >> >> finger touch are also working fine. But when using two or more > >> >> >> fingers lots of events are generated. When getting data from > >> >> >> callback of EVAS_CALLBACK_MULTI_MOVE, lot of touch move events > >> >> >> aren't properly received for both the touch points. > >> >> >> > >> >> >> I'm not sure why some events are discarded when using two or more > >> >> >> fingers,but i think it might be discarded due to ecore queue > >> >> >> overflow. > >> >> >> > >> >> >> now i'm thinking of having a separate queue in ecore just to process > >> >> >> the touch events and thread them so that both touch and other events > >> >> >> gets processed in time. > >> >> >> Does anyone know what the reason for discarding of events might be?? > >> >> >> if possible can anyone get me a solution for this problem too. > >> >> >> > >> >> >> Thanks in advance! > >> >> > > >> >> > hmm - the intent is u get an event whenever either one of the points > >> >> > touched reports a movement - thats the intention. yes- you may get a > >> >> > lot of events. that depends on the hardware and xorg itself. as such > >> >> > ecore doesnt discard events as it has no fixed size buffer - it won't > >> >> > overflow. it will pass on all events. it only avoids generating events > >> >> > for the same touch point. > >> >> > > >> >> > > >> >> > -- > >> >> > ------------- Codito, ergo sum - "I code, therefore I am" > >> >> > -------------- The Rasterman (Carsten Haitzler) > >> >> > ras...@rasterman.com > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> Regards > >> >> HariHaraSudhan > >> >> > >> > > >> > > >> > -- > >> > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > >> > The Rasterman (Carsten Haitzler) ras...@rasterman.com > >> > > >> > > >> > >> > >> > >> -- > >> Regards > >> HariHaraSudhan > >> > > > > > > -- > > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > > The Rasterman (Carsten Haitzler) ras...@rasterman.com > > > > > > > > -- > Regards > HariHaraSudhan > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel