PTT推薦

[閒聊] Apple 鍵盤的Fn/Globe key

看板Key_Mou_Pad標題[閒聊] Apple 鍵盤的Fn/Globe key作者
cgjosephlee
(JLee)
時間推噓 3 推:3 噓:0 →:1

身為mac的使用者,曾經我也很想找一把跟原廠鍵盤配置一模一樣的機械鍵盤,但始終沒有個像樣的產品,都快想說乾脆自己做一把了,但能力不足QQ

前陣子買了Keychron K3 Pro 在家裡使用,結果遇到F3, F4 失效了。研究了一下才發現是karabiner 的原因,但我太依賴karabiner 了無法不用,只好想其他的解決辦法。研究的過程發現Apple 鍵盤或macbook 上的Fn 跟一般鍵盤的Fn 好像不太一樣,這邊紀錄一下。

一般Fn key

- 不會送出keycode。
- 通常是切換鍵盤的layer,達到送出不同的keycode。
- 功能燒在鍵盤韌體上。

Apple Fn/Globe key (apple_fn)

- 是一個有keycode 的按鍵。
- 不是切換layer,比較像是control 這種控制鍵。
- 只有特定VID/PID 的鍵盤(= 原廠鍵盤)送出的apple_fn,macOS 才認可(不愧是Apple)。

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),模擬組合鍵。需額外修改開啟launchpad 的熱鍵為 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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.163.149 (臺灣)

※ 文章網址:
https://www.ptt.cc/Key_Mou_Pad/E.ucojd87n5uQM

nekoron120907/06 22:00推研究

Belieeve07/06 22:24終於知道為什麼我的F8用Karabiner 會掛掉了......

可以用event viewer觀察有/沒有karabiner下收到的keycode

waroz07/06 23:49看來只要用karabiner來映射出FN就沒問題了

※ 編輯: cgjosephlee (150.117.236.224 臺灣), 07/07/2023 00:09:03

mirror022707/07 07:37推研究