12

当您在 Mac 上按住“shift”并用鼠标滚动时,它会将您的垂直滚动动作解释为水平滚动动作。这是我在 linux 上工作时最想念的功能,我很想把它带到 linux 上(因为我已经彻底看过了,似乎还没有其他人这样做过)。

我希望这可以通过某种运行时插件来完成,或者至少以一种不需要我重新编译所有其他应用程序来让它们使用该功能的方式来完成。我的问题是:有哪些库允许编写这样的插件?编写某种脚本会很好,因为功能似乎不应该那么复杂,但如果需要,我可以用 C 和 C++ 编写代码。

我已经研究过 XEvIE(已停产)和 XTrap(似乎也被弃用)等 X 解决方案。我很乐意暂时只使用 GTK / GNOME,至少作为概念证明。

如果这不能作为一个插件来完成,我应该使用哪个开源项目(Xfree86?GNOME?其他人?)来尝试使用这个功能?

-- 更新(有解决方案!):

安装包“xbindkeys”和“xautomation”。然后在 ~/.xbindkeysrc.scm 文件中写入以下内容:

; 将 shift + 垂直滚动绑定到水平滚动事件
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")

然后只需运行 xbindkeys

4

2 回答 2

1

我不确定,但 evdev 可以做这样的事情。例如,它可以在按下鼠标按钮(向上/向下滚动也是一个按钮)时模拟键盘按下。可以进行水平滚动(可能使用键盘左/右箭头?)。

于 2009-07-24T00:27:49.353 回答
0

仅供参考,(至少在我的 Kubuntu 12.4 LTS 机器上)它可以与开箱即用的 ALT+鼠标滚轮一起用于 KDE 应用程序。

这也很有意义,因为 ALT 键会修改所有鼠标按钮(左键可在任意位置抓取窗口,右键可在边框附近调整大小等)

于 2013-08-20T04:01:39.497 回答