作者cgjosephlee (JLee)
看板Key_Mou_Pad
标题[闲聊] Apple 键盘的Fn/Globe key
时间Thu Jul 6 18:27:02 2023
身为mac的使用者,曾经我也很想找一把跟原厂键盘配置一模一样的机械键盘,但始终没有
个像样的产品,都快想说乾脆自己做一把了,但能力不足QQ
前阵子买了Keychron K3 Pro 在家里使用,结果遇到F3, F4 失效了。研究了一下才发现是k
arabiner 的原因,但我太依赖karabiner 了无法不用,只好想其他的解决办法。研究的过
程发现Apple 键盘或macbook 上的Fn 跟一般键盘的Fn 好像不太一样,这边纪录一下。
一般Fn key
- 不会送出keycode。
- 通常是切换键盘的layer,达到送出不同的keycode。
- 功能烧在键盘韧体上。
Apple Fn/Globe key (apple_fn)
- 是一个有keycode 的按键。
- 不是切换layer,比较像是control 这种控制键。
- 只有特定VID/PID 的键盘(= 原厂键盘)送出的apple_fn,macOS 才认可(不愧是Appl
e)。
Keychron K3 Pro
- win/mac mode 其实只是切换不同layer。mac (0), mac fn (1), win (2), win fn (3)
,只有四层。
- mission control (F3) 与launchpad (F4) 其实没有送出keycode,是用某种方式模拟
?或是Event Viewer 认不得?
- 因为没有keycode,在经过karabiner 拦截後就失效了,想改都没的改。
- 用VIA 修改:F3 → C(KC_UP),F4 → HYPR(KC_SPC),模拟组合键。需额外修改开启lau
nchpad 的热键为 cmd+opt+ctrl+shift+space。
- K7 的fn2 好像可以用apple_fn?
Niz mini84
- mac mode 下有两个Fn key,Fn + fn。
- win/mac mode 连VID/PID 都不一样。
- mac mode 用了某个Apple 原厂键盘的VID/PID 0x05ac/0x0220 (不怕被吉吗?),所以
可以送出apple_fn。
- win mode 下VID/PID 是 0x0438/0x5235,是AMD…?
Karabiner Elements
- 用虚拟键盘拦截实体键盘的keycode,修改後再送给OS。
- 如果有经过karabiner,则VID/PID 错误的apple_fn keycode 也可以正常触发。
QMK
- 2023.02,新增了mission control (KC_MCTL) 与 launchpad (KC_LPAD) 的keycode。
- 因为apple_fn 限制VID/PID,所以QMK 无法使用这个keycode。
- 但还是有办法改。
同步发在blog,很多连结太长就不复制过来了。
https://cgjosephlee.github.io/blog/2023/07/04/apple-fn-key/
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.163.149 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Key_Mou_Pad/M.1688639224.A.4B2.html
1F:推 nekoron1209: 推研究07/06 22:00
2F:→ Belieeve: 终於知道为什麽我的F8用Karabiner 会挂掉了......07/06 22:24
可以用event viewer观察有/没有karabiner下收到的keycode
3F:推 waroz: 看来只要用karabiner来映射出FN就没问题了07/06 23:49
※ 编辑: cgjosephlee (150.117.236.224 台湾), 07/07/2023 00:09:03
4F:推 mirror0227: 推研究 07/07 07:37
5F:推 robertchun: 爬文查到这个 推 11/12 11:12