Open Mingun opened 4 years ago
Кроме того, почему-то grab_button
(захват событий мыши) всегда использует кортевое окно дисплея, а grab_all_keys
для XInput использует корневое окно, а для не XInput -- переданное в функцию. Выбор событий по смене фокуса также использует переданное окно. Такое смешение окон подозрительно и похоже на ошибку. Если это все же не ошибка, нужно добавить комментарий в код, объясняющий такой странный подход.
В процессе анализа кода обнаружил странное место в функции
grab_all_keys
, очень похожее на ошибку: https://github.com/AndrewCrewKuznetsov/xneur-devel/blob/362019ac27f388b319b654d33ec3b1799339bf72/xneur/lib/main/utils.c#L134-L172Для установки
is_grab
используется константаXIAllDevices
, а для снятия -- константаXIAllMasterDevices
. Причем до коммита c8eb7bfa31cabf9cded7741706670e4746af4b98 всегда использовалась константаXIAllMasterDevices
. Автор коммита неизвестен гитхабу, поэтому я не могу призвать его сюда, но это изменение никак в коммите не описано и очень похоже на ошибку.