Управление мышью с помощью xlib в конфигурации с несколькими дисплеями - PullRequest
1 голос
/ 27 февраля 2012

Я пишу небольшую программу для управления курсором мыши с помощью Xlib. Мне нужно произвольно установить его местоположение в конфигурации с несколькими дисплеями. ОС Linux и режим xinerama включен.

Используя приведенный ниже код, указатель работает не так, как я ожидаю.

xdisplay1 = XOpenDisplay (NULL);

root = DefaultRootWindow (xdisplay1);

XWarpPointer (xdisplay1, Отсутствует, корень, 0,0,0, х, у);

XFlush (xdisplay1);

События, как правило, не сбрасываются, если я не «вручную тряхну» устройство мыши. Кроме того, это работает, только если я не деформируюсь в другой монитор. Когда это происходит, указатель застревает на соответствующем краю деформации.

Такое поведение привело меня к мысли, что проблема связана с конфигурацией с несколькими дисплеями. Есть кто-нибудь, кто знает, как решить это быстро?

Спасибо!

1 Ответ

0 голосов
/ 06 июня 2012

Это не самое симпатичное решение, но обход

  XDefineCursor(display,root_window,XCreateFontCursor(display, XC_circle)); 

кажется обходным решением.

...