python - Kivy on_release 在触摸屏上不起作用 - SDL 问题?
问题描述
我用 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 w/Desktop 和 Hyperpixel 4.0 方形屏幕
谢谢!
解决方案
因此,SDL 错误似乎在最新版本的 Raspberry Pi OS(与 Raspbian Buster 不同)中消失了。
on_release 的问题原来是 Kivy[postproc:calibration]
在/.kivy/config.ini
. 我正在使用那里的设置来反转触摸,因为我的提供者已经反转了 x,y 坐标。问题是 kivy 似乎没有使用 on_touch_up 的反转设置,只使用 on_touch_down,因此不调度 on_release。
推荐阅读
- sapui5 - Opa5:无法读取未定义的属性“iLookAtTheScreen”
- java - Appium Java 客户端版本与 Selenium 版本
- laravel-5 - Laravel 获取特定数量的相关模型
- php - 具有递归函数的嵌套循环?
- c# - Web API 中的加密问题
- javascript - 我可以使用 Javascript 中的数组方法以更好(更短)的条件重写这个双循环吗
- java - 如何根据提供的 HTML 从弹出窗口中定位元素?
- file - PS脚本将特定文件复制到特定文件夹中
- outlook - Microsoft Graph:如何获取 Outlook 任务的受理人的电子邮件地址?
- javascript - JavaScript - PHP HttpRequest 安全问题