KeyboardLayout=(Server Default) cannot take effect on Japanese Server OS VDA + English keyboard Client.

KeyboardLayout=(Server Default) cannot take effect on Japanese Server OS VDA + English keyboard Client.

book

Article ID: CTX457841

calendar_today

Updated On:

Description

Use the following way to change the Keyboard Layout sync mode to Server Default.

Configure in StoreFront
File Path: C:\inetpub\wwwroot\Citrix\%StoreName%\App_Data\default.ica
Change setting in [WFClient]: KeyboardLayout=(Server Default)

Or configure in CWA for Windows
File path: %appdata%\ICAClient\APPSRV.INI
Change setting in [WFClient]: KeyboardLayout=(Server Default)

But it doesn't take effect when customer is accessing below environment:

VDA Server OSVDA keyboard type Client OSClient keyboard typeKeyboardLayout=(Server Default)Keyboard layout and IME in the ICA session
Windows 2019 server106 JapaneseWindows 10101 Englishno workingEnglish

As the result, keyboard layout in the ICA session will be changed to 101 English keyboard instead of server side 106 Japanese keyboard.

The issue ONLY happens with above Server & Client keyboard type combination.
The issue does NOT happen on Desktop OS. 

Resolution

This issue is a limitation of the current product design, please refer to the following information as workaround for this issue: 

[Workaround]

1. Configure C:\inetpub\wwwroot\Citrix\%StoreName%\App_Data\default.ica on Storefront.
Or on the client-side open APPSRV.INI file from run by passing %appdata%\ICAClient\APPSRV.INI
2. Add KeyboardType=106 Keyboard (Japanese) under [WFClient]
Save it and Now start the session
3. Check 106 keyboard layout is working
Please also refer to: https://www.citrix.com/blogs/2020/04/22/citrix-virtual-apps-and-desktops-keyboard-and-ime-configurations/ 

Problem Cause

Server VDA always uses client parameter keyboardtype and keyboardsubtype no matter whether it is Server Default or User Profile. 
Hence, the following parameters will be synced from client when ICA session is established on Server VDA even for KeyboardLayout is configured as (Server Default): 

KeyboardType;
KeyboardSubType;

Since Japanese IME will query both KeyboardType and KeyboardSubType as well, client side English keyboard will be used instead of Server-side Japanese keyboard. 

Additional Information

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-tsts/673d8ac0-f557-48cb-98a6-49925160d729?redirectedfrom=MSDN
The WINSTATIONCLIENT structure defines the client-requested configuration when connecting to a session.