In Citrix Virtual Apps and Desktops, users can leverage various keyboard and input method editors (IME) to customize their setup and use keyboard and IME features. However, the configuration often requires them to manually adjust the registry.

Citrix policies provide the most efficient and convenient way to ensure user configurations are correct and eliminates the need for manual intervention. In this blog post, I’ll look at the group policy settings available for keyboard and IME configurations.

Windows VDA Keyboard and IME Policies

These policies only work with Windows VDA, and they are available from Citrix Virtual Apps and Desktops 2006/7.26 and Citrix Virtual Apps and Desktops 1912 CU2 onward.

To access the group policy settings, open “Citrix Studio” in the desktop delivery controller machine. Then, click “Policies” → ” Create Policy”. There, you’ll find group policies for Keyboard and IME under the “ICA” category. Select “Keyboard and IME,” as shown below.

The following three items will be listed, as shown below:

  • Client Keyboard Layout Sync and IME Improvement
  • Enable Unicode Keyboard Layout Mapping
  • Hide Keyboard Layout Switch Pop-up Message Box

Let’s look at each setting.

Client Keyboard Layout Sync and IME Improvement

The “Support dynamic client keyboard layout sync” setting, shown below, can help customers change the client keyboard layout and dynamically synchronize it to the VDA in the running session. With the option enabled, users don’t need to log in again or reconnect if they want to change the client keyboard layout.

For users working in Chinese, Korean, or Japanese, the “Support both dynamic client keyboard layout sync and IME improvement” setting will enable the best user experience for the client IME.

For Windows VDA, two settings (“Support dynamic client keyboard layout sync” and “Support both dynamic client keyboard layout sync and IME improvement”) have the same effect. They are both related with the manual setting in Windows VDA.

Add registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA\IcaIme\DisableKeyboardSync value = DWORD 0

For Linux VDA, these two settings are different. See the section on Linux for reference.

Enable Unicode Keyboard Layout Mapping

The differences in keyboard layout among operating systems can cause key mapping issues. For example, the Mac France keyboard layout is different from the Windows layout. In Citrix Virtual Apps and Desktops, you can use the “Unicode Keyboard Layout Mapping” setting to solve these issues.

With this setting, users don’t have to manually set the value in the Windows VDA registry, helping them to enable/disable the feature more easily.

The related manual setting is as follows.

Add registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxKlMap\EnableKlMap value = DWORD 1
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxKlMap\DisableWindowHook value = DWORD 1

Hide Keyboard Layout Switch Pop-up Message Box

This setting is great for the users who don’t want see the message box shown below when they change the keyboard layout. Admins can simply choose the “Hide keyboard layout switch pop-up message box” option. The option works only on windows VDA.

Linux VDA Keyboard and IME Policies

Compared with windows VDA, Linux VDA supports “Client Keyboard Layout Sync and IME Improvement” policy, and there are three options. These policies are available from Linux VDA 2012 onward.

Let’s look at each setting.

  • Disabled: Disables dynamic keyboard layout synchronization and client IME user interface synchronization.
  • Support dynamic client keyboard synchronization: Enables dynamic keyboard layout synchronization.
  • Support both dynamic client keyboard layout sync and IME improvement: Enables both dynamic keyboard layout synchronization and client IME user interface synchronization

The policy can replace the manual setting. The related commands for “enable feature dynamic keyboard layout sync” and “client IME user interface synchronization” are as follows.

/opt/Citrix/VDA/bin/ctxreg update -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\LanguageBar" -v "SyncKeyboardLayout" -d "0x00000001"

/opt/Citrix/VDA/bin/ctxreg update -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\LanguageBar" -v "SyncClientIME" -d "0x00000001"

The group policy settings I’ve covered here will help make it more efficient and convenient for users to configure their keyboard layout and IME. These settings works on VDA but to make these policies effective, Citrix Workspace app configurations are also needed. Please check out our ICA policy settings and keyboard and IME configuration documentation to learn more. You can also find more information in CTX312404.