#include #include "X11EventQueue.h" #include "X11SharedDisplay.h" namespace sp { bool X11EventQueue::poll(Event& event) { XEvent xevent; int num_events; ::Display* disp; disp = XGetDisplay(); if (disp == NULL) { return false; } num_events = XEventsQueued(disp, QueuedAlready); for(int i = 0; i < num_events; i++) { XNextEvent(disp, &xevent); switch(xevent.type) { case ResizeRequest: Log::info("X11: Resize event"); break; case KeyPress: case KeyRelease: Log::info("X11: KeyEvent"); break; case ButtonPress: case ButtonRelease: Log::info("X11: MouseButtonEvent"); break; case MotionNotify: // This generates alot of events :) //Log::info("X11: MouseMotionEvent"); break; default: Log::info("Unknown event"); } } XReleaseDisplay(); return false; } } //namespace sp