![如何在 Windows 和 Ubuntu (WSL) 中使用自定义键盘布局?](https://linux22.com/image/217246/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E5%92%8C%20Ubuntu%20(WSL)%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80%EF%BC%9F.png)
我创建了一个自定义键盘布局微软键盘布局创建器 (MSKLC)对于我的 Windows 10 机器。自定义键盘布局基于瑞士德语布局并且数字与符号交换。安装新布局后,效果很好。我有两个选择来安装它:
- 在系统上注册一个全新的键盘布局并在键盘设置中选择它,或者
- 用新创建的布局(例如瑞士法语,因为我从未使用过)替换 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
设置了(对于葡萄牙语)。