0

我想将键组合 Win+n(或 Mod4+n)映射到单个键事件“Prior”(也称为 PageUp),并且“Prior”中的任何修饰符都被清除。

我已经深深陷入了快速的困境,所以只有一个实际可行的解决方案对我来说才有价值。

似乎我无法以某种方式清除修饰符。我将以下行添加到我的 .i3/config 文件中。

bindsym $mod+n exec xdotool key --clearmodifiers Prior

但这不会正确模拟“Prior”键事件。但是,如果我从 shell 执行 xdotool 并使用 Firefox 测试它,按住 Windows 键,它就可以工作。所以我的 xdotool 命令仅在从 i3 调用时在上下文中不起作用。

sleep 3 && xdotool key --clearmodifiers Prior
# switch to Firefox window, hold down Windows -> page is scrolled up

我也试过 xbindkeys,......我也有同样的问题。

4

1 回答 1

0
bindsym $mod+n exec "xdotool keyup n; xdotool key --clearmodifiers Prior;"

您还需要为您的键绑定和修饰符发送 keyup 事件。在这种情况下,我们需要在第二个命令上使用keyup n--clearmodifiers 。

于 2019-04-04T22:03:57.427 回答