We are trying to run Webkit using GTK and DirectFB on our embedded device.


The embedded device use Remocon i,e. IR.



When we press a remocon Key, we get event on the DirectFB Layer.



Now from this layer we are trying to pass this event to GTK.



The question here is How EventBuffer is attached to Window ID?




The details are as follows:





We have been able to connect our remote-control's (IR device) events with
DirectFB and are able to listen to them using an EventBufffer .

This event buffer is created using <IDirectFB*>->CreateInputEventBuffer and
is listened upon using <IDirectFBInputBuffer*> -> GetEvent.

   As you would already be aware of, there is another API for creation of
EventBuffer:

   <IDirectFB*> -> CreateEventBuffer,  and there is an asynchronous
listening mechanism

   on event buffer by listening on one end of a socket pair created by

   <IDirectFBEventBuffer*> -> CreateFileDescriptor. This latter call starts
up a

    directfb thread which keeps listening on any event added to this event
buffer and

    posts it to the socket pair. As far as i could dig, this is the
mechanism that is used

    in GDK-DirectFB layer.

We are facing some problem in this layer (GDK-DirectFB) when using this
latter mechanism of event-buffer creation and listening. It seems that this
event-buffer is not filled in with the remocon events, if created using the
(CreateEventBuffer, CreateFileDescriptor) mechanism and the directfb thread
does not budge. However, we see that the remocon's thread in
(inputdrivers/lirc/lirc.c) is still able to recieve event and  continues
dispatching these using

dfb_input_dispatch()

               |-------fusion_reactor_dispatch()

                                  |---------process_globals ---->
win_manager's process_input

                                  |---------IDirectFBInputDevice_React ()

I could not find and IDirectFBInputBuffer_AddItem () in
IDirectFBInputDevice_React (). There is however some dispatch happening
through process_globals-->win_manager's process_input call (it goes on to do
handle_keypress --> post_event --> dfb_window_post_event-->
dfb_window_event_dispatch). This however fails, as there is no window_id to
send the keypress to.

Hence this call-flow ends in the remocon event not landing up in the
event-buffer.


Thx.
Avnish

-- 
---------------------------------------------------------
"Happiness is not based on possessions, power or prestige.
But on relationships with people you love and respect..."
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to