added key handling
This commit is contained in:
29
wm.c
29
wm.c
@ -24,7 +24,6 @@ Client *client = NULL;
|
||||
|
||||
char *bartext, tag[256];
|
||||
int screen, sel_screen;
|
||||
unsigned int lock_mask, numlock_mask;
|
||||
|
||||
/* draw structs */
|
||||
Brush brush = {0};
|
||||
@ -143,32 +142,6 @@ startup_error_handler(Display *dpy, XErrorEvent *error)
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
init_lock_keys()
|
||||
{
|
||||
XModifierKeymap *modmap;
|
||||
KeyCode numlock;
|
||||
int i;
|
||||
static int masks[] = {
|
||||
ShiftMask, LockMask, ControlMask, Mod1Mask,
|
||||
Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask
|
||||
};
|
||||
|
||||
numlock_mask = 0;
|
||||
modmap = XGetModifierMapping(dpy);
|
||||
numlock = XKeysymToKeycode(dpy, XStringToKeysym("Num_Lock"));
|
||||
|
||||
if(modmap && modmap->max_keypermod > 0) {
|
||||
int max = (sizeof(masks) / sizeof(int)) * modmap->max_keypermod;
|
||||
for(i = 0; i < max; i++)
|
||||
if(numlock && (modmap->modifiermap[i] == numlock))
|
||||
numlock_mask = masks[i / modmap->max_keypermod];
|
||||
}
|
||||
XFreeModifiermap(modmap);
|
||||
|
||||
lock_mask = 255 & ~(numlock_mask | LockMask);
|
||||
}
|
||||
|
||||
static void
|
||||
cleanup()
|
||||
{
|
||||
@ -243,7 +216,7 @@ main(int argc, char *argv[])
|
||||
cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
|
||||
cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
|
||||
|
||||
init_lock_keys();
|
||||
update_keys();
|
||||
|
||||
brush.drawable = XCreatePixmap(dpy, root, rect.width, rect.height,
|
||||
DefaultDepth(dpy, screen));
|
||||
|
Reference in New Issue
Block a user