Guest User

Untitled

a guest
Nov 24th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <gdk/gdk.h>
  3. #include <gdk/gdkx.h>
  4. #include <gtk/gtk.h>
  5.  
  6. GdkFilterReturn filter(GdkXEvent *xevent, GdkEvent *event, gpointer data) {
  7. XKeyEvent *ev = (XKeyEvent *) xevent;
  8. if (ev->type == KeyPress) {
  9. printf("Ctrl hit.n");
  10. } else if (ev->type == KeyRelease) {
  11. printf("Ctrl release.n");
  12. }
  13. return GDK_FILTER_CONTINUE;
  14. }
  15.  
  16. int main(int argc, char *argv[]) {
  17. gtk_init(&argc, &argv);
  18.  
  19. GdkScreen *scr = gdk_screen_get_default();
  20. GdkWindow *groot = gdk_screen_get_root_window(scr);
  21. gdk_window_add_filter(groot, filter, NULL);
  22.  
  23. Display *d = gdk_x11_get_default_xdisplay();`enter code here`
  24. Window root = GDK_WINDOW_XID(groot);
  25. int keycode = XKeysymToKeycode(d, XK_Control_L);
  26. XGrabKey(d, keycode, AnyModifier, root, 1, GrabModeAsync, GrabModeAsync);
  27.  
  28. gtk_main();
  29. }
Add Comment
Please, Sign In to add comment