linux 添加快捷键

来源:互联网 发布:excel 数据透视图 编辑:程序博客网 时间:2024/05/17 07:29

最近在做个添加笔记本快捷键的支持工作,一直都是老大带着做,功能实现之后在这里整理下思路。

1 硬件层会提供一个键码(scancode),我们这里为64。

2 系统内核中有0~255 的keycode,我们首先要将scancode 与 keycodes 进行绑定 : 使用命令 : setkeycodes scancode keycode

3 这个keycode并不能直接拿来用,我还需要将它映射到 x window 层,使用 xmodmap -e "keycode NUMBER = KEYSYMNAME ..."(注 : 命令依赖于x层)来进行映射,这里KEYSYMNAME由系统提供,在一个shortcuts-list.h 中定义,这里我们尝试过下载源码添加KEYSYMNAME,但是没有反应,时间比较赶,也就没有来研究。

4 修改过后我们可以通过命令 : xmodmap -pke 来查看 x层的映射情况。如果成功你可以看到映射关系

5 下面就是添加我们的实现脚本了,在系统中有 /usr/share/cinnamon/js/ui/keybindings.js 文件,在其中添加 :

        this.addHotKey("xxxxx", "KEYSYMNAME", Lang.bind(this, function() {
            Util.spawnCommandLine("这里是你要执行的功能");
        }

6 最后需要重启了。

0 0