如何消除Ubuntu系统上Kivy应用的300ms触摸延迟?
解决Kivy在Ubuntu 20.04触摸屏笔记本的触摸问题
1. 修复输入设备权限问题
日志中的权限警告是因为当前用户无访问/dev/input/event*设备的权限,执行以下步骤解决:
- 将用户加入
input组:sudo usermod -aG input $USER - 注销当前用户并重新登录,使权限变更生效。
2. 消除触摸点击延迟
Ubuntu默认的300ms触摸点击延迟是按钮响应迟缓的核心原因,配合Kivy输入配置优化解决:
系统层面禁用触摸延迟
执行命令直接修改系统触摸配置:
gsettings set org.gnome.desktop.peripherals.touchscreen click-method 'none'
若使用Xorg而非Wayland,可修改Xorg配置文件加固效果:
- 编辑
/usr/share/X11/xorg.conf.d/40-libinput.conf - 在触摸屏对应的
Section "InputClass"块中添加:Option "ClickMethod" "none" Option "DisableWhileTyping" "off" - 重启系统生效。
Kivy输入配置优化
修改~/.kivy/config.ini的[input]部分,区分鼠标与触摸设备,同时解决右键红点问题:
[input] # 禁用鼠标多点触摸模拟,消除右键红点 mouse = mouse,disable_multitouch # 配置触摸屏使用mtdev驱动(需先修复权限) mtdev_%(name)s = probesysfs,provider=mtdev # HID触摸设备适配配置(可选,依硬件调整) hid_%(name)s = probesysfs,provider=hidinput
3. 验证效果
完成上述操作后重启Kivy应用:
- 右键点击不再出现模拟多点触摸的红点;
- 触摸按钮时按压状态和事件触发会立即响应,延迟消失。
内容的提问来源于stack exchange,提问作者DavGin
相关产品推荐
相关产品推荐

