Tuesday, May 26, 2009

Using a Software Wedge with Citrix XenApp

The Requirement:

Recently a customer of TEC-IT reported some troubles when using the software wedge TWedge on a tablet PC (running XP-based Windows Embedded) in combination with Citrix XenApp v11.0.0.x.
The customer was looking for a solution to connect a Bluetooth barcode scanner (from Intermec) with a legacy database application. Scanned data should be transferred to an input field followed by a TAB key. The database application in question is hosted by an ASP and provided to the tablet PC via XenApp from Citrix.

The Problem:

The initial problem was that the scanned barcode data was not reliable transferred to the database application - scanned data was not transferred completely.

The Solution:

The clipboard-functionality of TWedge solved the problem. Instead of simulating single keystrokes based on the scanned data the barcode value is copied into the clipboard and then pasted to the Citrix client. Thereafter a TAB key is simulated. One very important point in this approach is to use some short delays between the single commands. These delays are required to allow Windows and Citrix messaging to work correctly. Here is the OnData() script of TWedge:
CopyToClipboard (DATA);         // copy barcode data into the clipboard
Sleep (50); // allow clipboard value to settle
SendKeyStrokes (CTRL, "V"); // paste the clipboard to Citrix
Sleep (50); // wait until pasted
SendKeyStrokes ("{TAB}"); // press the TAB key
Sleep (20); // wait until TAB was processed
Hope this helps other customers too!