我的笔记本电脑配有 PrintScreen 键(位于 KB 右侧,Alt_R 和 Control_R 之间)。在 Xorg 中,我一直使用 xmodmap 将 Printscreen 与菜单键交换:
/usr/bin/xmodmap -e“键码 107 = 菜单”
问题是,由于安全限制,xmodmap、xdotool 和其他任何依赖于拦截和注入击键的东西在 Wayland 上不再起作用。 gnome-tweak-tool 有(开箱即用的)一些漂亮的基于 xkb 的修改,允许交换一些特定的键(例如带有转义的 capslock),但它没有我正在寻找的修改。
我想知道是否有办法通过修改键盘布局文件将 printscr 替换为菜单键?它们是文本文件还是我必须重新编译的二进制文件?
/usr/bin中有setkeycodes和getkeycodes,有人知道这些命令的作用吗?
答案1
正如我在问题中所说,已经有 xkb 已经有很多用于修改键盘的选项。这对我来说不是一个选项,因为修改 printscr 键的唯一选项是将其替换为 Win_R。古纳尔·哈尔马森在这个线程上建议我修改 xkb 的修改,以便 printscr/win_r 可以代替 printscr/menu 。我们一起制定了一个解决方案,我将在这里重新发送:
在终端中输入:
sudo su
nano /usr/share/X11/xkb/symbols/altwin
在文件的底部,您会发现:
// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
replace key <PRSC> { [ Super_R, Super_R ] };
modifier_map Mod4 { <PRSC>, <RWIN> };
};
删除此部分并将其替换为:
// Menu is mapped to the PrtSc key (and the usual Win key).
xkb_symbols "prtsc_rwin" {
replace key <PRSC> { [ Menu, Menu ] };
modifier_map Mod4 { <PRSC>, <MENU> };
};
要在nano中删除,请使用退格键(突出显示和删除不起作用)。要粘贴,请使用shift-ctrl-v。要退出并保存,请按 ctrl-x,选择“是”进行覆盖,然后按 Enter。
重启。在 Gnome/Ubuntu 中,转到 gnome-tweak-tools 在调整工具中,转到键盘和鼠标部分,按“其他布局选项”按钮并展开 Alt/Win 键行为。选择最底部的选项:Win 映射到 printscr(请记住,我们只是修改了此行为以交换 print 和 Menu,而不是 print 和 Win)。 (我确信有一种方法可以在 KDE 中打开 modded xkb 选项,但我不使用它,所以我不能给你确切的过程)。