make the right control key also locate the mouse pointer. Fixes #87426
2003-01-19 Alex Duggan <aldug@astrolinux.com> * gnome-settings-mouse.c (filter), (set_locate_pointer): make the right control key also locate the mouse pointer. Fixes #87426
This commit is contained in:
parent
dbc03d51c7
commit
7e699e6b22
2 changed files with 30 additions and 20 deletions
|
@ -1,3 +1,9 @@
|
|||
2003-01-19 Alex Duggan <aldug@astrolinux.com>
|
||||
|
||||
* gnome-settings-mouse.c (filter), (set_locate_pointer):
|
||||
make the right control key also locate the mouse pointer.
|
||||
Fixes #87426
|
||||
|
||||
Thu Jan 16 02:41:09 2003 Jonathan Blandford <jrb@gnome.org>
|
||||
|
||||
* Release 2.1.7
|
||||
|
|
|
@ -121,7 +121,7 @@ filter (GdkXEvent *xevent,
|
|||
group,
|
||||
&keyval,
|
||||
NULL, NULL, NULL);
|
||||
if (keyval == GDK_Control_L)
|
||||
if (keyval == GDK_Control_L || keyval == GDK_Control_R)
|
||||
{
|
||||
if (xev->type == KeyPress)
|
||||
{
|
||||
|
@ -157,37 +157,41 @@ set_locate_pointer (gboolean locate_pointer)
|
|||
GdkKeymapKey *keys;
|
||||
int n_keys;
|
||||
gboolean has_entries;
|
||||
static const guint keyvals[] = { GDK_Control_L, GDK_Control_R };
|
||||
unsigned j;
|
||||
|
||||
has_entries = gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (),
|
||||
GDK_Control_L,
|
||||
&keys,
|
||||
&n_keys);
|
||||
if (has_entries)
|
||||
for (j = 0 ; j < G_N_ELEMENTS (keyvals) ; j++) {
|
||||
has_entries = gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (),
|
||||
keyvals[j],
|
||||
&keys,
|
||||
&n_keys);
|
||||
if (has_entries)
|
||||
{
|
||||
gint i;
|
||||
|
||||
for (i = 0; i < n_keys; i++)
|
||||
{
|
||||
if (locate_pointer)
|
||||
XGrabKey (gdk_x11_get_default_xdisplay (),
|
||||
{
|
||||
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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue