added mappingnotify event for kb refreshes
							parent
							
								
									9eef9f7b02
								
							
						
					
					
						commit
						0f3acce042
					
				
							
								
								
									
										12
									
								
								event.c
								
								
								
								
							
							
						
						
									
										12
									
								
								event.c
								
								
								
								
							| 
						 | 
					@ -276,6 +276,16 @@ leavenotify(XEvent *e)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					mappingnotify(XEvent *e)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						XMappingEvent *ev = &e->xmapping;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						XRefreshKeyboardMapping(ev);
 | 
				
			||||||
 | 
						if(ev->request == MappingKeyboard)
 | 
				
			||||||
 | 
							grabkeys();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
maprequest(XEvent *e)
 | 
					maprequest(XEvent *e)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -348,6 +358,7 @@ void (*handler[LASTEvent]) (XEvent *) = {
 | 
				
			||||||
	[LeaveNotify] = leavenotify,
 | 
						[LeaveNotify] = leavenotify,
 | 
				
			||||||
	[Expose] = expose,
 | 
						[Expose] = expose,
 | 
				
			||||||
	[KeyPress] = keypress,
 | 
						[KeyPress] = keypress,
 | 
				
			||||||
 | 
						[MappingNotify] = mappingnotify,
 | 
				
			||||||
	[MapRequest] = maprequest,
 | 
						[MapRequest] = maprequest,
 | 
				
			||||||
	[PropertyNotify] = propertynotify,
 | 
						[PropertyNotify] = propertynotify,
 | 
				
			||||||
	[UnmapNotify] = unmapnotify
 | 
						[UnmapNotify] = unmapnotify
 | 
				
			||||||
| 
						 | 
					@ -360,6 +371,7 @@ grabkeys()
 | 
				
			||||||
	unsigned int i;
 | 
						unsigned int i;
 | 
				
			||||||
	KeyCode code;
 | 
						KeyCode code;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						XUngrabKey(dpy, AnyKey, AnyModifier, root);
 | 
				
			||||||
	for(i = 0; i < len; i++) {
 | 
						for(i = 0; i < len; i++) {
 | 
				
			||||||
		code = XKeysymToKeycode(dpy, key[i].keysym);
 | 
							code = XKeysymToKeycode(dpy, key[i].keysym);
 | 
				
			||||||
		XGrabKey(dpy, code, key[i].mod, root, True,
 | 
							XGrabKey(dpy, code, key[i].mod, root, True,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue