|  |  | @ -282,7 +282,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { | 
			
		
	
		
			
				
					|  |  |  | [UnmapNotify] = unmapnotify | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  | static Atom wmatom[WMLast], netatom[NetLast]; | 
			
		
	
		
			
				
					|  |  |  | static Bool running = True; | 
			
		
	
		
			
				
					|  |  |  | static Bool running = True, usexkb; | 
			
		
	
		
			
				
					|  |  |  | static Cursor cursor[CurLast]; | 
			
		
	
		
			
				
					|  |  |  | static Display *dpy; | 
			
		
	
		
			
				
					|  |  |  | static DC dc; | 
			
		
	
	
		
			
				
					|  |  | @ -1069,7 +1069,10 @@ keypress(XEvent *e) { | 
			
		
	
		
			
				
					|  |  |  | XKeyEvent *ev; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | ev = &e->xkey; | 
			
		
	
		
			
				
					|  |  |  | keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); | 
			
		
	
		
			
				
					|  |  |  | if(usexkb) { | 
			
		
	
		
			
				
					|  |  |  | keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); | 
			
		
	
		
			
				
					|  |  |  | else | 
			
		
	
		
			
				
					|  |  |  | keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | 
			
		
	
		
			
				
					|  |  |  | for(i = 0; i < LENGTH(keys); i++) | 
			
		
	
		
			
				
					|  |  |  | if(keysym == keys[i].keysym | 
			
		
	
		
			
				
					|  |  |  | && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) | 
			
		
	
	
		
			
				
					|  |  | @ -1579,6 +1582,7 @@ setmfact(const Arg *arg) { | 
			
		
	
		
			
				
					|  |  |  | void | 
			
		
	
		
			
				
					|  |  |  | setup(void) { | 
			
		
	
		
			
				
					|  |  |  | XSetWindowAttributes wa; | 
			
		
	
		
			
				
					|  |  |  | int dummy = 0, xkbmajor = XkbMajorVersion, xkbminor = XkbMinorVersion; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* clean up any zombies immediately */ | 
			
		
	
		
			
				
					|  |  |  | sigchld(0); | 
			
		
	
	
		
			
				
					|  |  | @ -1631,6 +1635,8 @@ setup(void) { | 
			
		
	
		
			
				
					|  |  |  | |EnterWindowMask|LeaveWindowMask|StructureNotifyMask|PropertyChangeMask; | 
			
		
	
		
			
				
					|  |  |  | XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); | 
			
		
	
		
			
				
					|  |  |  | XSelectInput(dpy, root, wa.event_mask); | 
			
		
	
		
			
				
					|  |  |  | /* init xkb */ | 
			
		
	
		
			
				
					|  |  |  | usexkb = XkbQueryExtension(dpy, &dummy, &dummy, &dummy, &xkb_major, &xkb_minor); | 
			
		
	
		
			
				
					|  |  |  | grabkeys(); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
	
		
			
				
					|  |  | 
 |