summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkkeys-x11.c
diff options
context:
space:
mode:
authorBehnam Esfahbod <behnam@zwnj.org>2006-09-20 17:47:28 +0000
committerBehnam Esfahbod <behnam@src.gnome.org>2006-09-20 17:47:28 +0000
commita0c6753511bb64205c1ccadf5f011b1fca440078 (patch)
treec91ac2b15e3e185d24314e4dab23ad001aa0cb66 /gdk/x11/gdkkeys-x11.c
parent00bfb206eecfa3191063ed3bbf99370ce1770d7c (diff)
downloadgtk+-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)
Diffstat (limited to 'gdk/x11/gdkkeys-x11.c')
-rw-r--r--gdk/x11/gdkkeys-x11.c32
1 files changed, 14 insertions, 18 deletions
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