events - 我从哪里开始制作 linux 输入法?

标签 events input mouse x11

当您在 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/

相关文章:

c# - WebControl 和 CompositeControl 之间的区别?

jquery - 验证 css 属性的多个输入

javascript - 在 Javascript 中检测 FireFox 的鼠标按钮

java - 创建我自己的右键单击事件

德尔福: Setting OnGetText Event Handler for fields of a dynamic query

c# - 如何在 wpf 中检测多个按键按下 onkeydown 事件?

java - Java GUI 设计的问题

css - 在输入数字中隐藏向上和向下箭头按钮(微调器)- Firefox 29

javascript - 如何使用 jQuery 拖动文本输入框的右下角来调整其大小(如 textarea)?

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序