Получить X / Y позицию каретки (курсор ввода текста) под Xorg? - PullRequest
0 голосов
/ 17 ноября 2018

Я бы хотел отобразить всплывающее окно прямо над тем, где пользователь печатает, в любом приложении Linux (GTK, Qt, Electron и т. Д.), Работающем на X.

Я понял, как создать поповерТеперь я пытаюсь выяснить, как получить координаты курсора ввода текста (что мигает при вводе текста, не уверен, называется ли он «кареткой»?) относительно экрана.

Я знаю, что яможно получить информацию о том, где находится мышь с помощью xdotool:

xdotool getmouselocation

Мне понадобится то же самое, но для текстового курсора, в текущем фокусированном окне.

Понятия не имею, какдля достижения этой цели.Я был бы рад, если бы кто-то указал мне правильное направление.

1 Ответ

0 голосов
/ 19 ноября 2018

Итак, после некоторого исследования я смог найти один способ реализовать это:

  • использовать xdotool для вставки некоторой случайной строки
  • использовать OCR для поиска координатслучайной строки
  • используйте xdotool для удаления случайной строки

Проблема заключается в том, что этот подход довольно медленный (до 10 секунд в зависимости от объема текста наscreen).

Я также пытался сравнить снимки экрана (до / после вставки текста), и это намного быстрее, но гораздо менее точно.

...