如何在 Linux 上切换 Apple 键盘上功能键的“fn”用法

如何在 Linux 上切换 Apple 键盘上功能键的“fn”用法

我有一个苹果超薄键盘(USB),如果我想按原样使用其中一个功能键,我还必须先按“fn”键。否则,它将尝试执行该键的其他功能,例如增加或减少显示强度、更改音量/静音等...

另外,fn 键实际上位于普通键盘的“insert”键的位置。我该如何解决所有这些问题?

我非常喜欢这款键盘,因为它让我的打字更加轻松,而且更加安静。但有些不同的映射有时会让我烦恼。

谢谢 :-)

答案1

echo 0 > /sys/module/hid_apple/parameters/fnmode

或者,如果出现权限问题:

echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

这样就无需重启。添加该选项是个好主意,这样更改在重启后仍会保留。

  • 0 = Fn 键已禁用
  • 1 = 默认按下 Fn 键
  • 2 = 默认释放 Fn 键

/drivers/hid/hid-apple.c 第 42 行

Apple 键盘上的 fn 键模式(0 = 禁用,[1] = fkeyslast,2 = fkeysfirst)

答案2

上面关于设置什么选项的答案/etc/modprobe.d有点过时了。幸运的是关于 Apple 键盘支持的详细文档

  1. 编辑或创建文件 /etc/modprobe.d/hid_apple.conf,例如:

    gksudo gedit /etc/modprobe.d/hid_apple.conf

  2. 将此行添加到之前打开的文件中。

    options hid_apple fnmode=2

  3. 保存文件并执行以下命令以通知 hid_apple 模块重新加载其配置。

    sudo update-initramfs -u

  4. 重启

我个人建议sudo update-initramfs -u -k all对所有内核进行更新(一旦您确信设置按预期工作)。

设置 fnmode/sys仍然以相同的方式工作:

sudo -s 'echo 2 > /sys/module/hid_apple/parameters/fnmode'

两种方法中的值如下:

  • 0 = 禁用:禁用“fn”键。按“fn”+“F8”将表现得像只按“F8”
  • 1 = fkeyslast:功能键用作最后一个键。按“F8”键将充当特殊键。按“fn”+“F8”将充当 F8。
  • 2 = fkeysfirst:功能键用作第一个键。按“F8”键将起到 F8 的作用。按“fn”+“F8”将充当特殊键(播放/暂停)

答案3

这里

我们如何交换 Fn 键的功能?

首先编辑 /etc/modprobe.d/options

sudo nano /etc/modprobe.d/options

并确保它有这条线

选项隐藏 pb_fnmode=2

然后保存并退出。最后,我们需要更新 ramfs:

sudo 更新-initramfs -u -v -kuname -r

然后重启即可!

答案4

Ubuntu 22.04

echo 1 > /sys/module/hid_apple/parameters/swap_fn_leftctrl

或者将此行添加到/etc/modprobe.d/hid_apple.conf

options hid_apple swap_fn_leftctrl=1

相关内容