在 Wayland 中修改键盘布局

在 Wayland 中修改键盘布局

我的笔记本电脑配有 PrintScreen 键(位于 KB 右侧,Alt_R 和 Control_R 之间)。在 Xorg 中,我一直使用 xmodmap 将 Printscreen 与菜单键交换:

/usr/bin/xmodmap -e “键码 107 = 菜单”

问题是由于安全限制,xmodmap、xdotool 以及其他任何依赖于拦截和注入击键的功能在 Wayland 上都不再起作用。gnome-tweak-tool 有一些(开箱即用的)基于 xkb 的巧妙修改,允许交换一些特定的键(比如将 capslock 和 escape 键),但它没有我想要的修改。

我想知道是否有办法通过修改键盘布局文件将 printscr 替换为菜单键?它们是文本文件还是我必须重新编译的二进制文件?

/usr/bin 中有 setkeycodes 和 getkeycodes,有人知道这些命令的作用吗?

答案1

是的,可以修改 XKB 文件。我猜想文件底部/usr/share/X11/xkb/symbols/altwin可能会为您的情况提供提示 - 除非 XKB 选项altwin:prtsc_rwin满足您的要求。

附加信息

在终端中输入:

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).
partial modifier_keys
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 在 tweak 工具中转到键盘和鼠标部分,按下附加布局选项按钮并展开 Alt/Win 键行为。选择最底部的选项:Win 映射到 printscr(请记住,我们只修改了此行为以交换打印和菜单而不是打印和 Win)。(我确信有一种方法可以在 KDE 中打开修改后的 xkb 选项,但我没有使用它,所以我无法给你确切的步骤)。

相关内容