如何在 Arch 中永久啟動功能鍵

如何在 Arch 中永久啟動功能鍵

搜尋我發現這個問題這解釋瞭如何啟動功能鍵,只是更改似乎不是永久性的。

每次啟動時文件的內容/sys/module/hid_apple/parameters/fnmode都會回到3

為什麼3?允許的參數不在範圍內嗎0-2

如何才能永久更改文件/sys/module/hid_apple/parameters/fnmode

答案1

為什麼是3?允許的參數不是在 0-2 範圍內嗎?

不,該選項3是在 2022 年為 Linux 5.18 添加的,而您正在閱讀的文檔似乎是在 2012 年左右更新的。

$ modinfo hid-apple
parm:           fnmode:Mode of fn key on Apple keyboards (0 = disabled,
                1 = fkeyslast, 2 = fkeysfirst, [3] = auto) (uint)

如何永久更改 /sys/module/hid_apple/parameters/fnmode 檔案?

它是一個模組參數,因此您可以 a) 透過 modprobe 或 b) 核心命令列配置它。

  • 當透過 modprobe 載入模組時,將從以下檔案讀取其參數/etc/modprobe.d(請參閱man modprobe.d手冊頁):

    options hid-apple fnmode=2
    

    不要忘記重新運行mkinitcpio -P以將檔案複製到 initramfs 中(因為這很可能是在模組實際載入時發生的)。

  • 預設參數也可以透過內核命令列(透過 GRUB 等)指定:

    linux root=... rw hid_apple.fnmode=2
    

    (至少,我認為這應該有效。)

答案2

這不是最佳解決方案,但現在我已經這樣做了:

  1. 建立systemd服務文件:使用nano具有超級使用者權限的文字編輯器建立新的 systemd 服務檔案。運行的命令是sudo nano /etc/systemd/system/fnmode.service.

  2. 填充服務文件:服務文件需要填入以下 systemd 指令:

    [Unit]
    Description=Set hid_apple fnmode
    
    [Service]
    Type=oneshot
    ExecStart=/bin/bash -c 'echo 2 > /sys/module/hid_apple/parameters/fnmode'
    
    [Install]
    WantedBy=multi-user.target
    
  3. 啟用systemd服務:需要啟用 systemd 服務才能在系統啟動時啟動。這可以透過命令來完成sudo systemctl enable fnmode

  4. 啟動systemd服務:最後,systemd服務可以立即啟動,無需重新啟動系統。這可以透過命令來完成sudo systemctl start fnmode

相關內容