当您在 Mac 上按住“shift”并用鼠标滚动时,它会将您的垂直滚动 Action 解释为水平滚动 Action 。这是我在 linux 上工作时最想念的功能,我很想把它带到 linux 上(因为我已经彻底看过了,似乎还没有其他人这样做过)。
我希望这可以通过某种运行时插件来完成,或者至少以一种不需要我重新编译所有其他应用程序以使它们使用该功能的方式来完成。我的问题是:有哪些库允许编写这样的插件?编写某种脚本会很好,因为功能似乎不应该那么复杂,但如果需要,我可以用 C 和 C++ 编写代码。
我已经研究过 XEvIE(已停产)和 XTrap(似乎也被弃用)等 X 解决方案。我很乐意暂时只使用 GTK/GNOME,至少作为概念证明。
如果这不能作为插件完成,我应该使用哪个开源项目(Xfree86?GNOME?其他人?)来尝试使用这个功能?
--
更新(有解决方案!):
安装包“xbindkeys”和“xautomation”。然后在 ~/.xbindkeysrc.scm 文件中写入以下内容:
;将 shift + 垂直滚动绑定(bind)到水平滚动事件
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")
然后只需运行 xbindkeys
最佳答案
我不确定,但 evdev 可以做这样的事情。例如,它可以在按下鼠标按钮(向上/向下滚动也是一个按钮)时模拟键盘按下。可以进行水平滚动(可能使用键盘左/右箭头?)。
关于events - 我从哪里开始制作 linux 输入法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1175192/