
Modify keyboard mapping in Linux
我的键盘不具备编程能力,但是 68 键的 esc
和 ~
是同一个,用起来还要按 FN 键,挺麻烦的。
所以我必须找一个能修改按键映射的方法,本来我打算修改 xkb增加一个键盘布局的,但是同事分享一个好项目,可以在 Linux 上非常简单的修改按键映射。
这里先贴一个官方的例子,然后我增加了两个映射,把 esc
映射成了 ~
,这样我的左上角就是普通的按键了,然后再把 左 ctrl
映射成了 esc
,把 caps lock
映射成 左 ctrl
,并且更进一步,在 keyd 的帮助下,长按是 ctrl
,轻按是 esc
,非常的爽。
# NOTE: to use this, rename this file to default.conf and put in /etc/keyd/ |
简单说下配置文件的内容,可以在 [ ]
中定义一个 layer,其中 main
是入口,并且 layer 可以继承自别的 layer,例如 [ctrl_vim:C]
,意思是 ctrl_vim
这个 layer,继承自 ctrl
,这是 keyd 内置的 layer,然后使用下面配置的按键开启映射。
所以配置文件里在 ctrl_vim
情况下,按空格键,就会开启 vim_mode
的 layer,然后在 vim_mode
的layer下,按 h
就等同于左方向键,直到松开 ctrl
。
在 [main]
中可以看到有一个奇怪的 overload
,这个函数的意思是长按是 ctrl
,轻按一次是 esc
,相当于给一个按键使用了多个模式。
项目里只给了一些例子,具体用法只能自己多研究了。
引用站外链接
keyd
A key remapping daemon for linux.
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自小竹's blog
评论 ()