Linux下解決鍵盤F1~F12失效的問題 - Linux

Mason avatar
By Mason
at 2022-02-26T23:09

Table of Contents

※ [本文轉錄自 Key_Mou_Pad 看板 #1Y6a9Kdx ]

作者: rail02000 (台中2B月台) 看板: Key_Mou_Pad
標題: [閒聊] Linux下解決鍵盤F1~F12失效的問題
時間: Sat Feb 26 23:07:58 2022

簡單來說

有些鍵盤在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 --regenerate-all

②在GRUB2的開機選項加入parameter
 我直接在Yast圖形界面,設定開機時的kernel選項
在quite選項前加入「hid_apple.fnmode=1」即可解決

其他雜談
1.自行用Xmodmap等重新mapping可行嗎?
A:應該可用,但不建議。因為調完後我的KDE怪怪的,
而且一樣無法切換terminal (如Ctrl+Alt+F1)

2.已知問題
A:調整後Fn+F1~F12無法使用預設快捷鍵
  即便按Fn+F1,一樣是F1的動作。

  我常用的只有播放/暫停按鈕,影響不大。
可在Windows下的官方程式,重新指派不常用的按鍵套用媒體功能。
  設定後在Linux下可直接沿用。

3.irocks K71R滾輪在Linux下支援度
 我的桌面環境是KDE
 音量:完全正常(轉動調大調小/按下靜音)
 切換視窗:完全正常(轉動切換視窗/按下選擇)
 Win10轉盤:無效

 音量與切換視窗完全不用設定或安裝驅動,可直接使用。

--
Tags: Linux

All Comments

David avatar
By David
at 2022-02-28T10:19
\o/
Kyle avatar
By Kyle
at 2022-03-01T21:30
我還是用普通鍵盤就好
Rebecca avatar
By Rebecca
at 2022-03-03T08:41
用hwdb去match鍵盤的vendor/product
Jacky avatar
By Jacky
at 2022-03-04T19:51
以及用evemu-describe抓scancode(keycode?)
最後把想要的mapping丟在/etc/udev/hwdb.d就行了
參考
https://yulistic.gitlab.io/2017/12/linux-keymappin
Ethan avatar
By Ethan
at 2022-03-06T07:02
g-with-udev-hwdb/
https://bit.ly/3plTm9R
Jacky avatar
By Jacky
at 2022-03-07T18:12
以及arch wiki
map scancodes to keycodes頁面
Todd Johnson avatar
By Todd Johnson
at 2022-03-09T05:23
https://bit.ly/3HDEcDn
優點是鍵盤製造商有弄好vid/pid的話可以match任意鍵盤
Andrew avatar
By Andrew
at 2022-03-10T16:33
或者說其他鍵盤可以正常使用
Faithe avatar
By Faithe
at 2022-03-12T03:44
以及(我的理解上是)在usb驅動就做好keycode映射
James avatar
By James
at 2022-03-13T14:55
所以跟視窗系統無關 也不用xev (which require xorg)
畢竟現在發行版不少應該都是wayland而非xorg
Regina avatar
By Regina
at 2022-03-15T02:05
也因此在tty也能正常工作
Ula avatar
By Ula
at 2022-03-16T13:16
範例 https://pastebin.com/zKvanZPk
Selena avatar
By Selena
at 2022-03-18T00:26
hwdb提供的這個功能我覺得是linux人性化程度高於win的
一個地方
Sandy avatar
By Sandy
at 2022-03-19T11:37
買了dvorak鍵盤都可以當成qwerty用XD
Barb Cronin avatar
By Barb Cronin
at 2022-03-20T22:47

power lose 對檔案系統傷害最低的手段

Ina avatar
By Ina
at 2022-02-18T17:16
因應學校變電站健檢,電腦會沒電,但又沒有設WoL(而且WoL好像活不過電源中斷(?)), 只有設電源恢復時自動開機。 檔案系統是 ext4 (flag: data=ordered)。 請問有什麼手段可以讓power lose對檔案系統的傷害降到最低嗎? 目前找到的方式有: - 將ordered改為 ...

如何遠端控制另一台電腦

Oliver avatar
By Oliver
at 2022-02-17T11:45
如題 手邊一台平板筆電的螢幕觸控壞了 鍵盤也很小 不是很好敲 所以想從桌電透過區網連線進去控制它 剛GOOGLE了一些VNC, XRDP的文章 但這些好像比較像遠端桌面 而不是遠端控制 有建議的遠端控制軟體嗎? 平板筆電與桌電都是安裝Linux 謝謝。 - ...

固定ip的設定

Harry avatar
By Harry
at 2022-02-16T21:21
我有一台linux的主機跟一台路由器連接到中華電信的數據機。 可是在兩台機器同時連接的情況下我就沒有辦法用ssh連到我的linux主機,似乎是因為那組 固定的ip會自動分配給路由器, 必須把路由器的網路線拔掉才有辦法連接到Linux主機,請問我該怎麼做才能在同時連接的 情況下,把固定ip分配給linux? ...

請問 RIME 洋蔥注音如何輸入片假名

Todd Johnson avatar
By Todd Johnson
at 2022-02-16T21:09
各位好,最近才發現 Linux 有洋蔥注音 mix-in 輸入法這神物, 但是嘗試照開發者示範的方式來輸入中文日文總是無法成功, https://shorturl.at/kzAR9 像是第一段的宇多田ヒカル就一定要一個一個字選, 否則就只有平假名,沒辦法像他直接打出片假名來, 然後像是我要打日文的屁眼,原本 ...

(已解決)請問RIME如何加入新的輸入法

Michael avatar
By Michael
at 2022-02-16T15:46
各位好,前陣子有在版上提出注音輸入法的問題, 有某位前輩提供了 RIME 洋蔥的輸入法方案, https://github.com/oniondelta/Onion_Rime_Files 裡面有提到一個ᄇV合輸入法的方案「注音 洋蔥 mix-in 版」 但是他上面的說明沒有完整說明怎麼安裝呀! 分別安放在該 ...