当我在我的 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 键盘时,一切都按预期正常工作,所以看起来赛睿键盘制造商弄乱了键码?这就是我一开始的想法,但后来我意识到它在 Windows 上可以正常工作。
这是来自LaptopMag 评论的键盘布局图像:
(来源:purch.com)
就是空格键右侧的那两个键。
在我的 MSI 笔记本电脑上,“高级”选项卡下的 BIOS/UEFI 设置中有一个“反斜杠/alt 键交换”选项。您应该将其设置为“已禁用”。
我已经在我的笔记本电脑上用 Right Alt 键试过了,这对我来说也是 108 键码。
我从您的输出中了解到的一点是,您的带有键码 108 的 Right Alt 键具有修饰符
ISO_Level3_Shift
,您可以通过简单地运行来检查它以确认xmodmap
示例:
这意味着当您将 Right Alt 与 Shift 结合使用时,它应该打印第 4 个键符
所以你需要在运行之前从 Right Alt 中移除修饰符
要从 Right Alt 中删除修饰符,最好的方法是使用
gnome-tweaks
或gsettings
侏儒调整:
g设置:
将值设置为 none 在命令下方运行。[如果您从上述命令中获得多个选项,请小心]
尝试选择对我有用的“波兰语(旧版)”键盘布局