Brōtsyorfuzthrāx Asked: 2018-02-15 23:51:32 +0800 CST2018-02-15 23:51:32 +0800 CST 2018-02-15 23:51:32 +0800 CST 如何让 xbindkeys 将其修饰符与 xte 分开? 772 当我这样做时.xbindkeysrc "xte 'keydown Control_L' 'key W' 'keyup Control_L'" Shift + b:9 它执行 ctrl+shift+w 而不是我预期的 ctrl+w 的动作。知道如何解决这个问题吗?添加+ Release到第二行没有帮助。 xbindkeys xte 1 个回答 Voted Best Answer meuh 2018-02-18T03:23:26+08:002018-02-18T03:23:26+08:00 xte使用 XTest 扩展,只是将您的请求添加到当前修饰符状态,而不是尝试从某个基本状态开始。其他工具,例如xdotool提供一个--clearmodifiers选项,以确保您将得到您想要的。 由于xbindkeys在修饰符状态为 withShift_L或Shift_Rpress 时会注意到您的请求,因此这是该状态的xte工作来源。您应该能够xte通过从keyup Shift_L, 或者也可以模拟升档来取消它Shift_R。后面真正的升档将被忽略,或者您可以将换档状态恢复到xte动作结束时的状态,以避免再次按下换档键,但这是由您选择的。
xte
使用 XTest 扩展,只是将您的请求添加到当前修饰符状态,而不是尝试从某个基本状态开始。其他工具,例如xdotool
提供一个--clearmodifiers
选项,以确保您将得到您想要的。由于
xbindkeys
在修饰符状态为 withShift_L
或Shift_R
press 时会注意到您的请求,因此这是该状态的xte
工作来源。您应该能够xte
通过从keyup Shift_L
, 或者也可以模拟升档来取消它Shift_R
。后面真正的升档将被忽略,或者您可以将换档状态恢复到xte
动作结束时的状态,以避免再次按下换档键,但这是由您选择的。