diff options
author | Behnam Esfahbod <behnam@zwnj.org> | 2006-09-20 17:47:28 +0000 |
---|---|---|
committer | Behnam Esfahbod <behnam@src.gnome.org> | 2006-09-20 17:47:28 +0000 |
commit | a0c6753511bb64205c1ccadf5f011b1fca440078 (patch) | |
tree | c91ac2b15e3e185d24314e4dab23ad001aa0cb66 | |
parent | 00bfb206eecfa3191063ed3bbf99370ce1770d7c (diff) | |
download | gtk+-a0c6753511bb64205c1ccadf5f011b1fca440078.tar.gz |
just check the first shift-level of keyboard layout for RTL and LTR
2006-09-20 Behnam Esfahbod <behnam@zwnj.org>
* gdk/x11/gdkkeys-x11.c:
(get_direction): just check the first shift-level of keyboard
layout for RTL and LTR keysyms() (compliment to #116626)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gdk/x11/gdkkeys-x11.c | 32 |
2 files changed, 19 insertions, 18 deletions
@@ -1,3 +1,8 @@ +2006-09-20 Behnam Esfahbod <behnam@zwnj.org> + * 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 <timj@imendio.com> * 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 |