Как я могу определить, какое устройство инициировало событие касания в Kivy? например, палец, ручка или мышь - PullRequest
0 голосов
/ 18 апреля 2020

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

Просматривая документацию по API событий касания, я обнаружил, что есть свойства типа touch.profile или touch.uid или другие. Я не уверен, что взять. Кажется, что каждое свойство, которое я пробовал, не возвращает уникальный идентификатор устройства, поэтому я могу определить, какое из трех «устройств», которые я упомянул, вызвало событие.

Также стоит отметить, что в выходном тексте инициализации Kivy я см .:

[INFO   ] [ProbeSysfs  ] device match: /dev/input/event9
[INFO   ] [MTD         ] Read event from </dev/input/event9>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event5
[INFO   ] [MTD         ] Read event from </dev/input/event5>
[INFO   ] [Base        ] Start application main loop
[WARNING] [MTD         ] Unable to open device "/dev/input/event9". Please ensure you have the appropriate permissions.
[WARNING] [MTD         ] Unable to open device "/dev/input/event5". Please ensure you have the appropriate permissions.

Тем не менее, моя ручка и сенсорный палец работают, тем не менее. Xournal ++ на моей Linux машине хорошо работает пером и пальцем, поэтому я не думаю, что это проблема с правами пользователя.

Например, при выводе print(touch.device) выдается mouse во всех трех случаях.

Я на Linux, но намереваюсь также поддерживать по крайней мере на Windows. Также найдены https://kivy.org/doc/stable/api-kivy.input.providers.mtdev.html и https://kivy.org/doc/stable/api-kivy.input.providers.probesysfs.html#module -kivy.input.providers.probesysfs , но я не уверен, что делать с этой информацией или, если она уместна, как я понял, провайдеры обнаруживается автоматически.

Альтернативы Kivy также приветствуются, хотя это выглядит как действительно хороший фреймворк, поэтому я бы предпочел придерживаться его. Любые идеи? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...