diff options
author | Tor Lillqvist <tml@novell.com> | 2005-05-22 21:23:45 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2005-05-22 21:23:45 +0000 |
commit | 1abd7f7999aa402ad3c495f6205c1742dd152bb6 (patch) | |
tree | 3f1c52f14ed1fa1b9a08f401d6acad5607a4abff /gdk/win32/gdkkeys-win32.c | |
parent | 69d6039b7fd3ede0aeb3124188b1a513733d29f1 (diff) | |
download | gtk+-1abd7f7999aa402ad3c495f6205c1742dd152bb6.tar.gz |
If the keysym isn't one of the special cases this function takes care of,
2005-05-23 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkkeys-win32.c (handle_dead): If the keysym isn't one
of the special cases this function takes care of, us it as
such. This takes care of for instance the Bengali Virama, see bug
#165723.
Diffstat (limited to 'gdk/win32/gdkkeys-win32.c')
-rw-r--r-- | gdk/win32/gdkkeys-win32.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/gdk/win32/gdkkeys-win32.c b/gdk/win32/gdkkeys-win32.c index 60089eb49d..1c91fe75c3 100644 --- a/gdk/win32/gdkkeys-win32.c +++ b/gdk/win32/gdkkeys-win32.c @@ -267,7 +267,7 @@ reset_after_dead (guchar key_state[256]) } } -static gboolean +static void handle_dead (guint keysym, guint *ksymp) { @@ -308,9 +308,12 @@ handle_dead (guint keysym, case GDK_Greek_accentdieresis: /* 0x7ae */ *ksymp = GDK_Greek_accentdieresis; break; default: - return FALSE; + /* By default use the keysym as such. This takes care of for + * instance the dead U+09CD (BENGALI VIRAMA) on the ekushey + * Bengali layout. + */ + *ksymp = keysym; break; } - return TRUE; } static void @@ -451,14 +454,7 @@ update_keymap (void) reset_after_dead (key_state); /* Use dead keysyms instead of "undead" ones */ - if (!handle_dead (keysym, ksymp)) - GDK_NOTE (EVENTS, - g_print ("Unhandled dead key cp:%d vk:%02x sc:%x ch:%02x wc:%04x keysym:%04x%s%s\n", - _gdk_input_codepage, vk, - scancode, chars[0], - wcs[0], keysym, - (shift&0x1 ? " shift" : ""), - (shift&0x2 ? " altgr" : ""))); + handle_dead (keysym, ksymp); } else if (k == 0) { |