%20%C2%AB%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D0%BC%C2%BB%20%D0%B4%D0%BB%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D1%82%D0%BE%D0%BB%D0%B0.png)
Я ищу способ предотвратить использование указателя (в частности, пера графического планшета) в качестве обычного указателя ввода в X11 или Wayland. Однако я хотел бы по-прежнему иметь возможность оценивать щелчки и перемещения в моей программе. Поэтому, по сути, привяжите вывод этого пера к моему приложению, в идеале независимо от того, есть ли у него фокус или нет.
В X11 устройства можно сделать «плавающими», что не позволит использовать их в качестве универсальных устройств ввода, но я не уверен, можно ли сделать то же самое в Wayland и как это сделать.
Каков наилучший способ этого добиться?
решение1
Вы пробовали xinput?
xinput выведет список устройств ввода в X пример вывода
Виртуальный указатель ядра id=2 [главный указатель (3)] ↳ Виртуальный указатель XTEST ядра id=4 [подчиненный указатель (2)] ↳ USB-оптическая мышь id=8 [подчиненный указатель (2)]
затем используйте 'xinput -disable 8', чтобы отключить оптическую мышь для X
Вы сможете получать входные данные из файлов /dev/input/event*, например, попробовав утилиту «evtest» для вашего приложения!
Для wayland, похоже, есть похожие утилиты, см., например, команды sway-input или, может быть, libinput (но я смог найти только функцию отключения для sway-input...)