在运行Ubuntu系列系统的Chromebook上实现媒体功能键正常工作的方法
在运行Ubuntu系列系统的Chromebook上实现媒体功能键正常工作的方法
嘿,我明白你在Chromebook上装了Ubuntu MATE 22.04和Kubuntu 23.04后遇到的媒体键问题——明明系统设置里能调亮度,但媒体键却被当成F1-F10用,确实挺闹心的。毕竟GalliumOS虽然原生支持,但已经停更了,想用最新LTS就得自己动手调整,下面给你几个亲测有效的方案:
方案一:调整系统键盘设置(最简单)
先试试系统自带的设置,很多时候就能解决问题:
- Ubuntu MATE:打开「系统设置」→「键盘」,找到「功能键行为」选项,选择「媒体键优先」(而不是默认的「功能键优先」),保存后重启键盘或者电脑试试。
- Kubuntu:进入「系统设置」→「输入设备」→「键盘」,在「高级」或者「功能键」相关选项里,切换到媒体键优先模式。
如果你的系统里找不到这个选项,就往下看其他方案。
方案二:用xmodmap手动映射键位
这个方法适合自定义键位,步骤也不复杂:
- 先打开终端,输入
xev命令,会弹出一个小窗口。 - 把鼠标放在窗口里,依次按下你要修复的媒体键(比如音量加、音量减、静音、亮度调节),窗口里会显示对应的
keycode(比如音量加可能是keycode 123),把这些键码记下来。 - 在你的用户目录下创建一个名为
.Xmodmap的文件,内容格式参考下面(把键码换成你刚才记的):
keycode 67 = XF86AudioMute NoSymbol XF86AudioMute keycode 68 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume keycode 69 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume keycode 70 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown keycode 71 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
- 回到终端,输入
xmodmap ~/.Xmodmap让配置立即生效,然后测试媒体键是否正常。 - 为了让配置在开机后自动生效,把
xmodmap ~/.Xmodmap这个命令添加到你的桌面环境启动项里(比如Ubuntu MATE的「启动应用程序」,Kubuntu的「自动启动」)。
方案三:修改底层udev硬件数据库(更持久)
如果上面的方法重启后失效,或者你想要更底层的配置,可以试试这个:
- 打开终端,用管理员权限创建一个配置文件:
sudo nano /etc/udev/hwdb.d/90-chromebook-keyboard.hwdb - 把下面的内容粘贴进去(注意:如果你的键码和示例不同,需要替换成你用xev查到的对应键值,比如
KEYBOARD_KEY_3b里的3b是F1的扫描码,你可以根据自己的情况调整):
evdev:atkbd:dmi:*svnGoogle:*pn*: KEYBOARD_KEY_3b=xf86audiouser # F1 -> 静音 KEYBOARD_KEY_3c=xf86audiolowervolume # F2 -> 音量减小 KEYBOARD_KEY_3d=xf86audioraisevolume # F3 -> 音量增大 KEYBOARD_KEY_3e=xf86monbrightnessdown # F4 -> 亮度降低 KEYBOARD_KEY_3f=xf86monbrightnessup # F5 -> 亮度提高
- 按下
Ctrl+O保存,Ctrl+X退出编辑器。 - 运行下面两个命令让配置生效:
sudo systemd-hwdb update sudo udevadm trigger
- 重启电脑后,媒体键应该就能正常工作了。
方案四:安装Chromebook专用键盘工具
如果以上方法都不行,你可以试试安装专门为Chromebook优化的键盘配置包,终端输入:sudo apt update && sudo apt install chromeos-keyboard-config
安装完成后重启电脑,看看媒体键是否恢复正常。
需要注意的是,不同型号的Chromebook键位扫描码可能略有不同,所以用xev确认键码这一步很重要,别直接照搬示例里的数值哦。
备注:内容来源于stack exchange,提问作者Archisman Panigrahi
相关产品推荐
相关产品推荐

