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>
|
Thu Jan 16 02:41:09 2003 Jonathan Blandford <jrb@gnome.org>
|
||||||
|
|
||||||
* Release 2.1.7
|
* Release 2.1.7
|
||||||
|
|
|
@ -121,7 +121,7 @@ filter (GdkXEvent *xevent,
|
||||||
group,
|
group,
|
||||||
&keyval,
|
&keyval,
|
||||||
NULL, NULL, NULL);
|
NULL, NULL, NULL);
|
||||||
if (keyval == GDK_Control_L)
|
if (keyval == GDK_Control_L || keyval == GDK_Control_R)
|
||||||
{
|
{
|
||||||
if (xev->type == KeyPress)
|
if (xev->type == KeyPress)
|
||||||
{
|
{
|
||||||
|
@ -157,37 +157,41 @@ set_locate_pointer (gboolean locate_pointer)
|
||||||
GdkKeymapKey *keys;
|
GdkKeymapKey *keys;
|
||||||
int n_keys;
|
int n_keys;
|
||||||
gboolean has_entries;
|
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 (),
|
for (j = 0 ; j < G_N_ELEMENTS (keyvals) ; j++) {
|
||||||
GDK_Control_L,
|
has_entries = gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (),
|
||||||
&keys,
|
keyvals[j],
|
||||||
&n_keys);
|
&keys,
|
||||||
if (has_entries)
|
&n_keys);
|
||||||
|
if (has_entries)
|
||||||
{
|
{
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
for (i = 0; i < n_keys; i++)
|
for (i = 0; i < n_keys; i++)
|
||||||
{
|
{
|
||||||
if (locate_pointer)
|
if (locate_pointer)
|
||||||
XGrabKey (gdk_x11_get_default_xdisplay (),
|
XGrabKey (gdk_x11_get_default_xdisplay (),
|
||||||
keys[i].keycode,
|
keys[i].keycode,
|
||||||
AnyModifier,
|
AnyModifier,
|
||||||
GDK_ROOT_WINDOW (),
|
GDK_ROOT_WINDOW (),
|
||||||
False,
|
False,
|
||||||
GrabModeAsync,
|
GrabModeAsync,
|
||||||
GrabModeSync);
|
GrabModeSync);
|
||||||
else
|
else
|
||||||
XUngrabKey (gdk_x11_get_default_xdisplay (),
|
XUngrabKey (gdk_x11_get_default_xdisplay (),
|
||||||
keys[i].keycode,
|
keys[i].keycode,
|
||||||
AnyModifier,
|
AnyModifier,
|
||||||
GDK_ROOT_WINDOW ());
|
GDK_ROOT_WINDOW ());
|
||||||
}
|
}
|
||||||
g_free (keys);
|
g_free (keys);
|
||||||
if (locate_pointer)
|
if (locate_pointer)
|
||||||
gdk_window_add_filter (gdk_get_default_root_window (), filter, NULL);
|
gdk_window_add_filter (gdk_get_default_root_window (), filter, NULL);
|
||||||
else
|
else
|
||||||
gdk_window_remove_filter (gdk_get_default_root_window (), filter, NULL);
|
gdk_window_remove_filter (gdk_get_default_root_window (), filter, NULL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue