diff --git a/ChangeLog b/ChangeLog index 84130f0a21..86ad995671 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-05-23 Tor Lillqvist + + * 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. + 2005-05-20 Matthias Clasen * gtk/gtkimcontextsimple.c (check_table): Avoid a possible diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 84130f0a21..86ad995671 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2005-05-23 Tor Lillqvist + + * 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. + 2005-05-20 Matthias Clasen * gtk/gtkimcontextsimple.c (check_table): Avoid a possible diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 84130f0a21..86ad995671 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +2005-05-23 Tor Lillqvist + + * 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. + 2005-05-20 Matthias Clasen * gtk/gtkimcontextsimple.c (check_table): Avoid a possible 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) {