当前位置: 首页 > 工具软件 > xdotool > 使用案例 >

linux缩放快捷键没反应,linux – 绑定到快捷键的xdotool命令不起作用

胡致远
2023-12-01

我很喜欢VIM,我想在任何地方使用它的键绑定.有许多IDE插件可以模拟这个,但我想要更多,也许是Minecraft中的VIM键绑定? :D或VIM键绑定无处不在,无需下载任何插件.

我注意到每个编辑器都实现了这个键:Home,End,Ctrl End,Ctrl Left,Ctrl Backspace等等……

我使用这些键作为构建块,我想出了i3wm的配置:

mode "VIM MODE NORMAL" {

bindsym --release h exec "xdotool key --clearmodifiers Left"

bindsym --release j exec "xdotool key --clearmodifiers Down"

bindsym --release k exec "xdotool key --clearmodifiers Up"

bindsym --release l exec "xdotool key --clearmodifiers Right"

bindsym --release Shift H exec "xdotool key --clearmodifiers Home"

bindsym --release Shift L exec "xdotool key --clearmodifiers End"

bindsym --release Shift G exec "xdotool key --clearmodifiers ctrl+End"

bindsym --release g exec "xdotool key --clearmodifiers ctrl+Home"

bindsym --release u exec "xdotool key --clearmodifiers --repeat 5 Up"

bindsym --release d exec "xdotool key --clearmodifiers --repeat 5 Down"

bindsym --release b exec "xdotool key --clearmodifiers ctrl+Left"

bindsym --release e exec "xdotool key --clearmodifiers ctrl+Right"

bindsym --release Shift O exec "xdotool key --clearmodifiers Up End Return"; mode "delault"

bindsym --release o exec "xdotool key --clearmodifiers End Return"; mode "default"

bindsym --release Shift A exec "xdotool key --clearmodifiers End"; mode "default"

bindsym --release Shift I exec "xdotool key --clearmodifiers Home"; mode "default"

bindsym q mode "default"

bindsym Escape mode "default"

}

bindsym Menu mode "VIM MODE NORMAL"

该代码段有效,但不是我想要的方式.如果我不使用–release代码根本不起作用,因为这个键不重复,所以不能按住J并向下滚动.

这似乎是一个窗口焦点问题.由于某些原因,当我按下键绑定时,窗口失去焦点几毫秒,然后它再次聚焦.这在Firefox的Url Bar中最为明显.我找到this question asked years ago,这表明在执行xdotool之前增加一秒延迟,我可以使用它,但第二次会产生巨大的输入延迟.

我也尝试过其他窗口管理器和热键守护进程sxhkb,但一切都完全一样……

解决方法:

我遇到了同样的问题,我意识到你必须告诉xdotool为你的keybindings中的键发送keyup事件.例如:

bindsym h exec "xdotool keyup h; xdotool key"

为每个绑定做到这一点,我认为它会起作用.

标签:linux,key-bindings,xdotool,i3

来源: https://codeday.me/bug/20190701/1346758.html

 类似资料: