 |
GTK+ Forums Discussion forum for GTK+ and Programming. Ask questions, troubleshoot problems, view and post example code, or express your opinions.
|
|
|
| Author |
Message |
|
|
Avnish
Joined: 27 Jun 2008 Posts: 1
|
Posted: Fri Jun 27, 2008 11:00 am Post subject: GTK-DirectFB Event Flow |
|
|
Hi,
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 details about it are as follows:
As said before, 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.
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.
Hoping to get quick reply.
Thx.
Avnish |
|
| Back to top |
|
 |
|
Powered by phpBB © 2001, 2005 phpBB Group CodeBB 1.0 Beta 2
|