解决 Karabiner 在 10.12 sierra 键位替换

作者: 一肩月光 | 来源:发表于2016-09-24 09:58 被阅读6856次
但愿草地干燥,无蚊虫

前两天,无痛升级到 macOS 10.12 Sierra,没感觉太大区别,忽然发现之前修改的键位失效了,没了 Command(Win) 与 Option(Alt) 键位互换,实在难受。

赶紧去 Karabainer官网 查看,只见赫然写着「Karabiner does not work on macOS Sierra at the moment.」,绝望之际,又看到一行「We are developing Karabiner-Elements which provides simple key modification for macOS Sierra at first.」顿时希望重生。

来到项目主页,看到有下载链接,版本似乎每天一更,有需要的同学,还是自己下载最新版吧。https://github.com/tekezo/Karabiner-Elements

用法,官方已经介绍的很清楚了。(尼玛,是今天才更新的吧,我第一次安装好之后,搞了好久都不会用)果然,今天才更新 使用用法

你看右上角的时间

那我来写个简单中文版用法说明。

  1. 下载并安装 Karabiner-Elements (参考上边地址)
  2. 编辑配置文件,参考 官方例子,比如我需要PC键盘映射Mac键盘,打开 pc_keyboard_to_mac….文件,复制json文件的内容
  3. 打开Mac的命令行,输入
vim ~/.karabiner.d/configuration/karabiner.json

创建配置文件。在vim编辑器中,将复制内容粘贴保存即可。(vim使用提示:i 开始编辑,Comond+v 粘贴,:wq 保存退出)

修改配置文件 karabiner.json

大功告成!


当然,如果仅仅想替换 Command 与 Option键位, 系统已经支持了,请注意,要想系统生效,必须删除 Karabiner 软件。

Keyboard-Modifier Keys...

如何绑定「一对多」键位?

2017.04.29 更新,感谢 Weslie_6b9d 反馈

如果需要绑定:一个按键 => 多个按键 映射,请在 Karabiner-Elements 下载支持此特性的 fork 版本。

然后在配置文件 ~/.config/karabiner/karabiner.json ,在 one_to_many_mappings 里设置你要的映射,比如我绑定了 delete 键为 mac 中删除的快捷键。

one_to_many_mappings

别忘了给大神的 Git 分支点赞啊,共享如此福利~~

如何查看按键名称?

安装 karabiner - Element 时代了一个 karabiner - EventViewer(图标是查找),

点开后在此软件下点任何你想知道名字的按键即可看到 name

查看按键名称

相关文章

网友评论

  • 超级码LEO:请问 Karabiner 更改的 只是外接键盘还是 mac 上的 所有键盘 包括 自带的键盘都被改变了
    一肩月光:@超级码LEO 所有,但是软件可以选择模式,比如我保存了两种映射方式,1. noChange 2.Cherry ,我用机械键盘时,从任务栏切换到 Cherry 模式就好了,很方便。
  • RUUR:不知道支持vim模式的键位怎么配置 比如s+h表示左 所以果断放弃了新系统,又用回老系统了
  • iwuwu:怎么设定快捷键啊,比如我按下Control+J,K,I,L,就可以代替←↓↑→
    iwuwu:@一肩月光 刚刚看了一下,设定了以后我的complex_modifications文件夹里面没有这个文件。在~/.config/karabiner/karabiner.json这个里面有。但是我改动了之后却没有效果。
    iwuwu:@一肩月光 感谢感谢,我现在是用keyboard maestro实现的类似功能,也十分好用。期待karabiner的正式版赶紧出来。
    一肩月光:首先,这个需求完全可以实现的。更新最新版 Karabiner-Elements > Complex Modifications > Add
    rule 。可以看到 Examples,Change right_command + I/J/K/L to Arrow Keys。启用,然后命令行 cd ~/.config/karabiner/assets/complex_modifications,ls 可以查看到一个 json 文件,修改 right_commmand 为 left_control 应该就可以了。
  • Mr_疯不觉:之前的版本有个禁用内置键盘的功能,现在还有么?
    一肩月光:有的。点击 Devices ,可以看到底部有可以勾选的选项,勾选就可以禁用内置键盘。
  • dc1f7e6f0c18:楼主知道 新版karabiner怎么控制鼠标么。
    一肩月光:@吃鱼只吃三道鳞_a87f 看了下,没发现有这个功能啊。可以看下这个帖子 https://apple.stackexchange.com/questions/110177/logitech-mouse-how-can-i-use-additional-buttons,这个软件应该满足你的需求:http://plentycom.jp/en/steermouse/
  • 我素熊猫:json是隐藏文件不能直接访问,一级一级访问到了修改后也没有反应。
    一肩月光:@我素熊猫 官方最新版本已经支持这个功能啦,下载最新版体验下。
    我素熊猫:@一肩月光 就是这个版本,现在的问题是修改配置没反应。。 json文件是一级一级创建的。
    一肩月光:如果简单的一对一映射,在软件首页设置就好了。一对多的话,需要下载并安装另外一个版本的软件:https://github.com/wwwjfy/Karabiner-Elements/releases
  • fischerLeggett:请教下楼主,我设置了pc_keyboard_to_mac_mappings.json,f区功能键可用,但是command键和option键却没有调换位置,这可咋办?
    一肩月光:看下 「Elements」软件首页,会显示所有按键映射详情,看下有没有:left_command -> left_option; left_option -> left_command.如果没有的话,自己添加下就好啦。
    Plus点葱:同问,也有这个问题
  • Gundy_:赞
  • phpios:楼主...
    如何绑定「一对多」键位?
    是指: 一个键的功能可以映射成 其它几个键 都可以实现这个键的功能,(即:一对多) 还是映射成两个键同时按 能实现这个键的功能 (即:组合) ???
    phpios:@最美不过刘亦菲 下箭头
    phpios:@一肩月光 我想把上箭头 换证 fn+j,这样写对吗? 大神

    {
    "profiles": [
    {
    "name": "Default profile",
    "selected": true,
    "one_to_many_mappings": {
    "down_arrow": ["fn","j"]
    },
    "simple_modifications": {
    "caps_lock": "left_control"
    }
    }
    ]
    }
    一肩月光:> 映射成两个键同时按 能实现这个键的功能 (即:组合)

    是这样的。用法,你可以看下文章里截图。

    你说的第一种,其实本质还是 一对一映射,不过是多设置了几次吧。:blush:
  • Mr_Alpha:给力啊老铁,解决我的燃眉之急,刚买的MX8.0差点转手了,新版的KaraBiner确实比以前跟好设置了。:smiley:
  • c005cccb5d72:感谢楼主的文章。
    不过有一点,我觉得挺奇怪的。单个按键 remap 不是 seil 的功能吗?
    karabiner 的功能是组合键 remap, 这个要怎么实现呢。
    一肩月光:一对多实现已更新。组合键看这里 http://www.hammerspoon.org/go/
    一肩月光:@RazorGG 组合映射,我也没找到,抱歉。不过官方更新版 Elements 提供了一些功能键绑定,音量大小,截屏等。

本文标题:解决 Karabiner 在 10.12 sierra 键位替换

本文链接:https://www.haomeiwen.com/subject/gmrxyttx.html