我一直在尝试重新映射我的 X1 Carbon 6th gen 上的功能键,因为默认键盘上没有媒体键。
到目前为止,我已经使用 xkb 配置将 F8、F9 和 F10 分别重新映射到 XF86AudioPrev、XF86AudioPlay 和 XF86AudioNext/usr/share/X11/xkb/symbols/pc并修改了键码/usr/share/X11/xkb/keycodes/evdev。新的键绑定有效,但是旧的键映射不会被删除,因此按钮有两个操作。
我就是这样做的:
我使用 xev 分别找到了 F8、F9 和 F10(FN 未切换)的键码为 245、179、246。然后我转到 /evdev 并为 F8、F9 和 F10 创建了快捷方式,如下所示:
<FN08> = 246;
<FN09> = 179;
<FN10> = 245;
并删除了键码 246,179 和 245 的预制快捷方式,称为 I246 = 246 等。
在symbols/pc 中,我添加了键 F8-10 的映射:
key <FN08> { [ XF86AudioPrev ] };
key <FN09> { [ XF86AudioPlay ] };
key <FN10> { [ XF86AudioNext ] };
我重新启动了系统,然后运行 xmodmap -pke 这给了我:
keycode 179 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 245 = XF86AudioNext NoSymbol XF86AudioNext
keycode 246 = XF86AudioPrev NoSymbol XF86AudioPrev
好的,太好了!使用我的 F8、F9 和 F10 键,我现在可以控制 Spotify 等中的歌曲。但是,除了 F 键执行 XF86AudioSomething 之外,它们还执行旧的映射。例如,F8 除了执行 XF86AudioPrev 之外,还可以切换我的 Wifi(之前已映射到 XF86WLAN)。
如何删除功能键的旧键绑定?根据 xmodmap,F 键甚至没有绑定到旧的映射。
- 系统:Ubuntu 18.04
- 宝马:i3
- PC:X1 Carbon 第六代
- 键盘布局:丹麦语(无死键)