2013-05-09 3 views
1

Я хочу, чтобы кнопка правой кнопки мыши нажала на C++. Я программирую в ОС Linux.Как обнаружить кнопку правой кнопки мыши?

Я стараюсь использовать функцию XGrabPointer(display, root_win, False,ButtonPressMask, GrabModeSync, GrabModeSync, root_win, None, CurrentTime) и XWindowEvent(display, root_win, ButtonPressMask , &report) для моего проекта, но ответа нет.

Мой код:

Display* display = NULL; 
display = XOpenDisplay(NULL); 
Screen *screen; Window root_win; 
XEvent report; 
int screen_num; 
int check; 

screen_num = DefaultScreen(display); 
screen = XScreenOfDisplay(display, screen_num); 
root_win = RootWindow(display, XScreenNumberOfScreen(screen)); 
check = XGrabPointer(display, root_win, False,ButtonPressMask, GrabModeSync, GrabModeSync, root_win, None, CurrentTime); 
XAllowEvents(display, SyncPointer, CurrentTime); XWindowEvent(display, root_win, ButtonPressMask , &report); 
+1

щелчков мыши являются уведомления о событиях на основе, что ваш регистр против. с какими рамками вы планируете работать GTK, QT? – stdcall

+0

Я предлагаю использовать Qt. Тем не менее, мы не можем ответить, если вы не дадите более подробные сведения и некоторые исходные тексты. Какова ваша программа? –

+1

Удачи. X11 - это не инфраструктура (но библиотека с низким уровнем), и вам понадобятся месяцы, чтобы понять, как ее следует использовать, особенно ее взаимодействие с рабочим столом или оконным менеджером. Освоение [ICCCM] (http://en.wikipedia.org/wiki/Icccm) и [EWMH] (http://www.freedesktop.org/wiki/Specifications/wm-spec) займет у вас много месяцев, а подробности сосчитать. –

ответ

Смежные вопросы