If Mode_switch is used for a known modifier like Mod1, assume it won't be

Mon Oct  7 11:45:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
        is used for a known modifier like Mod1, assume it won't
        be used to switch group. (#94841, problem reported by
        Szekeres Istvan)
This commit is contained in:
Owen Taylor
2002-10-07 16:05:56 +00:00
committed by Owen Taylor
parent 2a8da05d05
commit dc61c7e769
7 changed files with 58 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -1,3 +1,10 @@
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>

View File

@@ -218,6 +218,21 @@ update_keymaps (void)
{
gint j = 0;
KeySym *syms = keymap + (keycode - min_keycode) * keysyms_per_keycode;
/* GDK_MOD1_MASK is 1 << 3 for example, i.e. the
* fourth modifier, i / keyspermod is the modifier
* index
*/
guint mask = 1 << ( i / keymap_x11->mod_keymap->max_keypermod);
/* Some keyboard maps are known to map Mode_Switch as an extra
* Mod1 key. In circumstances like that, it won't be used to
* switch groups.
*/
if (mask == GDK_CONTROL_MASK || mask == GDK_SHIFT_MASK ||
mask == GDK_LOCK_MASK || mask == GDK_MOD1_MASK)
continue;
while (j < keysyms_per_keycode)
{
if (syms[j] == GDK_Mode_switch)
@@ -229,7 +244,7 @@ update_keymaps (void)
* index
*/
group_switch_mask |= (1 << ( i / mod_keymap->max_keypermod));
group_switch_mask |= mask;
break;
}