(Partial) fix for bugzilla 104058, changed AnyModifier grabs to

nomodifier and LockMask grabs.  Approved by Jody.
This commit is contained in:
Bill Haneman 2003-01-21 18:25:27 +00:00
parent 24304fe6e3
commit c250efb04e
2 changed files with 43 additions and 21 deletions

View file

@ -1,3 +1,10 @@
Tue Jan 21 13:20:00 2003 Bill Haneman <bill.haneman@sun.com>
* gnoome-settings-daemon/gnome-settings-mouse.c:
(set_locate_pointer): Change the AnyModifier passive grab
of the Control keys to grabs on no modifier and on
LockModifier. [Fix for bugzilla 104058.]
Tue Jan 21 01:15:14 2003 Jonathan Blandford <jrb@gnome.org>
* Release 2.2.0

View file

@ -170,26 +170,41 @@ set_locate_pointer (gboolean locate_pointer)
gint i;
for (i = 0; i < n_keys; i++)
{
if (locate_pointer)
XGrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
AnyModifier,
GDK_ROOT_WINDOW (),
False,
GrabModeAsync,
GrabModeSync);
else
XUngrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
AnyModifier,
GDK_ROOT_WINDOW ());
}
g_free (keys);
if (locate_pointer)
gdk_window_add_filter (gdk_get_default_root_window (), filter, NULL);
else
gdk_window_remove_filter (gdk_get_default_root_window (), filter, NULL);
{
if (locate_pointer)
{
XGrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
0,
GDK_ROOT_WINDOW (),
False,
GrabModeAsync,
GrabModeSync);
XGrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
LockMask,
GDK_ROOT_WINDOW (),
False,
GrabModeAsync,
GrabModeSync);
}
else
{
XUngrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
LockMask,
GDK_ROOT_WINDOW ());
XUngrabKey (gdk_x11_get_default_xdisplay (),
keys[i].keycode,
0,
GDK_ROOT_WINDOW ());
}
}
g_free (keys);
if (locate_pointer)
gdk_window_add_filter (gdk_get_default_root_window (), filter, NULL);
else
gdk_window_remove_filter (gdk_get_default_root_window (), filter, NULL);
}
}
}