首页 > 解决方案 > 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 方形屏幕

谢谢!

标签: pythonraspberry-pikivysdltouchscreen

解决方案


因此,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。

此处在 GitHub 上提出的问题


推荐阅读