当我使用(垂直)滚轮并按 时,我想模拟水平滚动Shift。
在某些应用程序 (Chrom{e,ium}) 中,这已经有效,但我正在寻找 X 应用程序的通用解决方案。
到目前为止我得到的最接近的是xbindkeys
+ xdotool
。
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Run Code Online (Sandbox Code Playgroud)
问题是xbindkeys
似乎错过了一些事件,有时垂直滚动“通过”。这很烦人。看起来xbindkeys
正在使用某种轮询?
此外,我不喜欢每秒生成数百个 shell 命令。
我有一个小屏幕,必须水平滚动很多。
如何实现通用的水平滚动?
更新:
还有另一种方法可以用xbindkeys
and做我想要的大部分事情xmodmap
。
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Run Code Online (Sandbox Code Playgroud)
当Shift被保持,指针按钮4和5被映射到6和7(按钮4/5是用于水平滚动前垂直滚动和6/7)。c:50
是左键Shift。在按键释放时,默认的指针映射被恢复。
这很好地解决了“事件过多”的问题。但是,Shift 键不再用作普通修饰符。我试图用这样的方式重新发布Shift新闻/发布事件 …