触摸屏右键单击模拟不起作用

触摸屏右键单击模拟不起作用

我有一个触摸屏设备,已为其启用第三个按钮模拟xinput

Device 'ft5x_ts':
...
Evdev Third Button Emulation (257): 1
Evdev Third Button Emulation Timeout (258): 750
Evdev Third Button Emulation Button (259):  3
Evdev Third Button Emulation Threshold (260):   20
...

完整日志

但是,模拟不起作用 - 右键单击​​事件从未出现。以下是输出示例xev

ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2058845, (94,90), root:(96,117),
state 0x100, button 1, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2059658, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES

ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, button 1, same_screen YES

ButtonPress如您所见,和之间的间隔ButtonRelease大于 750 毫秒,并且指针移动低于 20 像素的阈值,但xev报告按下了按钮 1,而不是按钮 3。

讽刺的是,当我在同样的方式,长按按钮 1 可以模拟按钮 3:

ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870367, (48,82), root:(50,109),
state 0x0, button 3, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870422, (49,81), root:(51,108),
state 0x400, is_hint 0, same_screen YES

ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870590, (49,81), root:(51,108),
state 0x400, button 3, same_screen YES

有人能帮帮我吗,也许指出一些我没有注意到的异常?

PS. 第三个按钮模拟曾经工作在 Debian Wheezy 下使用触摸屏时,升级到 Jessie 后就停止工作了。目前,我恢复了上次备份以恢复 Wheezy 安装,但我仍然需要一个解决方案,因为 Wheezy 正在逐步淘汰。

答案1

根据,右键单击模拟是 Debian Jessie 中的一个常见问题,并不局限于特定的发行版。对我而言(在 10 点触摸屏上)有效的解决方法是使用双指公用事业:

git clone https://github.com/Plippo/twofing
sudo apt-get install build-essential libx11-dev libxtst-dev libxi-dev x11proto-randr-dev libxrandr-dev
cd twofing; make
./twofing /dev/input/eventXX

eventXX是与触摸屏相对应的设备,可以通过 找到xinput list。右键单击事件通过双指单击执行,并且作为奖励,您将获得滚动手势(双指拖动)和放大/缩小手势(双指捏合)。我没有尝试twofing使用电阻式触摸屏,但我认为它不会起作用,因为电阻式触摸屏不支持多点触控。

相关内容