我是先使用过kmonad才去买的61键键盘,我觉得没有kmonad的加持,61键键盘权衡效率和便携是不值得考虑的,但有了kmonad就能发挥出媲美104键的全部能力,不用再有顾虑。
kmonad是个强大的按键重映射工具,当sxhkd用序列的方式扩展了快捷键的能力后,setxkbmod给caps的分配提供了很多方案,但它们从不能把任意键变成修饰键。而kmonad正精于此道。
当我启动kmonad时,按住caps就进入方向键层,按住右alt键就进入窗口操作层,按住右ctrl时就进入数字层,同时也可以用组合键右alt+caps锁定方向键层等。用tap-next,tap-hold,multi-tap,toggle-layer,layer-add,layer-rm就能实现。
当你停留在某个层时,,比如方向层,在使用mpv时切换播放列表很方便,但mpv有很多快捷键是得用本意呀,这时也可以临时回到基础层用around-next,layer-delay就好。
around是最基础但十分有用的命令,tap-next也是,和tap-next-release区别不大。
它还可以设置一个键为sticky键,我设置super键为粘滞键,因为我启动程序的快捷键全在super键上,我还把linux输入密码设置为键盘宏。进入宏层后,按一个键就输出密码再立刻离开宏层。
我用的电脑环境是manjaro xfce,同时用quicktile和zentile平铺设置成自重启的服务,xfwm因为是符合标准的桌面系统,能够和他俩共存,compiz不能。kmonad也支持windows,但我没试过,截取键盘信号的途径不一样。我的配置文件中的tile层包含xfwm,quicktile,zentile的快捷键,它们占据了tile层的全部空间。
我的键盘是标准的61键键盘,爱攻的agk600,只有一个fn键,方向键映射在jkil上,使用fn来按时还时不太方便,但用caps来按,这是最好的位置,我对agkfn层的设置尽量与它一致。
下面是我的配置文件,是我修改过很多次的。
当你理清它们引用关系和函数执行的操作,就明白它是怎样实现重映射功能的了。可以先用tap-next映射方向键试试按住就生效,然后是锁定层,临时切出,调整你已有的快捷键使它们不冲突。这时你就能按住右alt键一键执行全部窗口操作了。