V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rashawn
V2EX  ›  macOS

一个简化 karabiner 配置的工具 GokuRakuJoudo

  •  1
     
  •   rashawn · 2018-09-09 11:20:31 +08:00 · 3422 次点击
    这是一个创建于 2027 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为 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.

    9 条回复    2018-10-04 11:11:43 +08:00
    bao3
        1
    bao3  
       2018-09-09 21:25:38 +08:00 via iPhone
    被新 karabiner 的 json 配置给打败 。完全没有可读性,但愿这个工具可行
    rashawn
        2
    rashawn  
    OP
       2018-09-09 23:57:22 +08:00 via iPhone
    @bao3 如果本身对 karabiner 的机制了解的话 稍微看一下 tutorial 应该就会了 格式错了会有提示,就是提示直接是 java 的报错 只看第一行就好,等稳定了会把报错的 stacktrace 去掉
    rashawn
        3
    rashawn  
    OP
       2018-09-11 09:02:42 +08:00 via iPhone
    各位老哥只是收藏 不评论一下的吗
    uhayate
        4
    uhayate  
       2018-09-11 09:49:18 +08:00
    我觉得你在 repo 里加个图可能更直观,文字描述很多但是不知道软件是不是有用。
    rashawn
        5
    rashawn  
    OP
       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
        6
    a525398535  
       2018-09-11 19:02:46 +08:00
    之前配 karabiner 的 json 实在太麻烦了,本打算做个 electron 的编辑器,来看看你这个方案
    rashawn
        7
    rashawn  
    OP
       2018-09-12 10:09:12 +08:00 via iPhone
    @a525398535 有想过 但是图形化的我做了自己也不会用 太低效了
    huzi19861007
        8
    huzi19861007  
       2018-10-03 00:44:34 +08:00 via Android
    @rashawn 对于入门级用户来说,图形化界面还是有其存在价值的,尤其是对一些从入门级向高阶过渡的用户,还是 GUI 来的更高效一些。楼主可以效仿一些游戏鼠标的自定义软件的套路,无外乎就是按键对应功能的增删替换。
    rashawn
        9
    rashawn  
    OP
       2018-10-04 11:11:43 +08:00 via iPhone
    @huzi19861007 正在学 clojurescript 想做成类似于 tmk keymap editor 那种
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1717 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:40 · PVG 00:40 · LAX 09:40 · JFK 12:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.