Kivy on_release не работает на сенсорном экране - проблема с SDL? - PullRequest
0 голосов
/ 15 апреля 2020

Я разработал базовое c приложение с Kivy, но on_release не работает должным образом при привязке моих кнопок. Я могу заставить on_press работать каждый раз, но on_release работает время от времени (может быть, один из десяти-двадцати раз), а иногда и на другой части экрана, чем вы касались.

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

Вместе с этим я получаю сообщение об ошибке SDL в терминале: INFO: The key you just pressed is not recognized by SDL. To help get this fixed, please report this to the SDL forums/mailing list <https://discourse.libsdl.org/> EVDEV KeyCode 330

Это появляется как при касании, так и при отпускании. EVDEV посоветовал перейти на SDL2, что я и сделал, и он не решил ошибку, которую можно было бы просто игнорировать, если бы не спам, который он создает.

Я не уверен, связаны ли эти две проблемы, но не Не знаю, с чего начать с устранения неполадок.

Может кто-нибудь помочь с тем, какие шаги я мог бы предпринять, чтобы попытаться решить эту проблему?

Я в основном хочу исправить on_release, но если мы исправим другая ошибка в этом процессе, это тоже было бы замечательно.

Я использую Raspberry Pi Zero W, Raspbian Buster с рабочим столом и гиперпиксельный квадратный экран 4.0

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2020

У меня была такая же проблема. Я использую Kivy 1.11.1 с отчетами SDL как 2.0.9 + dfsg1-1 + rpt1 в dpkg. Я читал, что это исправлено в более поздней версии SDL, но я не разработал, как обновить это. Будьте осторожны, если вы извлекаете архив SDL RPI, так как в моей системе он удаляет разрешения / usr (и не обновляет версию, как сообщает dpkg). Если я запускаю mtdev-test (см. Google), события сенсорного экрана проходят гладко. При запуске приложений kivy события на сенсорном экране выглядят запаздывающими, что совпадает с сообщением об ошибке 330. Пресс / релиз, кажется, работает, но события движения ошибочны c. На моем сенсорном экране проблему с ошибками можно хорошо продемонстрировать на примере демоверсии / touchtracer kivy, который отлично работает с мышью USB, но с сенсорным экраном ужасен.

...