Add xu_key_ungrab() and a mirror to xu_key_ungrab(). a couple of changes

that are coming up depend on it.

ok okan.
This commit is contained in:
oga
2008-07-22 20:26:12 +00:00
parent 13b640ea29
commit 20052e0248
2 changed files with 18 additions and 3 deletions

20
xutil.c
View File

@@ -90,9 +90,23 @@ xu_key_grab(Window win, int mask, int keysym)
mask |= ShiftMask;
for (i = 0; i < sizeof(ign_mods)/sizeof(*ign_mods); i++)
XGrabKey(X_Dpy, XKeysymToKeycode(X_Dpy, keysym),
(mask | ign_mods[i]), win, True, GrabModeAsync,
GrabModeAsync);
XGrabKey(X_Dpy, code, (mask | ign_mods[i]), win,
True, GrabModeAsync, GrabModeAsync);
}
void
xu_key_ungrab(Window win, int mask, int keysym)
{
KeyCode code;
int i;
code = XKeysymToKeycode(X_Dpy, keysym);
if ((XKeycodeToKeysym(X_Dpy, code, 0) != keysym) &&
(XKeycodeToKeysym(X_Dpy, code, 1) == keysym))
mask |= ShiftMask;
for (i = 0; i < sizeof(ign_mods)/sizeof(*ign_mods); i++)
XUngrabKey(X_Dpy, code, (mask | ign_mods[i]), win);
}
void