我的 Dell Latitude 上有这种键盘布局
Home
和End
键映射到复合键确实让我很苦恼Fn
。所以我设法通过添加这个来交换PageUp
withHome
和PageDown
with (实际上,这是一个德语变体)End
/usr/share/X11/xkb/symbols/de
xkb_symbols "basic" {
...
key <HOME> { [ Prior ] };
key <PGUP> { [ Home ] };
key <END> { [ Next ] };
key <PGDN> { [ End ] };
...
}
它按预期工作。然而,我经常在笔记本电脑和办公桌之间切换,使用扩展坞和完整的键盘,这种黑客行为很烦人。
操作此 xkb 符号文件需要重新启动(或至少重新启动桌面环境)。是否有可能在运行时切换行为?甚至可能是自动化的,就像 udev 钩子看到 USB-C 底座一样?
答案1
您可以使用 在布局之间切换setxkbmap
。例如,我使用 Dvorak 布局,我将您的更改应用到我的本地
/usr/share/X11/xkb/symbols/de
并切换到德语布局:
setxkbmap de
我检查了 PGUP 是否作为 Home 工作,确实如此。然后我又切换回德沃夏克:
setxkbmap dvorak
如果您想在原始布局和自定义布局之间切换,我认为最好的方法是从原始布局文件中删除您在问题中显示的 4 行de
并创建一个新的自定义布局文件,例如 /usr/share/X11/ xkb/symbols/de-modified 添加了修改。在两种布局之间切换无需重新启动,也无需重新启动 X:
setxkbmap de # PGUP wouldn't work as home
setxkbmap de-modified # PGUP would work as home