如何使用 xev 与 ALT-R 或 ALT-L 重新映射键盘键

如何使用 xev 与 ALT-R 或 ALT-L 重新映射键盘键

我还是 Linux 新手,但有件事让我很恼火:无论我做什么,我的键盘都没有我想要的布局。我尝试了很多解决方案,但我使用的是加拿大法语 (FC) 键盘,而 Linux FC 布局与 Windows 不同,因此,对我来说,在任何地方使用相同的键盘都是一个很大的优势。

这是我尝试过的。

首先,我输入:

xev

然后我按下“z”键,因为这是我想要修改的键。基本上,我希望“z”键继续正常工作,但如果我单击右侧的 ALT 键,我希望显示以下内容:“«”(guillemotleft)

KeyRelease event, serial 37, synthetic NO, window 0x5c00001,
root 0x526, subw 0x0, time 4040472, (-215,198), root:(536,634),
state 0x10, keycode 52 (keysym 0x7a, z), same_screen YES,
XLookupString gives 1 bytes: (7a) "z"
XFilterEvent returns: False

那么,好的,密钥是 52 号。

然后我写道:

xmodmap-pm

显示内容如下:

  xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

因此,基本上,我认为我的 ALT 右键是 ISO_Level3_Shift (0x5c)。我现在需要找到一种方法来使其工作,以便如果我用“z”键单击 ALT-Right 键,我会得到一个“«”。这就是我被困住的地方。

我尝试了很多方法,包括

xmodmap -e "keycode 52 mod5 = guillemotleft z"

但没用。有时我能得到“«”,但“z”就不起作用了。

我该怎么做才能让它工作?在不修改 z Z 设置的情况下修改 mod5 的命令是什么,或者更确切地说,我如何按下右 ALT 键 + z 并得到“«”?

谢谢

答案1

xmodmap正在逐渐过时,无法在运行 Wayland 的 Ubuntu 上使用。另一方面,直接编辑键盘布局文件相当复杂。

相反,您可能想要尝试键盘布局“法语(加拿大,传统)”,其«在 z 上具有 AltGr 组合,»在 x 上具有 AltGr 组合。

相关内容