In ICA (Citrix Receiver) sessions, when using a USB reader device (such as bar code scanner or credit card reader) in keyboard emulation mode, the output might intermittently be incomplete or corrupted.
Caution! Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.
Implement the KeyboardTimer ICA setting on the client system. The KeyboardTimer setting forces the USB and keyboard inputs to always be processed in the same order, resolving the issue.
For Citrix Workspace App (CWA) Admin Install, configure the setting only under HKLM (do not configure under HKCU).
Modify or create the KeyboardTimer string in the registry on the client Windows Operating System as shown below.
Note: Restart the Citrix Workspace App / Citrix Receiver for the setting to be effective.
Path:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Keyboard
Value Type: REG_SZ
Value Name: KeyboardTimer (modify if existing or create if not present)
Value Data: 10
Path:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Keyboard
Value Type: REG_SZ
Value Name: KeyboardTimer (modify if existing or create if not present)
Value Data: 10
Important:
In case of CWA Admin Install, configure the setting only in HKLM. Do not configure it in HKCU.
Open the file:C:\inetpub\wwwroot\Citrix\StoreName\App_Data\default.ica in Notepad.
Under the [WFClient] section, add the following line:KeyboardTimer=10
Save the default.ica file.
Open Command Prompt and run:iisreset
With Receiver 3.x and later, the USB and Keyboard inputs is being processed asynchronously. This change was done with performance improvements in mind. The speed at which a keyboard-emulation device transmits the emulated keystrokes to the OS if beyond speeds of human typing can sometimes cause the missing/corrupted data.
Missing or Corrupted Output Data with USB Devices in Keyboard Emulation Mode
Citrix Documentation - ICA Settings Reference - KeyboardTimer