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

Reply via email to