Karabiner

外接键盘映射苹果 Globe/Fn 键

曾经在 macOS 实用小工具记录 2 里提到苹果修改了锁屏快捷键,可以用 Ctrl+Cmd+Q 锁屏,而不用模拟之前的 Power 键,对 Karabiner 不再有需求,结果最近还是装了回来

macOS 26 开始的全屏快捷键变化

在 macOS 26 Tahoe 之前,对应用全屏(新建占据整个桌面)的快捷键是 Ctrl+Cmd+F,这个在外接键盘上也能直接按出来,但后面改成了 Globe+F,这个 Globe 键就是苹果笔记本电脑或原装外置键盘上原来的 fn 键,上面有个小地球图标的,俗称地球键

这下好了,要全屏要么点窗口左上角的红绿灯按钮,要么用苹果笔记本机身键盘上的 Globe+F 的快捷键,在外接键盘上都无法使用

在外接键盘上切换全屏的尝试

macOS 系统设置里改快捷键

这个方式是说在 macOS 的系统设置里,增加一个「切换全屏」或「Enter Full Screen」的快捷键,然后映射成自己想要的键

我自己试过一下,不是那么灵光,也不太好用,放弃

使用第三方窗口管理工具如 Rectangle

Rectangle 是我近年来替换 Spectangle 后的窗口管理工具,本来随着新版本 macOS 把左半屏、右半屏、最大化等几个操作支持后,连这个工具都可以不用,但偏偏 macOS 原生的都是 Ctrl+Globe+LeftCtrl+Globe+RightCtrl+Globe+F,都还是无法在外接键盘上使用的

等为了在外接键盘上更方便使用窗口布局且不用去改系统快捷键,把 Rectangle 装回来后,发现 Rectangle 无法支持系统级的全屏操作,所以这条路也走不通

使用 QMK/VIA 改键位映射

我现在在办公室使用的 Keychron K8P 支持 QMK/VIA,那么去 usevia.app 可以快速改键映射

但是苹果这里又搞事情,原生的 Globe 键并没有相关键位码,网络上找到的方法要么是通过 QMK 改固件,要么说的用 Any 键传入 0x2100 但现在也不生效,至少没法起到 Globe 键的作用

使用 Karabiner-elements 改键位映射

参照 https://github.com/the-via/releases/issues/92#issuecomment-3805418968 这个 VIA 项目里 Issue 的讨论,最后还是用 Karabiner Elements 解决问题

我把自己 K8P 的截屏快捷键先改成 F24(默认行为是发送 Cmd+Shift+4 调用系统截屏快捷键),然后再到 Karabiner Elements 里把 F24 映射成 fn (globe),现在尝试按 F24+F,可以在支持的应用里切换全屏

现在就是这个键并不在右手小拇指周边,不是太方便,本来考虑把 Fn+L_Option 改成 F24 来达到映射,后来发现不行,因为按下 Fn 后,原来 F 键的逻辑也变了,这时候键盘工作在第二层键位上,而 F 键默认是在改键盘灯光 RGB 的参数

剩余对当前 macOS 里全屏快捷键的吐槽

之前 Ctrl+Cmd+F 的快捷键用的好好的,偏偏要改一个外接键盘无法支持的 globe+F,而且原来的快捷键几乎所有的应用都支持,改的这个好多应用又不响应,比如 VSCode 就不行,Ghostty 也不行

多年前让苹果成为开发者友好的设备,据说是 @dhh 及 Ruby on Rails 这帮人推动,现在 dhh 也对目前 macOS 的状态不满,在推动 Omarchy 项目,看看会不会三十年河东三十年河西,回头 Linux 变成开发者更友好的环境

macOS 还是需要 Karabiner 来解决 CapsLock 和 Shift 延迟的问题

在前阵子的 macOS 实用小工具记录 2 里提到,因为有原生锁屏快捷键后不用装 Karabiner 了,但最近在 macOS 下打字,按 CapsLock 切换大小写或临时按 Shift 时总有延迟的感觉,搜到这个现象很普遍,但怎么解决不知道

今天看到 v2ex 这个帖 https://www.v2ex.com/t/851971 ,以及里面提到的几个其他讨论帖,还是把 Karabiner 装了回来,因为

How to disable caps lock delay
Karabiner-Elements disables the caps lock delay without any action since v13.3.0.

官网在 https://karabiner-elements.pqrs.org/

如果用 brew 则用 brew install karabiner-elements 安装

macOS 实用小工具记录 2

本文用于更新和补充 macOS 实用小工具记录 里提到的工具 v2022.03.16

更新部分

Hidden Bar

  • 最终发现不用也能接受,只要吧 Stats 显示的监控变少一点就好了,不用放那么多图标在菜单栏里

Karabiner

  • 如原文所说,之前是为了映射 Power 键方便锁屏,现在用原生 Ctrl+Cmd+Q 已经可以解决了,自己没有别的键映射就没再装了

Scroll Reverser

  • 这个工具的作者说未来会改为收费工具,虽然一直没有落地,但不想白嫖
  • 另外是这个工具在 macOS Monterey 下(macOS 12.x)偶尔会失效,找到了另一个工具来替代

补充部分

Cleaner

Keka

  • https://www.keka.io
  • 压缩解压工具,命令行版的 p7zip 对非专业用户还是不够友好

MOS

  • https://mos.caldis.me/
  • 替代 Scroll Reverser 的小工具,将鼠标的滚轮方向单独调整成跟 Windows 下方向一样,保留触摸板是原生方向
  • 在 GitHub 上有免费开源,也可以 brew 安装,界面看起来更现代化一些

macOS 实用小工具记录

记录一下自己目前在 macOS 上常用的小工具们(按字母序)v2022.02.10

DaisyDisk

  • https://daisydiskapp.com/
  • 磁盘空间分析工具,免费可试用,我某次买过付费的就一直在用
  • 可以用 gdu 等工具替代,只是这个可视化做的更漂亮

displayplacer

EasyRes

  • http://easyresapp.com/
  • 屏幕分辨率快速管理工具,免费,Mac App Store (MAS) 直接有下载
  • 相比 RDM 等工具,这个安装和使用更方便

Hidden Bar

Itsycal

Karabiner

  • https://karabiner-elements.pqrs.org/
  • 键位重映射工具,之前主要用来把外接键盘的 Pause/Break 重置为 Power 方便锁屏,现在有了原生 Ctrl+Cmd+Q 后好像用不上了

Rectangle

  • https://rectangleapp.com/
  • 窗口布局管理工具,之前的 Spectacle 不更新了,这个适配新的更好点,同样免费且开源

Scroll Reverser

  • https://pilotmoon.com/scrollreverser/
  • 鼠标滚动方向调整小工具,系统原生只能触摸板和鼠标方向同时改,实际上触摸板保留 macOS 原生方向跟手挺好,外接鼠标还是跟 Win 保持一致更舒服

Snipaste

  • https://www.snipaste.com/
  • 截图小工具,也有推荐 Shottr 的,不过这个在 macOS/Win 上都有,国人开发界面也更好理解

Stats