我有一个苹果超薄键盘(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 键盘支持的详细文档:
编辑或创建文件 /etc/modprobe.d/hid_apple.conf,例如:
gksudo gedit /etc/modprobe.d/hid_apple.conf
将此行添加到之前打开的文件中。
options hid_apple fnmode=2
保存文件并执行以下命令以通知 hid_apple 模块重新加载其配置。
sudo update-initramfs -u
- 重启
我个人建议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 -k
uname -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