使用Karabiner为Mac内置键盘、HHKB进行映射

1 引言

自从使用了Mac后,经过一系列折腾:

  • 买了个HHKB Pro 2 TypeS,感觉手感确实不错,比内置键盘好多了,就是稍微有些硬。
  • 编辑软件从Vim转为了Emacs
  • 使用iTerm2作为常用Terminal
  • 一些常用软件等等

现在使用Mac办公已经毫无压力。

但是,内置键盘的键位和HHKB不同,Mac系统快捷键、Emacs快捷键、iTerm2快捷键都不太一样,每次切换时可能使用几套键盘快捷键,非常不方便,影响心情和效率,所以有必要进行键盘映射和统一。

经过查找、实验,发现Karabiner非常好的实现了上述功能,键盘操作行云流水般。再让我使用缺省的键盘设置,都非常不习惯了。

下面我先把Mac内置键盘和HHKB的映射方法方法简要说明下。
我的配置是:

  • 把Mac内置键盘改成HHKB键位
  • 把HHKB的删除键改成内置键盘的位置(因为删除键刚好无名指一伸就按到了)
  • 两个键盘都增加‘–>Control,以便和左Control对称,左右开弓

2 什么是Karabiner和配置方法的基本说明

Karabinar是一款键盘映射工具,for mac,开源,原名称为KeyRemap4MacBook。
https://github.com/tekezo/Karabiner/
https://pqrs.org/osx/karabiner/document.html

设置主要通过“preference”进行。
可以创建不同的profile,比如:可以为两块键盘设置不同的profile。每个profile可以单独进行设置。

Karabinar为我们提供了很多预设选项,可以直接在“change key”中勾选;如果不够用,可以通过“Misc & Uninstall”中的“Custom Setting”对private.xml进行编辑。编辑后,需要在“Change Key”中“Reload XML”刷新选择项。

3 内置键盘设置

使用”default”设置。主要是设置CapsLock键为Control键:

禁用系统的CapsLock键
系统偏好设置–>键盘–>修饰键,设置CapsLock为无操作
通过Seil设置CapsLock为F19
下载安装Seil,选择Change the caps lock key为80(F19)
设置F19为Escape和Control
Custom shortcuts->F19 to Escape and Control。这样点击此键,就是ESC,组合其他键就是Control

4 HHKB设置

新增“HHKB” profile,主要是设置\键为Delete:

  • 勾选“Change Backslash(\) key -> Backslash(\) to Delete”。
  • 在“Change Delete Key”中,勾选“Delete to Backslash(\)”和“Shift+Delete to Pipe(|)”

5 通用设置

两个键盘都增加‘–>Control,以便和左Control能够对称:
修改private.xml,增加如下配置:

<item>
<name>Quote to Quote</name>
<appendix>(+ When you type Quote + key, send Control_L + key)</appendix>
<identifier>remap.quote2quote_controll</identifier>
<autogen>__KeyOverlaidModifier__ KeyCode::QUOTE, KeyCode::CONTROL_L, KeyCode::QUOTE</autogen>
</item>

在default和hhkb两个profile,都勾选。

6 待完善内容

两个profile现在需要手工切换,有些麻烦,如果能够在插入hhkb后,自动进行切换就好了。

Author: galaxy

Created: 2015-04-24 Fri 22:46

Emacs 24.4.1 (Org mode 8.2.10)

Validate

使用Karabiner为Mac内置键盘、HHKB进行映射的更多相关文章

  1. 一个禁用mac内置键盘的方法

    一个禁用mac内置键盘的方法 强大的 karabiner, 非常好用. 可以直接在有外接键盘连接的情况下, 禁用掉内置键盘 另外一个方法是启用mac的 鼠标键, 感觉用处不是很大, 修饰健并没有被禁用 ...

  2. SpringBoot 常用配置 静态资源访问配置/内置tomcat虚拟文件映射路径

    Springboot 再模板引擎中引入Js等文件,出现服务器拒绝访问的错误,需要配置过滤器 静态资源访问配置 @Configuration @EnableWebMvc public class Sta ...

  3. mac 内置PHP配置多站点

    1.修改/private/etc/hosts 文件,建议用编辑器打开 最后一行加入你的网站名称(自定义),参考如下: 127.0.0.1 www.MyObj.com   2.修改/private/et ...

  4. mac内置的FTP工具

    在 Mac OS X 系统下,有不少优秀的 FTP 工具,如 Cyberduck.Transmit,但是你是否知道除了这些第三方应用,系统已经为你准备好了一个内置的 FTP 工具?/ M: e0 J% ...

  5. 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系

    接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...

  6. CSIC_716_20191115【内置函数、递归、模块、软件开发规范】

    内置函数 map map映射:语法结构(函数对象,可迭代对象) 依次从可迭代对象中取值,然后给函数做运算,再依次返回运算的结果. ss = map(lambda x: x + x, [1, 2, 3] ...

  7. 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)

    最近在做微信公众号的内嵌页面,发现点击输入框时键盘盖住文本框,找到一段代码解决了这个问题. iOS和android手机都已亲测,需要的可以直接拷贝到代码中使用. js代码如下: $(function ...

  8. java:javaScript(定义方式,循环语句,函数与参数,事件机制,控制台记录,event事件获取键盘ascii,confirm和prompt,事件和内置对象,获取input,点击更换背景色)

    1. 定义JS的两种方式: <!DOCTYPE> <html> <head> <meta charset="UTF-8"></ ...

  9. 微信内置浏览器的 User Agent的判断

    如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mozilla/5.0 (iPhone; CPU ...

随机推荐

  1. Godot-3D教程-02.3D性能和局限性

    介绍 Introduction Godot遵循表现与性能平衡信条.在这个表现的世界中,它们总是有许多约定俗成的东西,主要是在用执行速度换取可用性与扩展性方面.下面是一些实际的例子: 高效地渲染对象是比 ...

  2. BZOJ2006:[NOI2010]超级钢琴

    浅谈\(RMQ\):https://www.cnblogs.com/AKMer/p/10128219.html 题目传送门:https://www.lydsy.com/JudgeOnline/prob ...

  3. 树——平衡二叉树插入和查找的JAVA实现

    package com.tomsnail.data.tree; /** * AVL二叉平衡树 * @author tomsnail * @date 2015年3月30日 下午4:35:50 */ pu ...

  4. 人工智能实践:TensorFlow 框架

    张量.计算图.会话 基本概念 基于Tensorflow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型. 张量(Tensor):张量就是多维数组(列表) ...

  5. Oracle的rowid

    ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...

  6. WPF RichTextBox 插入回车

    richtextbox插入回车,开始是这样写的,在win7下运行时没有问题: MyMessageBox.CaretPosition.InsertLineBreak(); MyMessageBox.Ca ...

  7. PHP之递归函数

    https://www.cnsecer.com/4146.html http://www.jb51.net/article/71424.htm //一列数字的规则如下:1,1,2,3,5,8,13,2 ...

  8. poj3468(线段树区间更新&区间求和模板)

    题目链接: http://poj.org/problem?id=3468 题意: 输入 n, m表初始有 n 个数, 接下来 m 行输入, Q x y 表示询问区间 [x, y]的和: C x y z ...

  9. 2014-10-31 NOIP模拟赛

        10.30 NOIp  模拟赛   时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...

  10. 程序员收藏必看系列:深度解析MySQL优化(二)

    程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ...