使用Karabiner为Mac内置键盘、HHKB进行映射
使用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后,自动进行切换就好了。
使用Karabiner为Mac内置键盘、HHKB进行映射的更多相关文章
- 一个禁用mac内置键盘的方法
一个禁用mac内置键盘的方法 强大的 karabiner, 非常好用. 可以直接在有外接键盘连接的情况下, 禁用掉内置键盘 另外一个方法是启用mac的 鼠标键, 感觉用处不是很大, 修饰健并没有被禁用 ...
- SpringBoot 常用配置 静态资源访问配置/内置tomcat虚拟文件映射路径
Springboot 再模板引擎中引入Js等文件,出现服务器拒绝访问的错误,需要配置过滤器 静态资源访问配置 @Configuration @EnableWebMvc public class Sta ...
- mac 内置PHP配置多站点
1.修改/private/etc/hosts 文件,建议用编辑器打开 最后一行加入你的网站名称(自定义),参考如下: 127.0.0.1 www.MyObj.com 2.修改/private/et ...
- mac内置的FTP工具
在 Mac OS X 系统下,有不少优秀的 FTP 工具,如 Cyberduck.Transmit,但是你是否知道除了这些第三方应用,系统已经为你准备好了一个内置的 FTP 工具?/ M: e0 J% ...
- 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系
接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...
- CSIC_716_20191115【内置函数、递归、模块、软件开发规范】
内置函数 map map映射:语法结构(函数对象,可迭代对象) 依次从可迭代对象中取值,然后给函数做运算,再依次返回运算的结果. ss = map(lambda x: x + x, [1, 2, 3] ...
- 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)
最近在做微信公众号的内嵌页面,发现点击输入框时键盘盖住文本框,找到一段代码解决了这个问题. iOS和android手机都已亲测,需要的可以直接拷贝到代码中使用. js代码如下: $(function ...
- java:javaScript(定义方式,循环语句,函数与参数,事件机制,控制台记录,event事件获取键盘ascii,confirm和prompt,事件和内置对象,获取input,点击更换背景色)
1. 定义JS的两种方式: <!DOCTYPE> <html> <head> <meta charset="UTF-8"></ ...
- 微信内置浏览器的 User Agent的判断
如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mozilla/5.0 (iPhone; CPU ...
随机推荐
- JZOJ 1667【AHOI2009】中国象棋——dp
题目:https://jzoj.net/senior/#main/show/1667 只注重0.1.2的列有多少个,不注重它们的位置,就能记录了. #include<iostream> # ...
- bzoj 2946 公共串 —— 后缀自动机
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2946 建出 n-1 个后缀自动机一起跑呗. 代码如下: #include<cstdio ...
- bzoj 4275 Badania naukowe —— DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4275 枚举 \( C \) 在 \( A \) 和 \( B \) 中的位置,然后取它前后的 ...
- C# 调用SQL的存储过程的接口及实现
1. 接口为ExecuteStoredProcedure(string storedProcedureName, params ObjectParameter[] parameters) 2. 参数为 ...
- SpringMVC之七:SpringMVC中使用Interceptor拦截器
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...
- Lagom学习 四 CompletionStage
Future: Java 8 之前的 Java 版本功能较弱,仅支持两种用法:要么检查 future 是否已经完成,要么等待 future 完成; Java 8 增加了 CompletableFutu ...
- 第一章 Git 一览
虽然这个系列的文章主要关注的是Github,然而首先了解下Git的基本概念和名词也是非常有帮助的. 工作目录(Working Directory) 工作目录是你个人计算机上的一个目录.在该目录下,每一 ...
- 3、scala数组
一.Array .Array Buffer 1.Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组. 此外,由于Scala与Java都是运行在JVM中,双方可以互 ...
- CodeChef - ELHIDARR Find an element in hidden array(二分交互)
Find an element in hidden array There is an array of length N consisting of non-negative integers. T ...
- iOS横屏设置的几种方式
1.界面旋转,MainScreen的宽高不变,键盘位置不变 CGFloat duration = [UIApplication sharedApplication].statusBarOrientat ...