Open speller opened 3 years ago
@speller, thank you for reporting the issues. How do you switch input languages? Do you switch at Windows side? [Figure 1] If so, would you please check /mnt/wslg/weston.log? There should be logging like below and please check LanguageID/KeyboardLayout is 0x419 and matchng layout is "ru" when switch to Russian, and LanguageID/KeyboardLayout is 409 and matching layout is "us" for English. While I don't understand Russian, but as far as I tried, it seems language switch is working by switching language from Language bar at Windows's taskbar. Thanks!
1: When input language is switched to Russian.
[11:18:36.619] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT) [11:18:36.619] Client: LanguageImeInfo: LanguageID: 0x419 [11:18:36.619] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL [11:18:36.619] Client: LanguageImeInfo: ProfileGUID: GUID_NULL [11:18:36.619] Client: LanguageImeInfo: KeyboardLayout: 0x419 [11:18:36.619] convert_rdp_keyboard_to_xkb_rule_names: matching layout=ru variant=(null)
2: When input language is switch back to English
[11:18:29.836] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT) [11:18:29.837] Client: LanguageImeInfo: LanguageID: 0x409 [11:18:29.837] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL [11:18:29.837] Client: LanguageImeInfo: ProfileGUID: GUID_NULL [11:18:29.837] Client: LanguageImeInfo: KeyboardLayout: 0x409 [11:18:29.837] convert_rdp_keyboard_to_xkb_rule_names: matching layout=us variant=(null)
[Figure 1]
@hideyukn88 I have no file /mnt/wslg/weston.log
:
$ cat /mnt/wslg/weston.log
cat: /mnt/wslg/weston.log: No such file or directory
@speller what's the output for mount | grep -i wslg
?
I have the same issue. Within an X11 app (Emacs / gvim), I can't switch my keyboard layout on the fly with Alt + shift
. Even if I quit the app and reopen it, it doesn't pick up my alternate keyboard layout if active. It seems to always pick up the first one.
what's the output for
mount | grep -i wslg
?
$ mount | grep -i wslg
none on /wslg type tmpfs (rw,relatime)
none on /wslg/versions.txt type overlay (rw,relatime,lowerdir=/,upperdir=/system/rw/upper,workdir=/system/rw/work)
none on /wslg/doc type overlay (rw,relatime,lowerdir=/,upperdir=/system/rw/upper,workdir=/system/rw/work)
@speller, if you don't see /mnt/wslg/weston.log, it's possible weston is not starting, can you share /mnt/wslg/stderr.txt and versions.txt?
@thiagoa, what are the keyboard layouts do you switch from/to?
Thanks!
@speller In your case the file to check should be /wslg/weston.log
@hideyukn88
Tested with a standard GTK application, Geany, and the issue remains. I can't input accented characters; the layout behaves as if it were US.
@thiagoa, thank you very much for info. I will add support for KBD_UNITED_STATES_INTERNATIONAL, it allows input of accented characters with right ALT key. Thanks!
@hideyukn88 Thank you for taking on this! I also use the Brazilian ABNT2 layout, which allows accented characters as well and some shortcuts for Brazilian users.
I didn't use WSLg for a while and now language switching seems to be working fine for me.
Hi, I am on Windows 10, with GWSL2. While the keyboard switching works in the terminal
(from US to Greek and vice-verca), it does not work in any GUI app, for example in Ubuntu Chrome. I am using ALT-SHIFT.
I do not have any such folder: /mnt/wslg
I have /mnt/wsl
and inside it are only docker
files.
Is there something I can do?
@afilp This repo is for WSLg users in Windows 11. In your case you are using another solution that is not from Microsoft so you should ask in https://github.com/Opticos/GWSL-Source/issues instead.
Ok, thanks, unfortunately Microsoft does not allow me to upgrade to Win11, just because of the CPU generation is a little older than the minimum requirement, despite the PC is pretty strong (Dell Alienware, everything works great and fast).
Hi @hideyukn88 Can you add support for Hebrew too? Thanks in advance...
Windows build number: 10.0.22000.556 Distribution version: 20.04 WSLg version: 1.0.26
Swith to english
[14:46:56.502] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[14:46:56.502] Client: LanguageImeInfo: LanguageID: 0x409
[14:46:56.502] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[14:46:56.502] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[14:46:56.502] Client: LanguageImeInfo: KeyboardLayout: 0x409
[14:46:56.502] convert_rdp_keyboard_to_xkb_rule_names: matching layout=us variant=(null) options=(null)
Switch to Hebrew
[14:47:09.789] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[14:47:09.789] Client: LanguageImeInfo: LanguageID: 0x40d
[14:47:09.789] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[14:47:09.789] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[14:47:09.789] Client: LanguageImeInfo: KeyboardLayout: 0x2040d
[14:47:09.789] convert_rdp_keyboard_to_xkb_rule_names: matching layout=(null) variant=(null) options=(null)
[14:47:09.789] rail_client_LanguageImeInfo_callback: Failed to switch to kbd_layout:0x2040d kbd_type:0x4 kbd_subType:0x0
Hi, could you add support for United States-International
(INTL
)?
Corresponding ubuntu keyboard is English(US) - English(US, intl., with dead keys)
Switching to this layout i get this logs:
[14:27:38.546] Client: ClientGetAppidReq: pid:28722 appId:jetbrains-idea
[14:27:38.573] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[14:27:38.573] Client: LanguageImeInfo: LanguageID: 0x409
[14:27:38.580] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[14:27:38.580] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[14:27:38.580] Client: LanguageImeInfo: KeyboardLayout: 0x20409
[14:27:38.580] convert_rdp_keyboard_to_xkb_rule_names: matching layout=(null) variant=(null) options=(null)
[14:27:38.580] rail_client_LanguageImeInfo_callback: Failed to switch to kbd_layout:0x20409 kbd_type:0x4 kbd_subType:0x0
@RiccardoManzan, the US international keyboard is supported by https://github.com/microsoft/weston-mirror/pull/57, please update WSL from aka.ms/wslstorepage and try again, thanks!
Hi, i didn't installed WSL via ms store, so i tried updating WSL using wsl.exe --upgrade
obtaining this output:
Checking for updates...
No updates are available.
Kernel version: 5.10.102.1
Am i missing something? I am still not able to switch between italian layout and us-intl
Thanks for your help.
@RiccardoManzan, you need to one time manual update from aka.ms/wslstorepage, then newer version of wsl.exe will check update from Store. There is a plan to update Windows's version of wsl.exe with Store version of wsl.exe, but it hasn't been released to public yet. If you are on Windows's insider program, then your wsl.exe should check update from Store, thanks!
Hi @hideyukn88 Can you add support for Persian too?
Windows version : 21H2 Build 22000.978
Also I don't know where to see wsl/wslg version. When I try wsl --version
it shows help as if command is invalid.
Switching to Persian:
[11:35:29.676] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[11:35:29.676] Client: LanguageImeInfo: LanguageID: 0x429
[11:35:29.676] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[11:35:29.676] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[11:35:29.676] Client: LanguageImeInfo: KeyboardLayout: 0x50429
[11:35:29.676] convert_rdp_keyboard_to_xkb_rule_names: matching layout=(null) variant=(null) options=(null)
[11:35:29.676] rail_client_LanguageImeInfo_callback: Failed to switch to kbd_layout:0x50429 kbd_type:0x4 kbd_subType:0x0
And just out of curiosity, does it have to be an issue/comment per language support or is there any other way?:D Thank you
@ParSal123, Persian keyboard layout is supported by https://github.com/microsoft/weston-mirror/pull/32, and it looks you are on very older version of WSL/WSLg, please update it from aka.ms/wslstorepage, thanks!
Hello,
This is my feedback when I switch to Japanese Latin Keyboard (Microsoft IME)
[09:13:46.185] Client: LanguageImeInfo: ProfileType: 1 (TF_PROFILETYPE_INPUTPROCESSOR)
[09:13:46.185] Client: LanguageImeInfo: LanguageID: 0x411
[09:13:46.185] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_JPNIME
[09:13:46.185] Client: LanguageImeInfo: ProfileGUID: GUID_PROFILE_MSIME_JPN
[09:13:46.185] Client: LanguageImeInfo: KeyboardLayout: 0x0
[09:13:46.185] convert_rdp_keyboard_to_xkb_rule_names: matching model=pc105 layout=us variant=(null) options=(null)
The layout should be like this one
I don't want to write Japanese letters, I just need to write in latin with this layout (for example SHiFT+6
gives &
instead of ^
).
related to https://github.com/microsoft/wslg/issues/658
Thank you
I have the same issue when trying to use Ukrainian keyboard layout in WSLg apps. Could you please add it?
Entry in /mnt/wslg/weston.log:
[21:33:40.966] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[21:33:40.967] Client: LanguageImeInfo: LanguageID: 0x422
[21:33:40.967] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[21:33:40.967] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[21:33:40.967] Client: LanguageImeInfo: KeyboardLayout: 0x20422
[21:33:40.967] convert_rdp_keyboard_to_xkb_rule_names: matching model=pc105 layout=(null) variant=(null) options=(null)
[21:33:40.967] rail_client_LanguageImeInfo_callback: Failed to switch to kbd_layout:0x20422 kbd_type:0x4 kbd_subType:0x0
WSL version:
WSL version: 1.1.3.0
Kernel version: 5.15.90.1
WSLg version: 1.0.49
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19044.2364
Same as above, Ukrainian (Enhanced) Layout doesn't work in GUI apps. Default one works fine.
Ukrainian (Enhanced) Layout:
[22:27:03.373] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[22:27:03.373] Client: LanguageImeInfo: LanguageID: 0x422
[22:27:03.373] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[22:27:03.373] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[22:27:03.373] Client: LanguageImeInfo: KeyboardLayout: 0x20422
[22:27:03.373] convert_rdp_keyboard_to_xkb_rule_names: matching model=pc105 layout=us variant=(null) options=(null)
[22:27:03.375] rail_client_LanguageImeInfo_callback: new keyboard layout: 0x20422
I prefer UkrainianUnicode layout which outputs this:
[22:21:05.478] Client: LanguageImeInfo: ProfileType: 2 (TF_PROFILETYPE_KEYBOARDLAYOUT)
[22:21:05.478] Client: LanguageImeInfo: LanguageID: 0x422
[22:21:05.478] Client: LanguageImeInfo: LanguageProfileCLSID: GUID_NULL
[22:21:05.478] Client: LanguageImeInfo: ProfileGUID: GUID_NULL
[22:21:05.478] Client: LanguageImeInfo: KeyboardLayout: 0xa0000422
[22:21:05.478] convert_rdp_keyboard_to_xkb_rule_names: matching model=pc105 layout=us variant=(null) options=(null)
[22:21:05.490] rail_client_LanguageImeInfo_callback: new keyboard layout: 0xa0000422
@hideyukn88 does my PR make sense?
Environment
I have multiple input languages installed in my system (English and Russian). But in WSL GUI apps, I only have Russian and can't switch to English.