当我这样做时.xbindkeysrc
"xte 'keydown Control_L' 'key W' 'keyup Control_L'"
Shift + b:9
它执行 ctrl+shift+w 的操作,而不仅仅是我预期的 ctrl+w 。知道如何解决这个问题吗?添加+ Release
到第二行没有帮助。
答案1
xte
使用 XTest 扩展,只需将您的请求添加到当前修改器状态,而不是尝试从某个基本状态开始。例如,其他工具xdotool
提供了一个--clearmodifiers
选项,以确保您得到您想要的东西。
由于xbindkeys
当修改器状态为“with”Shift_L
或“ Shift_R
pressed”时会注意到您的请求,因此这就是状态的xte
工作原理。您应该能够xte
通过以keyup Shift_L
, 或许也可以 开始来模拟升档以取消此操作Shift_R
。稍后真正的上移将被忽略,或者您可以将换档状态恢复到操作结束时的状态xte
,以避免需要再次按换档键,但这由您选择。