我的笔记本电脑带有一个 PrintScreen 键(在 KB 的右侧,在 Alt_R 和 Control_R 之间)。在 Xorg 中,我一直在使用 xmodmap 用菜单键交换打印屏幕:
/usr/bin/xmodmap -e "keycode 107 = 菜单"
问题是由于安全限制,xmodmap、xdotool 和任何其他依赖于拦截和注入击键的东西在 Wayland 上不再起作用。gnome-tweak-tool 有(开箱即用)一些漂亮的基于 xkb 的修改,允许交换一些特定的键(如带有转义的 capslock),但它没有我正在寻找的修改。
我想知道是否有办法通过修改键盘布局文件将 printscr 换成菜单键?它们是文本文件还是我必须重新编译的二进制文件?
/usr/bin 中有 setkeycodes 和 getkeycodes,有谁知道这些命令的作用吗?
是的,可以修改 XKB 文件。我猜想
/usr/share/X11/xkb/symbols/altwin
文件的底部可能会为您的情况提供提示 - 除非 XKB 选项可以满足altwin:prtsc_rwin
您的需求。附加信息
在终端中,输入:
在文件的底部,您会发现:
删除此部分并将其替换为:
要在 nano 中删除,请使用退格键(突出显示和删除不起作用)。要粘贴,请使用 shift-ctrl-v。要退出并保存,请按 ctrl-x,选择是覆盖并按 Enter。
重启。在 Gnome/Ubuntu 中转到 gnome-tweak-tools 在调整工具中转到键盘和鼠标部分,按附加布局选项按钮并展开 Alt/Win 键行为。选择最底部的选项:Win 映射到 printscr(请记住,我们仅修改了此行为以交换 print 和 Menu 而不是 print 和 Win)。(我确信有一种方法可以在 KDE 中打开 modded xkb 选项,但我不使用它,所以我不能给你确切的过程)。