|
|
|
@ -2054,16 +2054,18 @@ keypress(XEvent *e)
|
|
|
|
|
#endif // KEYMODES_PATCH
|
|
|
|
|
{
|
|
|
|
|
unsigned int i;
|
|
|
|
|
KeySym keysym;
|
|
|
|
|
int keysyms_return;
|
|
|
|
|
KeySym* keysym;
|
|
|
|
|
XKeyEvent *ev;
|
|
|
|
|
|
|
|
|
|
ev = &e->xkey;
|
|
|
|
|
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
|
|
|
|
|
keysym = XGetKeyboardMapping(dpy, (KeyCode)ev->keycode, 1, &keysyms_return);
|
|
|
|
|
for (i = 0; i < LENGTH(keys); i++)
|
|
|
|
|
if (keysym == keys[i].keysym
|
|
|
|
|
&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
|
|
|
|
|
&& keys[i].func)
|
|
|
|
|
if (*keysym == keys[i].keysym
|
|
|
|
|
&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
|
|
|
|
|
&& keys[i].func)
|
|
|
|
|
keys[i].func(&(keys[i].arg));
|
|
|
|
|
XFree(keysym);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|