有人知道如何关闭 Ubuntu 中的笔记本电脑热键吗?

有人知道如何关闭 Ubuntu 中的笔记本电脑热键吗?

我有一台装有 Kubuntu 20.04 的 Thinkpad T460s,我使用 Nacodex K680T 键盘,它与功能键 F[1-12] 共享数字行。

通过点击键盘右下角的“func”键来选择功能键。

不幸的是,我无法使用 F[1-12] 键,因为每次我按下“func”和数字行中的键时,它都会启动笔记本电脑的热键:媒体键、亮度、音量等。

有人知道如何关闭热键吗?我需要 F[1-12] 而不是控制亮度。

更新:我有更多信息 - 我已经安装screenkey并且看到 func+num 行正在触发XF86KbdBrightnessDown等等。希望这些信息对可以告诉我如何摆脱这个问题的人有用。

我尝试从 KVM 创建 ESXi 启动 USB,但无法按 F11 来执行提示,即使在 VM 内部也是如此。因此,此时,无法通过单键刷新网页或进入 Chrome 开发工具。这给我带来了重大的可用性问题。

我将尝试检查 BIOS 以查看按键是否已被重定向,因为内部键盘也没有注册 F[1-12] - 所以这让我相信这是一个以某种方式被翻转的 BIOS 设置(不记得这样做过,但你永远不知道......)

哦,我已经尝试过 [left/right] ctrl-func、alt-func、shift--func、shift-[alt/ctrl]-func 的组合 - 它们都没有任何帮助。

左 ctrl-func 锁定 K680T 上的功能键,但它们的行为没有任何不同(除了在没有功能键按下的情况下消除数字行)。

答案1

我也有同样的键盘。您的脚本在 X11 下运行良好,但在 Wayland 下则不行,所以我花了更多时间研究这个问题。事实证明,即使在 Windows 模式下,键盘也会向系统报告为 Apple 键盘。运行 lsusb,您会看到 Apple 作为供应商。

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

上述命令将 K680T 功能键的行为更改为您期望的行为。当然,这也会影响真正的 Apple 键盘。

您还可以向 modprobe.d 添加一些内容,以便在启动时自动处理此问题。创建一个名为 /etc/modprobe.d/50-hid_apple.conf 的文件,其中包含以下内容:

选项 hid_apple fnmode=0

更新你的 initramfs 然后你就可以开始了。

答案2

我发现的最简单的解决方案是:

  • 浏览网络
  • 尝试修饰符acpi_osi=acpi_osi=Windowsacpi_osi=LinuxGRUB_CMDLINE_LINUX_DEFAULT
  • 切换 BIOS 选项enabled/disabled fn as primary functionenabled在我的 BIOS 中,这意味着将其视为正常的 F[1-12] 键,与联想支持参考所述的相反)
  • 反复试验X11 xkb,希望能够找出密钥func是哪个密钥(因为它没有在中注册screenkey,但有几个XF86不在的密钥注册了 /usr/share/X11/xkb/symbols/pc

当我偶然发现这个基本的xmodmap命令脚本时:

#!/bin/bash
# Script name: fix-fkeys.sh

# fix the common F keys
xmodmap -verbose -e 'keycode 232 = F1'
xmodmap -verbose -e 'keycode 233 = F2'
xmodmap -verbose -e 'keycode 128 = F3'
xmodmap -verbose -e 'keycode 212 = F4'
xmodmap -verbose -e 'keycode 237 = F5'
xmodmap -verbose -e 'keycode 238 = F6'
xmodmap -verbose -e 'keycode 173 = F7'
xmodmap -verbose -e 'keycode 172 = F8'
xmodmap -verbose -e 'keycode 171 = F9'
xmodmap -verbose -e 'keycode 121 = F10'
xmodmap -verbose -e 'keycode 122 = F11'
xmodmap -verbose -e 'keycode 123 = F12'

参考: 如何完全禁用多媒体键?18.04 LTS

xmodmap 键码与我在网上找到的任何参考资料或 中列出的代码均不对应screenkeyxev或者acpi_listen

但我注意到你可以打印出当前映射xmodmap -pk- 所以我使用了:

$ xmodmap -pk | grep Brightness

找到 F1 和 F2,因为上面引用的 AskUbuntu 答案中没有它们,但分别映射到XF86BrightnessDownXF86BrightnessUp。因此,这让我了解到它们是代码232233,然后我填写了最后两个键。

对于使用不同键盘且键码与我的不匹配的人的配置,这可能很有用。

脚本xmodmap的优点在于它不会修改任何过于混乱、依赖系统或难以恢复的内容,我所要做的就是调用脚本或将其设置为在登录时运行。

相关内容