在 MSI 笔记本电脑上将反斜杠键与右 Alt 键互换

在 MSI 笔记本电脑上将反斜杠键与右 Alt 键互换

当我在 MSI 笔记本电脑 GS75 Stealth 9SF 的内置键盘上打字时,似乎backslash键 ( \|) 和Right alt键的映射被交换了。

无论我选择哪种键盘布局或语言,此问题仍然存在。

以下是xev我按下右 Alt 键时的输出:

keycode 94 (keysym 0x5c, backslash)
XKeysymToKeycode returns keycode: 51
XLookupString gives 1 bytes: (5c) "\"

这是我按反斜杠键的输出:

keycode 108 (keysym 0xfe03, ISO_Level3_Shift)
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:

当我使用外部 USB 键盘时,一切都按预期正常工作,所以看起来 SteelSeries 键盘制造商搞乱了键控代码?我一开始也是这么想的,但后来我意识到它在 Windows 上运行正常。


这是键盘布局的图片LaptopMag 的评论


(来源:购买网站

它是空格键右侧的这两个键。

答案1

在我的 MSI 笔记本电脑上,BIOS/UEFI 设置中的“高级”选项卡下有一个“反斜杠/alt 键交换”选项。您应该将其设置为“禁用”。

答案2

我已经在笔记本电脑上尝试使用右 Alt 键,对我来说这也是 108 键码。

我从你的输出中了解到,你的右 Alt 键(键码为 108)有修饰符,ISO_Level3_Shift你可以通过运行以下命令来确认xmodmap

例如:

pratap@pratap:~$ xmodmap
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)

pratap@pratap:~$

这意味着当你将右 Alt 键与 Shift 键组合时,它应该打印第 4 个键符

因此,您需要在运行之前从右 Alt 中删除修饰符

xmodmap -e "keycode 108 = backslash bar"

要从右 Alt 中删除修饰符,最好的方法是使用gnome-tweaksgsettings

Gnome 调整: 在此处输入图片描述

设置:

gsettings get org.gnome.desktop.input-sources xkb-options

要将值设置为 none,请运行以下命令。[如果从上述命令获得多个选项,请小心]

gsettings set org.gnome.desktop.input-sources xkb-options "[]"

在此处输入图片描述

答案3

尝试选择“波兰语(旧版)”键盘布局,它对我有用

相关内容