Solving keyboard layout issues in an ICA or RDP session can be quite tricky. In this article I deal with some of the common causes and their solutions.
The issues and solutions in this article apply to XenDesktop / Citrix Virtual Apps and Desktops (CVAD) version 7.12 and higher and Citrix Receiver 4.6 and higher. |
A list of the most common issues
Let's start with a list of the most common keyboard layout issues. Each issue is linked to a section in this article that describes the causes and solutions:
- You logon to an RDP or ICA session.
- Issue 1 - the keyboard layout changes unexpectedly at logon:
- The keyboard layout of the local client should be synchronized in the session, but it is not. Instead, the server-side keyboard layout on the worker (VDA) is used.
- The keyboard layout of the local client is used instead of the server-side keyboard layout (worker/VDA). This is the opposite situation compared to scenario A.
- Issue 2- the keyboard layout changes unexpectedly when opening another application in the same session.
When opening another application in the same session the keyboard layout changes unexpectedly. In most cases logging off and on again solves the problem (until the layout changes unexpectedly again). - Issue 3: the keyboard layout changes randomly during the session (without opening a new application).
Sometimes when working in a session the keyboard layout changes unexpectedly without any specific interaction by the user (e.g. starting a new application or launching a console). In most cases logging off and on again solves the problem (until the layout changes unexpectedly again). - Issue 4: the keyboard layout changes unexpectedly on the Windows lock screen (this issue is described in a separate article on this website).
- Oct 01, 2020 Citrix have released a new version of Citrix Virtual Apps and Desktop 7 2009 FIDO2 via Windows Hello is now supported which is awesome And Citrix is also supporting iOS14 and BigSur when its gets GA soon. Lots of new features and security enhancements.
- Same problem here running MacOS Big Sur and Citrix Workstation 2101 now, and tried tried a few things being proposed here: down-graded to Citrix Workspace app 2008: doesn't help adding the Citrix app in the Accessibility-Config: doesn't help deleting the usb-config file: doesn't help I am out of ideas now. Hope this get's fixed soon because Citrix is randomly failing at least once a day!
- Oct 01, 2020 Citrix Workspace App 2009 for HTML5 Mac OS Big Sur Day 0 support. Citrix Workspace app for HTML5 adds support for Safari browsers introduced with macOS Big Sur. Session performance improvements in multi-monitor scenarios. Citrix Workspace app for HTML5 improves the overall performance and stability of sessions in multi-monitor scenarios.
- Workspace app is the new name for Receiver. Version 2103.1 is a Current Release. Citrix Workspace app 1912 LTSR Cumulative Update 3 for Windows. Receiver for Windows version 4.9.9002 (LTSR) For Mac, download Workspace app 2104 for Mac. Workspace app is the new name for Receiver.
As you can see in the previous list, keyboard layout issues can present themselves in different ways. The following paragraphs describe the causes and solutions for each of the scenarios above.
Citrix StoreFront: Deploy Workspace app – updated for Workspace app 2009 for Mac; Citrix Workspace app – for Workspace app 2009.5; 2020 Sep 19: Citrix App Layering 2008.3; 2020 Sep 17: Citrix ADC Health Check – CTX281474 Citrix ADC vulnerabilities; 2020 Sep 15: Citrix Workspace app – updated entire article for Workspace app for Windows 2009.
Citrix Workspace For Mac 10.14.6
Common causes and solutions for issue 1 'the keyboard layout changes unexpectedly at logon'
There are at least three possible reasons why either the local keyboard layout or server-side keyboard layout is used at session launch:
The registry value IgnoreRemoteKeyboardLayout is either configured or missing
The registry value IgnoreRemoteKeyboardLayout is a 'golden oldie' in the world or Remote Desktop Services and Citrix. This value is configured on the Remote Desktop Session Host or Citrix worker (VDA).
First of all, IgnoreRemoteKeyboardLayout is a registry value that you set on the Citrix worker (the VDA):
- Key:HKLMSYSTEMCurrentControlSetControlKeyboard Layout
- Name:IgnoreRemoteKeyboardLayout
- Value:1
- Type:DWORD
A reboot is not necessary. For this value to take effect you only need to close your current RDP or ICA session (in case you have one open) and launch a new session. This setting is a local machine setting, so it applies to all users (and administrators!).
As said, this registry setting has been around forever and still applies to all server operating systems including the latest one, Windows Server 2019.
So what exactly does this setting do? Well, when an RDP or ICA session is launched, instead of using the keyboard layout set on the local client device, the keyboard layout set in the user's (roaming) profile within the RDP or ICA session is used. To be more precise; the keyboard layout that is listed first in the current user registry hive HKCUKeyboard LayoutPreload in the user's (roaming) profile is used.
By default, the registry value IgnoreRemoteKeyboardLayout is not present on the local system. In case the value is present, but you want to use the local keyboard layout of the user's client device instead, you can either delete the registry value or change it from 1 to 0.
Citrix Workspace app is configured to use either the local or remote keyboard layout (APPSRV.INI)
Citrix Workspace app includes several advanced preferences, one of which is the Keyboard and Language bar.
By default, the configuration of this setting is set to Use the server keyboard layout. As explained in the previous section, the server keyboard layout is actually the user's keyboard layout as configured in the (roaming) profile used in the ICA session.
Switching to Yes enables the keyboard layout synchronization feature which was introduced in XenDesktop 7.12 and Receiver 4.6. This feature not only synchronizes the keyboard layout of the local client to the ICA session at session launch, but it also dynamically changes the layout in the active ICA session when the keyboard layout on the local client is changed.
Citrix Workspace App 2002 For Mac
This setting is actually stored in the APPSRV.INI or at least it will be when you change it. The APPSRV.INI has been around for a very long time, since the early releases of Citrix Receiver. The file APPSRV.INI is a user-specific configuration file and is located in the following directory:
%AppData%ICAClient APPSRV.INI
(= C:Users%UserName%AppDataRoamingICAClient APPSRV.INI)
Selecting Yes in the above screenshot adds a new entry in the APPSRV.INI file: LocalIME=1