LINUX.ORG.RU

Как найти координаты всех кликабельных виджетов на экране?

 a11y, eye tracking


0

2

Пилю управление компом на онтопике при помощи отслеживателя взгляда (Tobii REX). Координаты взгляда шумят, поэтому даже после ликвидации систематической ошибки и усреднения последних показаний точность все же не огонь. Хочется как-то ему помочь.

Как можно получить список координат всех кликабельных виджетов на экране без костылей типа screen scraping и распознавания образов? Выбирать из вариатов будет проще, чем попадать в кнопку. Интересуют qt, gtk, что там у firefox.

Возможные направления мысли, где этой инфой можно поживиться: accessibility, колупание в стиле GTK Parasite.

Никто не ковырялся c инструментами, которые бы это могли? Подскажите что-нибудь.

★★★★★

Забей, сейчас ничего не получится. Раньше можно было.

Работать будет только для грамотных тулкитов и чистого Xlib, которые не занимаются самостоятельным обслуживанием виджетов и у которых виджет это обязательно Window, а не херня какая-то как в gtk или Qt. Проходишь по всем имеющимся X Window и смотришь что у них в event_mask - если Button*EventMask есть - скорее всего это кликабельное окошко.

Но с модными тулкитами такое не прокатит, там кнопка запросто может быть не окном, а просто нарисованным прямоугольником в огромном пиксмапе, а клики отслеживаются потрошками тулкита. И никак ты не определишь, кликабельная эта кнопка или нет, и даже факт её наличия в общем-то.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

клики отслеживаются потрошками тулкита. И никак ты не определишь, кликабельная эта кнопка или нет, и даже факт её наличия в общем-то.

GTK Parasite залезает в потрошки тулкита и может. Может и кросстулкитное что-нибудь есть, какой-нибудь libatk.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

Полностью кросстулкитен разве что Xlib, и то очень условно. В GTK+3 вон вообще отрисовка сильно абстрагирована и вынесена на видеокарту, там даже близко по иксовым примитивам ничего не допросишься. Не говоря уж о том, что есть тулкиты, которые изначально велосипедно отрисовывались.

bodqhrohro_promo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.