通过“系统偏好设置->键盘->修改键”,我进行了设置:Caps Lock as Ctl。
然后,我安装了新的Karabiner(以前称为KeyRemapForMacBook)以实现以下按键重映射:
- 左Ctl = Fn
- Fn =左Ctl
但是,设置Karabiner意味着使用“系统偏好设置”进行的“ Caps Lock to Ctl”键重新映射丢失了。现在,Karabiner要求我安装另一个应用程序(SEIL)以仅重新映射Caps Lock键。我认为这很荒谬,我不希望仅出于重新映射一个键而安装另一个应用程序。
因此,我从系统中删除了Karabiner,然后通过“系统偏好设置->键盘->修改键”设置了以下按键重映射:
- 大写锁定= Ctl
- 左Ctl =无(无键绑定=>死键)
- Fn保持为Fn(注:这不会打扰我,因为#1:无论如何我都不会使用它,并且#2:我习惯了Thinkpad的“ Fn在最左边”样式)。
但是,我想知道,卡拉宾纳如何在内部发挥其魔力。我的理解是,Karabiner最终必须将密钥重映射配置传递给操作系统,对吗?还是Karabiner会将自身插入系统(即作为内核模块)并观察键盘上键入的所有键以检测Ctl和Fn键?
更重要的是,是否有任何方法(类似于Linux中的xmodmap)在没有Karabiner的情况下实现此键重映射?