控制修改键显示为错误键

控制修改键显示为错误键

我在 Windows 机器的 Windows Terminal v1.11.2921.0 中使用 WSL 1.0 Ubuntu,通过 SSH 连接到 NixOS 盒子 (Linux)

在 Windows 上,我使用程序员 Dvorak 键盘布局。我还使用 PowerToys重新映射了Caps Lock-> Ctrl,并交换了$和键的位置。 @(按住 Shift 时,$变为~@变为^

在 NixOS 上,它使用默认的美国键盘布局:

$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
       X11 Model: pc104
     X11 Options: terminate:ctrl_alt_bksp

然而,即使 NixOS 盒子使用美国键盘布局,程序员 dvorak 密钥通常也可以通过 SSH 正常工作。

现在问题来了...在我的键盘布局上,该]键位于0QWERTY 中通常该键所在的位置。就是]正常按的时候,还有6用shift按的时候。当我尝试使用键盘快捷键时Ctrl+],它会被解释为Ctrl+^

以下是showkey -aNixOS SSH 会话以及常规 WSL Ubuntu 终端中的输出。 (两者都有同样的问题,这让我认为这是一个 Windows 问题......)

第一行是我按下]按键,第二行是我按住 Control 并按下]按键。

$ showkey -a

Press any keys - Ctrl-D will terminate this program

]        93 0135 0x5d
^^       30 0036 0x1e

Ctrl我注意到当我使用修饰符时,我的其他几个键没有按照我期望的方式解释。有谁知道什么可以解释这种行为,以及如何修复或解决它?

而且,一个快速调试问题 - 我还想看看这个问题是否发生在 Windows 本身上(比如不在 WSL Ubuntu 或 Windows 终端内),以帮助进一步隔离它,但不知道如何解决。我可以使用 Windows 上的某种等效工具showkey -a来查看问题是否发生在 Windows 终端/Linux 会话之外?

相关内容