如何重新映射 Fn 组合键?

如何重新映射 Fn 组合键?

我想在我的索尼 VAIO。这涉及到Fn密钥。这就是我想要做的:

我想进行 Fn 键反转,即分别将键盘上的[ Fn+F2至] 重新映射到 [至] 软键。重新映射后,如果可能的话,我希望涉及功能键的其他组合键能够正常工作(如+ )。F7F2F7AltF4

这很有用,因为我从不使用除组合键以外的功能键。此外,我还经常使用音量和亮度控制(Fn+F2F7)。

我在 Google 上搜索了一下,在另一个 ask-ubuntu 问题上发现了这一点:

Fn 键通常不发送键代码;它由 BIOS 处理,而不是由操作系统处理。有时您可以将其作为 ACPI 事件获取。

此时我已检查了 BIOS,但无法从那里更改它。

Fn我发现当我按下这些组合键时,它会触发 ACPI 事件。这是我按顺序按下+时F2的输出 F7

Fn + F1 (Toggle TouchPad, not working) press down:
button/fnf1 FNF1 00000080 00000000 K
sony/hotkey SNY5001:00 00000001 0000000c

Fn + F1 release:
sony/hotkey SNY5001:00 00000001 0000003b

Fn + F2 press down:
button/mute MUTE 00000080 00000000 K

Fn + F3 press down:
button/volumedown VOLDN 00000080 00000000 K

Fn + F4 press down:
button/volumeup VOLUP 00000080 00000000 K

Fn + F5 press down:
video/brightnessdown BRTDN 00000087 00000000

Fn + F6 press down:
video/brightnessup BRTUP 00000086 00000000

Fn + F7 release:
video/switchmode VMOD 00000080 00000000 K
sony/hotkey SNY5001:00 00000001 00000012

Fn + F7 release:
sony/hotkey SNY5001:00 00000001 0000003b

我观察到仅当按下特殊组合键时才会触发 ACPI 事件,即按Fn+不会生成任何事件A。因此我无法指定Fn+之类的快捷键A,但我不能以某种方式操纵触发 ACPI 事件的组合键吗?

编辑:我在 中找到了扫描码到键码的键盘映射/lib/udev/hwdb.d/60-keyboard.hwdb。相关部分已发布这里。但是 udev 配置被其他东西覆盖了,因为我交换了音量调高和静音键,即使重新启动后更改也没有反映出来。

编辑2:输出每个键的 X 事件 [Fn+ F2toF7] 使用xev -event keyboard

答案1

您的问题有点令人困惑。我假设您想将 Fn + F# 更改为将所有功能键 F1 至 F12 注册为 F#。

您提供的信息是正确的。这无法通过操作系统完成。必须通过 BIOS 完成。再次检查 BIOS 中的所有选项,我确信您能够找到它。如果没有,请在 Google 上搜索如何从 BIOS 执行此操作,并将您的 BIOS 版本添加到搜索中。

相关内容