在Wayland中修改键盘布局


5

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

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

问题在于,由于安全限制,xmodmap,xdotool以及任何其他依赖于拦截和注入击键的操作在Wayland上不再起作用。gnome-tweak-tool(开箱即用)有一些基于xkb的漂亮修改,允许换出一些特定的键(如带有转义的capslock),但没有我想要的修改。

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

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

Answers:


2

是的,可以修改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中删除,请使用Backspace键(突出显示和删除不起作用)。要粘贴,请使用shift-ctrl-v。要退出并保存,请按ctrl-x,选择“是”以覆盖并按Enter。

重启。在Gnome / Ubuntu中,转到gnome-tweak-tools。在调整工具中,转到“键盘和鼠标”部分,按“其他布局选项”按钮,然后展开Alt / Win键行为。选择最底部的选项:Win映射到printscr(请记住,我们只是修改了此行为,以交换print和Menu而不是print和Win。)(我确定有一种方法可以在KDE中打开modded xkb选项,但是我不使用它,所以我无法为您提供确切的过程)。


2
@thebunnyrules请注意,此编辑是对系统文件的,并且将被xkb-data软件包更新所覆盖。随时准备备份!
quixotic

@quixotic:感谢提及。由于许多用户都编辑属于的文件xkb-data,因此我们避免在稳定版本中更新该软件包。但是,在升级到较新的Ubuntu版本时,您需要重做一次。
Gunnar Hjalmarsson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.