簡單來說
有些鍵盤在Linux下,F1~F12(F區)會發生錯誤,無法正常對應。
透過修改hid_apple可解決這個問題
詳細狀況
前幾天詢問板友後,順利入手irocks K71R,
一切都很美好,直到按下F1~F12發現沒有反應。
我的系統是openSUSE Tumbleweed,
以前的鍵盤,包括筆電鍵盤都沒問題,這是第一次遇到。
透過xev確認keycode,舉例來說:
有線模式下,F1~F10正確對應到keycode 67-76
無線模式下,F1卻跳到keycode 232、F9跳到171與音量調整相衝。
查了幾篇資料,得知與配置有關
https://wiki.archlinux.org/title/Apple_Keyboard#Function_keys_do_not_work
https://forums.opensuse.org/showthread.php/506437
https://asaba.sakuragawa.moe/2021/07/
%E4%BF%AE%E5%BE%A9-fedora-gnu-linux-%E7%B3%BB%E7%B5%B1%E4%B8%8B%E7%9A%84%E9
%8D%B5%E7%9B%A4%E5%8A%9F%E8%83%BD%E5%8D%80%EF%BC%88f-
%E5%8D%80%EF%BC%89%E6%8C%89%E9%8D%B5/
(縮址:https://reurl.cc/7elaO5)
系統核心判斷為「按下後直接觸發媒體鍵」,而不是F1~F12該有的動作。
若鍵盤有Win/Mac雙模式,
切換成Mac模式也許可解決F1~F12的問題,但Alt與Meta鍵又會相反。
此時可用以下指令暫時修改
$echo 2 >> /sys/module/hid_apple/parameters/fnmode
要永久修改有兩個方法
①需要調整modprobe.d下的檔案。
檔案位置依發行版本不同,fedora和openSUSE應該都是
/etc/modprobe.d/50-hid_apple.conf
並在檔案加入 options hid_apple fnmode=1
第三篇文章提到,fedora等發行版本需更新dracut
$echo " install_items+=/etc/modprobe.d/50-hid_apple.conf" >\
/etc/dracut.conf.d/50-hid_apple.conf
$dracut -vf