diff --git a/ChangeLog b/ChangeLog index e93961289d..f2ab3837dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-09-20 Behnam Esfahbod + * gdk/x11/gdkkeys-x11.c: + (get_direction): just check the first shift-level of keyboard + layout for RTL and LTR keysyms() (compliment to #116626) + Wed Sep 20 16:59:38 2006 Tim Janik * gtk/gtkviewport.c: always update the bin_window position and size diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index d45ab1430d..4c749287ca 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -561,27 +561,23 @@ get_direction (XkbDescRec *xkb, for (code = xkb->min_key_code; code <= xkb->max_key_code; code++) { - gint width = XkbKeyGroupWidth (xkb, code, group); - gint level; - for (level = 0; level < width; level++) - { - KeySym sym = XkbKeySymEntry (xkb, code, level, group); - PangoDirection dir = pango_unichar_direction (gdk_keyval_to_unicode (sym)); + gint level = 0; + KeySym sym = XkbKeySymEntry (xkb, code, level, group); + PangoDirection dir = pango_unichar_direction (gdk_keyval_to_unicode (sym)); - switch (dir) - { - case PANGO_DIRECTION_RTL: - rtl_minus_ltr++; - break; - case PANGO_DIRECTION_LTR: - rtl_minus_ltr--; - break; - default: - break; - } + switch (dir) + { + case PANGO_DIRECTION_RTL: + rtl_minus_ltr++; + break; + case PANGO_DIRECTION_LTR: + rtl_minus_ltr--; + break; + default: + break; } } - + if (rtl_minus_ltr > 0) return PANGO_DIRECTION_RTL; else