如何重新映射 Fn 键组合?

dal*_*y42 6 keyboard acpi shortcut-keys remapping

我想在我的Sony VAIO上做一些高级的按键映射。它涉及到Fn关键。这就是我想要做的:

我想做一个 Fn 键反转,即重新映射:我键盘上的[ Fn+ F2to F7]分别为 [ F2to F7] 软键。重新映射后,如果可能,我希望其他涉及功能键的组合键可以照常工作(如Alt+ F4)。

这会派上用场,因为除了组合键之外,我从不使用功能键。我也经常使用音量和亮度控件(Fn+F2F7)。

我用谷歌搜索并在另一个 ask-ubuntu 问题中找到了这个:

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

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

我发现当我按下这些组合时,它会触发 ACPI 事件。这是我依次按Fn+ F2to时的输出 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
Run Code Online (Sandbox Code Playgroud)

我观察到 ACPI 事件仅在按下特殊组合键时触发,即如果我按下Fn+不会生成事件A。所以我不能分配像Fn+这样的快捷方式A,但我不能以某种方式操纵触发 ACPI 事件的组合键吗?

编辑:我在/lib/udev/hwdb.d/60-keyboard.hwdb. 它的相关部分张贴在这里。但是 udev 配置被其他东西覆盖了,因为我交换了 vol up 和 mute 键,即使重新启动后也没有反映更改。

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

yol*_*398 2

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

您对此的信息是正确的。这不能通过操作系统来完成。必须通过 BIOS 来完成。再检查一遍BIOS中的所有选项,我相信你一定能找到它。如果没有,请搜索如何从 BIOS 执行此操作,并将您的 BIOS 版本添加到搜索中。