15 lines
392 B
C
15 lines
392 B
C
void
|
|
keyrelease(const XEvent *e)
|
|
{
|
|
const XKeyEvent *ev = &e->xkey;
|
|
unsigned int i;
|
|
KeySym keysym;
|
|
|
|
keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0);
|
|
for (i = 0; i < LENGTH(keyreleases); i++) {
|
|
if (keysym == keyreleases[i].keysym &&
|
|
CLEANMASK(keyreleases[i].mod) == CLEANMASK(ev->state) &&
|
|
keyreleases[i].func)
|
|
keyreleases[i].func(&(keyreleases[i].arg));
|
|
}
|
|
} |