对于上了 HHKB 这条贼船的人来说,刚开始使用起来最大的别扭可能就是没有方向键的问题了。

最早的我使用 Karabiner 来解决,里边有一些内置的组合可以替代方向键,我用 control + hjkl(同vi) 替代四个方向键,因为 HHKB 的 control 在 caps lock 的位置,所以使用起来还是很舒服的,But 当系统升级到 macOS Sierra 后,Karabiner 就不能工作了,作者也在官网中写了:

Karabiner does not work on macOS Sierra at the moment.

同时也给出了替代方案,使用 Karabiner-Elements,但是新版的 Karabiner 并不支持这样的组合,所以我就又走上了寻找解决方向键之路。

后来找到了 Keyboard Maestro(简称 KM) 这个神器,这个软功能非常多,不过我只用了里边的设置组合键的功能,我自定义了 5 个组合,用来解决 HHKB 中的不方便的方向键问题。

分别是 大专栏  使用 KM 处理 HHKB 方向键code>control + hjkl 来操作方向和 control + delete 来反向删除(也就是删除光标后边的内容),但是用起来有些问题:不能连击(比如按住 control + h 光标不可以一直前移,需要手动敲击多次),然鹅就在我将就用了小一年后,今天尝试将触发方式 is pressed 改成了 is down,成功解决了不能连击的问题,所以 HHKB 方向键 的问题现在可以说是完美解决了。

不过我现在并没有将 Karabiner-Elements 删掉,因为里边有一个比较实用的功能:可以在插入外置键盘时禁用内置键盘的功能,防止意外点击。因为我之前是把 HHKB 垫到 Mac 上用的,经常不小心按住了某个键,现在我把 Mac 放在了支架上,已经不会再出现这个问题了,不过我还是留下了它。

最后上一张设置截图(我将 KM 中自带的其他组合全都关闭了,只留下 5 个我自己写的组合):

使用 KM 处理 HHKB 方向键的更多相关文章

  1. MacBook使用HHKB键盘设置

    问题: macbook上使用hhkb的时候,很纠结档位4要不要开,开启4号DIP开关后,虽然会使HHKB键盘上减少一个“◇(Win键)”键,但是会在键盘左侧多出一个“FN”键.多出来的左“FN”键,不 ...

  2. Android快乐贪吃蛇游戏实战项目开发教程-06虚拟方向键(五)绘制方向键箭头

    本系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html本系列教程项目源码GitHub地址:https://github.com/jack ...

  3. Android快乐贪吃蛇游戏实战项目开发教程-05虚拟方向键(四)四个三角形按钮

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.如何判断点击的是哪个方向键按钮 在上篇教程中我们实现了左边的三角形按钮效果, ...

  4. Android快乐贪吃蛇游戏实战项目开发教程-04虚拟方向键(三)三角形按钮效果

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.知识点讲解 当我们点击系统自带的按钮时,按钮的外观会发生变化.上篇博文中我们 ...

  5. Android快乐贪吃蛇游戏实战项目开发教程-03虚拟方向键(二)绘制一个三角形

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.绘制三角形 在上一篇文章中,我们已经新建了虚拟方向键的自定义控件Direct ...

  6. Android快乐贪吃蛇游戏实战项目开发教程-02虚拟方向键(一)自定义控件概述

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.自定义控件简介 在本项目中,无论是游戏主区域还是虚拟方向键都是通过自定义控件 ...

  7. SqlPlus中退格键和方向键的设置

    参见:http://www.cnblogs.com/wjx515/p/3717986.html   http://blog.csdn.net/jacky0922/article/details/765 ...

  8. 匈牙利算法与KM算法

    匈牙利算法 var i,j,k,l,n,m,v,mm,ans:longint; a:..,..]of longint; p,f:..]of longint; function xyl(x,y:long ...

  9. 【HDU2255】奔小康赚大钱-KM算法

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description ...

随机推荐

  1. Java文字识别软件-调用百度ocr实现文字识别

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  2. gcc -E xx.c

    C语言代码在交给编译器之前,会先由预处理器进行一些文本替换方面的操作,例如宏展开.文件包含.删除部分代码等. 在正常的情况下,GCC 不会保留预处理阶段的输出文件,也即.i文件.然而,可以利用-E选项 ...

  3. 利用CSS制作背景变色的横向导航栏

    1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...

  4. 解决UITextView无法滚到底部

    程序中有一个UITextView控件 @property (weak, nonatomic) IBOutlet UITextView *textView; 一般情况下,以下代码可实现UITextVie ...

  5. FHQ treap板子

    感觉这个玩意就是拆来拆去,所以没啥可学习的 粘一下两个题的代码吧 LGOJ 普通平衡树 #include <bits/stdc++.h> using namespace std; #def ...

  6. HTMLTestRunner 报告框架使用

    HTMLTestRunner 报告框架使用 file_path = base_path + '/Report/report.html' with open(file_path, 'wb') as f: ...

  7. 吴裕雄--天生自然C语言开发:循环

    while(condition) { statement(s); } #include <stdio.h> int main () { /* 局部变量定义 */ ; /* while 循环 ...

  8. k8s中command、args和dockerfile中的entrypoint、cmd之间的关系

    当用户同时写了command和args的时候自然是可以覆盖DockerFile中ENTRYPOINT的命令行和参数,那么对于具体情况呢,比如仅仅写了command或者args的时候呢?完整的情况分类如 ...

  9. JVM相关面试题

    1.JVM 基本机构 1.1 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量 ...

  10. http接口与webservice接口的区别

    常见的API接口有两类:http接口和webservice接口. http接口走http协议,通过路径来区分调用方法,请求报文一般是key-value形式的,返回报文一般是json串,常用的是get和 ...