Rust语言开发的跨平台键盘重映射工具 kanata
其实只是想拉人入坑试试水,我自己还完全没用过(不过既然是安利,还是稍微介绍一下吧,以下内容摘自官方Readme:
[*]支持Linux、macOS和Windows
[*]配置文件易读
[*]和另一个帖子里介绍的Kmonad很相似( Kmonad,一个自由改变键盘布局的软件。 )
[*]支持多层按键映射切换
[*]支持点按-长按映射为不同的键、支持Unicode输出、支持静态/动态宏
[*]支持Vim式的按键序列触发行为
[*]可以运行TCP服务器与其他程序交互
[*]例如通过另一个程序监控当前激活的窗口,达到不同程序自动切换不同按键映射的功能( GitHub - Aqaao/kanawin: Automatic switch layer plugin for kanata. )
[*]支持 Interception driver(其他Windows平台按键映射软件的常见依赖项目,可以在驱动层面实现映射。此外这个功能是可选的,不是非要依赖这个驱动)
项目地址:github.comhttps://opengraph.githubassets.com/2fe5fdc9c5c2191612385ed02a52e86f/jtroo/kanataGitHub - jtroo/kanata: Improve keyboard comfort and usability with...Improve keyboard comfort and usability with advanced customization
不知道有没有人愿意花时间研究一下这个软件功能怎么样。
用了,非常推荐,配合kanata_tray可以常驻托盘,不过在macOS上体验不太好,因为各种权限问题折腾得不行,kanata最近的更新好像还导致了要求那个karabiner依赖的问题,我是在issuse里面找了个网友版本先用着。好处是配置好写,当然也要读手册。坏处是非驱动级,这意味着很多地方你用不了,比如:
[*]超管启动的软件,这种比较少,我手上只有一个pixpin,我设置成禁止超管启动,也就没问题了,如果你有,一定要取消,不然会有bug,啥bug忘了
[*]shell,kanata有个shell版本,可以直接用,但超管权限下的shell或bash还是不能用
[*]虽说kanata提供了一个驱动级的方案,但不推荐,那个网友开发的驱动好多年没更新了,因为Windows限制,没有找巨硬买签名的驱动好像有设备数限制,可Windows又很蠢地每次睡眠后就会给你的设备重分配一个设备名还是啥,然后多次下来u盘、键鼠就不能用了
[*]好像还有些别的坑,我给忘了,记起再补充。
总的来说,如果你有space_fn这类大量改键需求,强烈推荐使用kanata,因为他的配置真的方便。类比ahk这种,一行一行改只适用于少量改键。至于karabiner那种灾难级的配置就更不要过来碰瓷了,我见到karabiner那个json配置文件就犯PTSD,根本不是人读的。然后是reWASD,那个付费就算了,改键方面还是残的。只适用于基础改键,一些稍微进阶的设置都没有,虽说是驱动级,但不推荐想改键的用,大量的直接上kanata,少量的用AHK。为什么不推荐reWASD呢?举个粟子:辅助键单击。这是个很常见的需求,比如我喜欢设置单击左右shift为一串组合键,这一串组合键又能在rime中切中英文,于是单击左shift可以直接切到英文,右shift到中文,不管当前是什么输入环境,一键切。但reWASD只支持按时间延迟处理键,你拿来做space_fn和这类需求就不行,我问过他们,他们说不会改。所以也就绝了付费心思,再来他们的政治立场也不太合大陆一般认知,那就更不可能付费了。然后capsicain这个也不推荐,我试用过,kanata有的毛病他也有,配置写起来也没kanata方便,功能上也不如kanata强,kanata的“层”实在好用。部分人可能会喜欢用可编程键盘,这也是一个选择,而且比驱动更底层,功能也够强,但不支持笔记本内部键盘,所以对我没用,如果只用台式,我倒是推荐大家花点钱买一把,直接解决问题。最后放几个当时入门找的教程:
[*]实现 spacefn 的几种方式 - 知乎
[*]Windows系统的窗口管理器横评:任务栏增强+软件分屏+窗口进程保存…… - 知乎
[*]CapsLock 映射 单击 Esc, 组合键 Ctrl - 知乎
至于我自己翻译的手册,因为不全面,只翻译了自己需求的部分,也放到下面吧,OneDrive链接,会随我的更新而更新,不过我基本也不需要更多功能了,所以大概也不会再翻译更多,凑合看吧:
[*]手册: 【笔记】Kanata.md
[*]配置: Kanata
手册基本是机翻加一点自己的理解,不要指望多准确,我是写给自己看的。配置包括Windows和macOS两部分,因为两个系统的差异,不能通用。其中Windows较为容易,甚至直接就能用,macOS设置就比较复杂,自己去看仓库、手册和issue吧,也是能跑起来的。
页:
[1]