一个简化 karabiner 配置的工具 GokuRakuJoudo

2018-09-09 11:20:31 +08:00
 rashawn

因为 karabiner-elements 是用 json 作为配置文件, 配置的规则比较多的用户都会出现一个 layer 上百行, 一个规则一屏看不过来的情况. 我个人的配置文件就 5000 多行.

因为我也一直参与karabiner 默认共享配置的维护, 所以这种问题见的比较多. 前几周朋友跟我说换了新的笔记本, 从 10.11 升级到 10.14, 之前的 karabiner 不能用了, 他本身是重度用户, 配置很多, 新的不熟悉, 他就把原本 karabiner 作者用的 ruby 脚本改了一下, 生成自己的配置. 因为不熟悉新版本就找我帮忙. 帮他弄完以后他说想做成通用的, 作为一种专门配置 karabiner 的语言.但是那样相当于现在的删掉重新写, 然后最近在看 clojure, 刚好 edn 这个格式有比较合适. 我就用 clojure 写了一个.

简单来说就是用 edn 代替 json 作为配置文件, 这个工具能够解析 edn 配置输出 json 配置. 之前 5000 行的 json 现在 200 多行就搞定了. 如果这里有比较重度的 karabiner 用户, 建议试一试. 为了简化配置, 制定了一些规则, 有一定的 learning curve, 不过 tutorial 写的蛮详细的了.

项目地址: https://github.com/yqrashawn/GokuRakuJoudo

因为刚发布没多久, 估计还有些 bug, 我把自己的配置改成 edn 的时候大部分碰到的 bug 都修复了. 欢迎提 issue 和 pr.

3465 次点击
所在节点    macOS
9 条回复
bao3
2018-09-09 21:25:38 +08:00
被新 karabiner 的 json 配置给打败 。完全没有可读性,但愿这个工具可行
rashawn
2018-09-09 23:57:22 +08:00
@bao3 如果本身对 karabiner 的机制了解的话 稍微看一下 tutorial 应该就会了 格式错了会有提示,就是提示直接是 java 的报错 只看第一行就好,等稳定了会把报错的 stacktrace 去掉
rashawn
2018-09-11 09:02:42 +08:00
各位老哥只是收藏 不评论一下的吗
uhayate
2018-09-11 09:49:18 +08:00
我觉得你在 repo 里加个图可能更直观,文字描述很多但是不知道软件是不是有用。
rashawn
2018-09-11 16:01:40 +08:00
@uhayate 谢谢建议, 已经加图片了.
@wwwjfy @Joysisyphus @haha1903 @bao3 @huzi19861007 @chaosjohn 刚发现之前的版本因为不熟悉 graal vm 的编译, 文件路径编译完是静态的, 所以 release 里面的可执行文件默认$HOME 为 /Users/.travis(因为是 travisCI 自动发布的), 最新的 0.1.3 修复了这个问题.
a525398535
2018-09-11 19:02:46 +08:00
之前配 karabiner 的 json 实在太麻烦了,本打算做个 electron 的编辑器,来看看你这个方案
rashawn
2018-09-12 10:09:12 +08:00
@a525398535 有想过 但是图形化的我做了自己也不会用 太低效了
huzi19861007
2018-10-03 00:44:34 +08:00
@rashawn 对于入门级用户来说,图形化界面还是有其存在价值的,尤其是对一些从入门级向高阶过渡的用户,还是 GUI 来的更高效一些。楼主可以效仿一些游戏鼠标的自定义软件的套路,无外乎就是按键对应功能的增删替换。
rashawn
2018-10-04 11:11:43 +08:00
@huzi19861007 正在学 clojurescript 想做成类似于 tmk keymap editor 那种

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/487573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX