Я пишу небольшую программу для управления курсором мыши с помощью Xlib. Мне нужно произвольно установить его местоположение в конфигурации с несколькими дисплеями. ОС Linux и режим xinerama включен.
Используя приведенный ниже код, указатель работает не так, как я ожидаю.
xdisplay1 = XOpenDisplay (NULL);
root = DefaultRootWindow (xdisplay1);
XWarpPointer (xdisplay1, Отсутствует, корень, 0,0,0, х, у);
XFlush (xdisplay1);
События, как правило, не сбрасываются, если я не «вручную тряхну» устройство мыши. Кроме того, это работает, только если я не деформируюсь в другой монитор. Когда это происходит, указатель застревает на соответствующем краю деформации.
Такое поведение привело меня к мысли, что проблема связана с конфигурацией с несколькими дисплеями. Есть кто-нибудь, кто знает, как решить это быстро?
Спасибо!