在类Unix操作系统上重新映射系统范围内的密钥

时间:2015-05-08 09:39:35

标签: linux unix drivers

最近我想制作一个小工具,允许我任意重新映射键盘上的键以对应不同的字符输入。

从系统编程的角度来看,这通常是如何完成的?我应该参考什么来学习如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

我可能弄错了,但我相信这完全取决于你的跑步(你的窗口管理员是什么)。例如,如果您使用openbox运行某些内容(例如lubuntu),那么您可以参考以下内容:

http://openbox.org/wiki/Help:Bindings

Gnome有类似的概念。如果你想改变Gnome,你可能想要围绕gnome-tweak-tool改变事物的方式达到顶峰(特别是看看键绑定 - 调整会做更多的事情!)。

在这两种情况下,我建议使用Python(gnome-tweak-tool将是如何做到这一点的一个很好的参考点),因为编写GUI非常方便,并且允许您轻松更改必要的文件:)< / p>

如果您使用的是Ubuntu,这篇文章可能对您有用:

https://askubuntu.com/questions/115333/how-do-i-disable-the-sleep-button-on-my-keyboard

他们的问题是一个特定的关键,但前两个答案是相关的。使用dconf-tools的答案可以帮助您更好地了解事物的位置。

所以最后,您最终需要以不同方式配置某些文件,但这些文件的位置以及更改方式取决于您的窗口管理器。

以上内容对于禁用CAPS_LOCK或交换L_SHIFT和L_CTRL等非常有用。如果您要求一般性地更改任何键盘输入,那么幕后还会有更多内容。您可能希望阅读本文以获得有关正在发生的事情的详细说明:

http://www.linuxjournal.com/article/1080

因此,如果要重新映射事物,比如切换“a”和“f”键,则需要捕获“a”的键事件,然后发送“f”键事件。有很多方法可以查看按下了哪些按键,这可能是一个很好的起点:

https://superuser.com/questions/248517/show-keys-pressed-in-linux

在这个级别改变事物要困难/危险,所以一定要小心!

希望有所帮助!如果这不是您想要做的,请在您的问题中包含有关您的计划的实际目标的更多信息。