...
综上两点进一步确认了,不是weston的问题,其他x11client端确实都有收到Ctrl按键up事件,怀疑Xorg server端的问题。
5、排查Xorg端:初步使用gdb调试,发现麒麟桌面的Xorg没有开启debug。下一步只能自行编译xserver项目源码,编译调试版本并安装。具体编译安装步骤已在另外一篇文档单独记录,地址:5、排查Xorg端:初步使用gdb调试,发现麒麟桌面的Xorg没有开启debug。下一步只能自行编译xserver项目源码,编译调试版本并安装。具体编译安装步骤已在另外一篇文档单独记录,请移步查阅。地址:h. xserver debug版本编译过程说明
经过编译安装后,注销重新登录。开始对Xorg进行gdb调试分析。
...
这里找到了Ctrl按键up伪事件的来源为imwheel程序。imwheel进程使用XTEST扩展Xorg发送模拟事件。包名为imwheel,程序路径/usr/bin/imwheel。将imwheel进程kill掉测试验证结果:按住Ctrl按键滚动鼠标滚轮x11窗口不再重复收到Ctrl按键抬起事件。测试weston应用方式启动的OpenFDE鼠标滚轮模拟双指触摸缩放功能恢复正常。
6、imwheel分析研究
关于imwheel的源码编译安装,已记录在另外一篇文档。请移步查阅,地址:i. imwheel debug版本编译安装说明
imwheel:是在Linux中支持鼠标非标准按钮的一个程序,用于Linux系统的鼠标滚轮增强工具,它可以重新映射滚轮事件,以提供更好的滚动控制和自定义功能,如缩放、翻页等。事件传递流程如下图所示。
...