karabiner定制全键盘
Toc
  1. 初衷
  2. Karabiner
    1. 模式
    2. 激活
    3. 参数
    4. 辅助快捷键
  3. 配置文件
  4. 题外话
    1. 模拟 HHKB
    2. 启动模式
    3. 其他
  5. ref

初衷

一开始是左手手指有点酸,估计是尾指按键盘左边的Ctrl键次数有点多,为此把左边的Ctrl键盘跟CapsLock对换了一下,这样用了有一年,使用的软件是karabiner和它的一个组件Seil,之所以需要SeilKarabiner说是CapsLock键的替换(重新映射)需要特殊处理,偶尔还会在 OSX 系统升级后出现映射失效,需要等待作者来做软件升级。

症状基本解决,而且也认同:Ctrl键位置调换后,一定程度上让各种快捷键用起来更为舒适。工作中是在系统自带终端下,启动tmux + vimtmux的前缀键我使用的是ctrl+a

因此大约一年后,这次是右手手臂酸了,是我坐姿的问题,也另发现,当我几条不用触摸板(我是触摸板的重度用户,各种手势,操作还算挺快挺频繁),改用鼠标,症状又有所缓解。用回触摸板,又恢复,依次循环几次后,觉得可以试试不用触摸板。

极端一些,能不能不用触摸板也不用鼠标?嗯,使用karabiner一年后才发现它也有提供这功能:mouse keys mode.

Karabiner

Karabiner 是一个修改键位映射的软件。由于我需要修改到CapsLock键盘,也安装有组件Seil。并把两者都加到我的开机启动项里。

模式

Karabiner预先设置后了多种模式,比如vim模式、emacs模式等,再加上最近发现的mouse keys mode模式,用于解放触摸板和鼠标。

Karabiner设置里的第一个tab:Change key里搜索mouse keys就能看到这种模式了,当前是Mouse Keys Mode V2,相比 V1 版本,这个版本相对更容易触发这种模式,对输入干扰也相对少一些(考虑输入过程中突然需要移动鼠标到其他位置)。以下只说 V2 版本的使用,当然,先要在设置里选中Mouse Keys Mode V2,后续的各种快捷键才能生效。

激活

按住d键,再按 hjkl 中的任何一个键位来左下上右地移动鼠标。比如我要向上移动鼠标,只需按住d不放开,再按一下k

鼠标移动后,光标并没移动,需要在鼠标确定位置后,再按一次鼠标左键,默认是d+v。比如我需要在当前文本里修改第10行第3列的错别字,需要两个步骤,先d+hjkl多次移动鼠标到第10行第3列这里,再按d+v,让光标定位在错别字后面,删除这个错别字,输入正确的字。

相应地,右键是d+n

浏览网页一般需要向下滚动页面,即 scroll,取首字母s,跟d+hjkl的前缀键d组合,即d+s,再通过hjkl决定滚动的方向。在网页向下滚动的例子中,则是d+s+j。个人使用起来,先按住ds稍微慢几百毫秒,成功率更高,需要时间适应。

组合起来后,当我操作鼠标时,基本需要一直按住d键……

老实说,无论是 v1 或 v2 版本,直接由字符键来激活模式,都觉得很不理想,影响输入。我在输入时需要用到d、s这几个键,都需要稍微滞钝一下,避免激活了模式,一旦激活,当前输入就无法获得我预期的词组。

参数

根据karabiner设置里的提示,我修改了两个参数:

  • __BlockUntilKeyUp__,其Timeout默认值是 200ms,我修改为 100ms,减少阻塞
  • Holding Key to Key,其Holding Threshold默认直是 200ms,也修改为 100ms,降低阀值,更迅速地激活模式,这个参数还在测试中。

辅助快捷键

有时候只需要在字里行间稍微移动一下,通过emacs风格的几个快捷键,更为方便: control+pnbf,分别是上、下、左、右。

同时另有contrl+a移动到行首,control+e移动好行末。

搜索emacs mode,可按需开启更多快捷键。

配置文件

karabiner的配置文件放在 github 上。

karabiner先加载private.xml文件,路径默认为:

${HOME}'/Library/Application Support/Karabiner'/private.xml

在该配置文件中,我再包含了hhkb.xmllaunch_app.xml相关的两个配置文件。

题外话

后续是题外话了。

模拟 HHKB

一个是我一直想买个hhkb键,假若我能适应这种无触摸板无鼠标的操作,那就可以剁手了。为此我也提前按hhkb的键位分布设置了一些映射。

  • fn+asd:分别是音量减少、增大、静音
  • fn+1~9:分别对应 F1~F9 的功能键
  • fn+k、fn+,:分别对应首页、页末
  • fn+l、fn+.:分别对应上一页、下一页
  • fn+[、fn+/:分别是上、下
  • fn+;、fn+’:分别是左、右

启动模式

开启karabinerLauncher mode,以字母键o为前缀,再加一个其他键,来启动某个软件、或打开一个url,或执行一句shell。
自带的有:

  • O+A: Activity Monitor
  • O+Q: Dictionary
  • O+D: show Desktop
  • O+space: Launchpad
  • O+M: Mail
  • O+Tab: Mission Control
  • O+F: Finder
  • O+F,D: open Desktop folder by Finder
  • O+F,F: open Home folder by Finder
  • O+S: Safari
  • O+T: Terminal

其他

  • CapsLock键修改为Control键之外,设置双击Control键来切换CapsLock
  • shift+F1来启动Dashboard,Dashboard 中有豆瓣fm

同时另有escape键跟backquote键对换,delete键跟backslash键对换,则直接从karabiner自带的方案中启动即可。

ref

– EOF –

Categories: mac
Tags: mac