| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -252,18 +252,18 @@ expose(XEvent *e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					keypress(XEvent *e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						KEYS | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int len = sizeof key / sizeof key[0]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int len = sizeof keys / sizeof keys[0]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int i; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						KeySym keysym; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XKeyEvent *ev = &e->xkey; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(i = 0; i < len; i++) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(keysym == key[i].keysym | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							&& CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(keysym == keys[i].keysym | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(key[i].func) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									key[i].func(key[i].arg); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(keys[i].func) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									keys[i].func(keys[i].arg); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -358,20 +358,20 @@ void (*handler[LASTEvent]) (XEvent *) = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					grabkeys(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						KEYS | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int len = sizeof key / sizeof key[0]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int len = sizeof keys / sizeof keys[0]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int i; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						KeyCode code; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XUngrabKey(dpy, AnyKey, AnyModifier, root); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(i = 0; i < len; i++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							code = XKeysymToKeycode(dpy, key[i].keysym); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, key[i].mod, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							code = XKeysymToKeycode(dpy, keys[i].keysym); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, keys[i].mod, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									GrabModeAsync, GrabModeAsync); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, key[i].mod | LockMask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, keys[i].mod | LockMask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									GrabModeAsync, GrabModeAsync); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, key[i].mod | numlockmask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, keys[i].mod | numlockmask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									GrabModeAsync, GrabModeAsync); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, key[i].mod | numlockmask | LockMask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGrabKey(dpy, code, keys[i].mod | numlockmask | LockMask, root, True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									GrabModeAsync, GrabModeAsync); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} |