如何在 Windows 和 Ubuntu (WSL) 中使用自定义键盘布局?

如何在 Windows 和 Ubuntu (WSL) 中使用自定义键盘布局?

我创建了一个自定义键盘布局微软键盘布局创建器 (MSKLC)对于我的 Windows 10 机器。自定义键盘布局基于瑞士德语布局并且数字与符号交换。安装新布局后,效果很好。我有两个选择来安装它:

  1. 在系统上注册一个全新的键盘布局并在键盘设置中选择它,或者
  2. 用新创建的布局(例如瑞士法语,因为我从未使用过)替换 Windows/System32 上的 Keyboard-Layout-DLL 文件,然后在设置中选择瑞士法语键盘布局

在同一台机器上,我还使用 Ubuntu 和 WSL。但是,我不使用Windows 终端访问 shell 但我使用 gnome-terminal 通过WSLg(X11/韦兰)。通过 WSLg 启动的所有内容似乎都能识别所选的键盘布局(例如瑞士法语),但它会应用 Linux 系统上安装的相应键盘布局;所以这不是自定义布局,而是原始的瑞士-法国布局。

MSKLC 生成一个 KLC 文件,但我不确定如何转换它并用它替换 Ubuntu 上的瑞士法布局。我没有运气吉隆坡FC去做这个。基本上,我需要在我的 Ubuntu 计算机 (WSL) 上对瑞士-法国布局应用相同的更改。

或者注册一个全新的布局(选项 1)并为 Ubuntu 创建一个全新的布局会更容易吗?但它们是如何相互联系的呢? Windows 如何将选定的键盘布局告知 WSLg?

答案1

我认为目前您唯一的机会是直接在 Ubuntu 中创建新布局。现在有一段时间存在一个问题,即键盘映射wslg不支持自定义布局:第173章

对于我在 Windows 11 上的情况,几周后情况变得更糟:如果我使用自定义布局,wslg就会退回到英文布局并完全忽略AltGr- 我什至没有机会重新映射它,因为对于 Ubuntu,它在物理上不再可用。

答案2

有一个解决方法是x11-xkb-utils在 WSL 中安装

sudo apt install x11-xkb-utils

接下来,运行以下命令(或将它们添加到您的.bashrc.profile

WAYLAND_DISPLAY="wayland-1"
setxkbmap -model abnt2 -layout br -variant abnt2
WAYLAND_DISPLAY="wayland-1"

在此示例中,abnt2设置了(对于葡萄牙语)。

相关内容