Захват указателя мыши в определенном окне в x11 - PullRequest
0 голосов
/ 11 января 2019

Я могу получить список всех окон, используя _NET_CLIENT_LIST Свойство Atom x11. Используя это, я выбираю конкретное окно, представляющее мой интерес, скажем, окно gedit, и использую XSetInputFocus, и это прекрасно настроит ввод и управление с клавиатуры на окно gedit.

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

Я пытался XGrabPointer, но безуспешно. Он просто остановит мышь, и на экране больше не будет отображаться ввод мыши (например, щелчки мыши; я могу просто видеть указатель мыши, я также могу перемещать его, но он не выполняет никаких операций щелчка).

1 Ответ

0 голосов
/ 26 января 2019

Вы должны иметь возможность опрашивать события мыши, и, если пользователь пытается выйти за пределы прямоугольника, вы сможете изменить его положение. Если вы не держите указатель вне других окон, я не думаю, что вы можете предотвратить попадание на них щелчков мыши, но это возможно.

...