Linux Virtual Delivery Agent

Dynamic keyboard layout synchronization

Previously, the keyboard layouts on the Linux VDA and on the client device had to be the same. For example, when the keyboard layout changed from English to French on the client device but not on the VDA, key mapping issues might occur and persist until the VDA changed to French too.

Citrix addresses the issue by automatically synchronizing the keyboard layout of the VDA with the keyboard layout of the client device. Anytime the keyboard layout on the client device changes, the layout on the VDA follows suit.

Note:

Citrix Workspace app for HTML5 does not support the dynamic keyboard layout synchronization feature.

Configuration

The dynamic keyboard layout synchronization feature is disabled by default. To enable or disable the feature, set the Client Keyboard Layout Sync and IME Improvement policy or edit the registry through the ctxreg utility.

Note:

The Client Keyboard Layout Sync and IME Improvement policy takes priority over registry settings and can be applied to user and machine objects you specify or all objects in your site. Registry settings on a given Linux VDA apply to all sessions on that VDA.

  • Set the Client Keyboard Layout Sync and IME Improvement policy to enable or disable the dynamic keyboard layout synchronization feature:

    1. In Studio, right-click Policies and select Create Policy.

    2. Search for the Client Keyboard Layout Sync and IME Improvement policy.

      Image of the Client Keyboard Layout Sync and IME Improvement policy

    3. Click Select next to the policy name.
    4. Set the policy.

      Image of setting the Client Keyboard Layout Sync and IME Improvement policy

      There are three options available:

      • Disabled: disables dynamic keyboard layout synchronization and client IME user interface synchronization.
      • Support dynamic client keyboard layout synchronization: enables dynamic keyboard layout synchronization regardless of the DWORD value of the SyncKeyboardLayout registry key at HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Citrix\LanguageBar.
      • Support dynamic client keyboard layout synchronization and IME improvement: enables both dynamic keyboard layout synchronization and client IME user interface synchronization regardless of the DWORD values of the SyncKeyboardLayout and SyncClientIME registry keys at HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Citrix\LanguageBar.
  • Edit the registry through the ctxreg utility to enable or disable the dynamic keyboard layout synchronization feature:

    To enable this feature, run the command:

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

    To disable this feature, run the command:

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

Usage

With this feature enabled, when the keyboard layout changes on the client device during a session, the keyboard layout of the session changes accordingly.

For example, if you change the keyboard layout on a client device to French (FR):

Image of changing keyboard to french on a client device

Then the keyboard layout of the Linux VDA session also changes to “fr.”

In an application session, you can see this automatic change if you have enabled the language bar:

Image of keyboard being changed to french in a session

In a desktop session, you can see this automatic change in the task bar:

Image of french in the taskbar

Dynamic keyboard layout synchronization