захватить мышь с помощью Xlib
Я хочу написать простую программу Xlib, изменяющую поведение мыши (например, инвертирование вертикального движения). У меня проблема с захватом событий.
Я хотел бы, чтобы код
capture changes in the controllers position (I move mouse upward,MotionEvent
)
calculate new cursor position (new_x -= difference_x
)
set new cursor position ( move pointer down, XWarpPointer
, prevent event generation here)
Приведенный ниже код должен фиксировать событие движения при каждом перемещении мыши, но генерирует событие только при перемещении указателя из одного окна в другое ... Как захватить все события движения?
<code>#include "X11/Xlib.h" #include "stdio.h" int main(int argc, char *argv[]) { Display *display; Window root_window; XEvent event; display = XOpenDisplay(0); root_window = XRootWindow(display, 0); XSelectInput(display, root_window, PointerMotionMask ); while(1) { XNextEvent( display, &event ); switch( event.type ) { case MotionNotify: printf("x %d y %d\n", event.xmotion.x, event.xmotion.y ); break; } } return 0; } </code>
Связанные с: