Hi,
Mike Pieper <[EMAIL PROTECTED]> writes:
> Hmm, depends on what is more hackish. Introducing hardware key_codes
> to a driver which doesn't need it? Another point is that DirectFb
> has no problem with devices which have no key code. So why then
> change DirectFb? What kind of advantages do you see for DirectFb?
OK, you persuaded me. What about this (more localized) patch then:
Index: gdkkeys-directfb.c
===================================================================
RCS file: /cvs/directfb/gdk-directfb/gdkkeys-directfb.c,v
retrieving revision 1.21
diff -u -p -r1.21 gdkkeys-directfb.c
--- gdkkeys-directfb.c 26 Jun 2002 13:59:59 -0000 1.21
+++ gdkkeys-directfb.c 1 Jul 2002 20:03:04 -0000
@@ -303,8 +303,26 @@ gdk_directfb_translate_key_event (DFBWin
event->group = (dfb_event->modifiers & DIMM_ALTGR) ? 1 : 0;
event->hardware_keycode = dfb_event->key_code;
event->keyval = gdk_directfb_translate_key (dfb_event->key_id,
- dfb_event->key_symbol);
-
+ dfb_event->key_symbol);
+
+ /* If the device driver didn't send a key_code (happens with remote
+ controls), we try to find a suitable key_code by looking at the
+ default keymap. */
+
+ if (dfb_event->key_code == -1 && directfb_keymap)
+ {
+ gint i;
+
+ for (i = directfb_min_keycode; i <= directfb_max_keycode; i++)
+ {
+ if (directfb_keymap[(i - directfb_min_keycode) * 4] == event->keyval)
+ {
+ event->hardware_keycode = i;
+ break;
+ }
+ }
+ }
+
len = g_unichar_to_utf8 (dfb_event->key_symbol, buf);
event->string = g_strndup (buf, len);
--
Info: To unsubscribe send a mail to [EMAIL PROTECTED] with
"unsubscribe directfb-dev" as subject.