+send_keycode(KeyCode key, unsigned int state) {
+ XKeyEvent event;
+ if(!selmon->sel) {
+ return;
+ }
+ event.display = dpy;
+ event.root = root;
+ event.window = selmon->sel->win;
+ event.subwindow = None;
+ event.same_screen = True;
+ event.x = 1;
+ event.y = 1;
+ event.x_root = 1;
+ event.y_root = 1;
+ event.time = CurrentTime;
+ event.state = state; // modifiers
+ event.keycode = key;
+ event.type = KeyPress;
+ XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event);
+ event.type = KeyRelease;
+ XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event);
+}
+
+void