Wacom Ink SDK for multi-display
Please note that for historical reasons the terms 'kiosk' and 'multi-display' are used with the same meaning throughout the product samples and Wacom Ink SDK for multi-display documentation
Sample Code
NuGet packages
If the sample code fails to build and this is related to NuGet packages, note that the cache can be cleared by deleting the cache folder, for example:
rmdir %userprofile%\.nuget\packages\wacom.kiosk.sdk
Tablet Configuration
Tablet pen positioning not working
Reset the driver pen settings as follows:
Run:
C:\Program Files\Tablet\Wacom\32\PrefUtil.exe
Click:
All User Preferences ... [ Remove ]
NB: in recent driver versions, PrefUtil.exe is located in C:\Program Files\Tablet\Wacom\PrefUtil.exe
On-screen keyboard
Using a touch display, if the on-screen keyboard appears when a textbox is selected modify the settings by turning off Show the touch keyboard when not in tablet mode and there's no keyboard attached as follows:
DTH recommended configuration
Show Touch Keyboard - Off
Go to: Settings...Devices...Typing In the Touch Keyboard section set: "Show the touch keyboard when not in tablet mode and there's no keyboard attached" to OFF
Show Taskbar - Off
Calibrate Touch
Windows touch input is mapped by the operating system. The Wacom driver attempts to override this but may not always be successful in certain environments. Touch mapping is easily set through the Tablet PC Settings. See: DTH-1152 Touch Input
Citrix configuration
How to configure Citrix for Wacom SDK for multi-display
A Wacom display tablet such as DTU-1141 can be used to test the multi-display SDK's sample.
In Windows Display Settings, the attached Wacom tablet will be displayed alongside any other attached display devices.
For the sample, the tablet display can be dragged and arranged in the required order. The "Multiple displays" section should be set to "Extend desktop to this display".
Within Citrix, the device's monitor id cannot be found by Citrix by design. The monitor mapping needs to be done manually via app_config.
To do this, create a new top level setting called TabletScreenMapping
. It can be assigned the following values:
auto
: Default; how the device behaves ifTabletScreenMapping
is left unspecified.first
: Maps the first monitor detected by the system.last
: Maps the most recent monitor detected by the system.left
: Maps the leftmost monitor.right
: Maps the rightmost monitor.top
: Maps the monitor on the top.bottom
: Maps the monitor on the bottom.
How to configure DTU via Citrix
Citrix uses its own connection application known as the Citrix Workspace (formerly Citrix Receiver). The Citrix Virtual Desktop Assistant (VDA) must be installed on each host system.
Citrix is configured in two different ways:
XenDesktop - With a XenDesktop configuration, the user has exclusive access to the host machine. This is basically the same as a Remote Desktop Connection (RDC).
XenApp - With a XenApp configuration, the application is allowed to be run on the host OS by the user while the underlying hardware is shared by multiple users.
USB redirection - Requirements
In order to fully configure the DTU through Citrix, a user will require the following:
- A Citrix server/environment, either Citrix XenApp or XenDesktop.
- A Citrix client, either Citrix Workspace or Citrix Receiver.
- A Windows server for sharing the session.
- A VM with Windows 10 or 11.
- The latest supported Wacom Tablet driver - this is dependent on tablet hardware and the VM's OS.
USB redirection - Server Setup
On the Citrix server, open the Citrix Studio application. Under Console Root in the left-hand column, expand Citrix Studio and then select Policies. Under Actions on the right-hand side of Citrix Studio, click on the Create Policy link.
In the Create Policy window, click on the ‘All Settings’ drop down and select USB Devices to show the four available USB redirection options.
Locate the ‘Client USB device redirection’ option and click the Select link to the right of it. Within the Client USB device redirection window, select the ‘Allowed’ radio button and then click the OK button at the bottom to confirm this selection and return to the Create Policy window.
Locate the ‘Client USB device redirection rules’ option and click on the Select link to the right of it. Within the Client USB device redirection rules window, click on the Add button and enter the redirection values for the tablet to be used.
Locate the ‘Client USB device optimization rules’ option and click on the Select link to the right of it. Within the Client USB device optimization rules window, click on the Add button and enter the optimization values for the tablet to be used.
NB: See the Tablet Values section below for the appropriate redirection/optimization values of the tablet to be used. Some tablets require more than one value; use the Add button to create as many input fields as necessary for your device. When all the device values have been added, click the OK button at the bottom to confirm these entries and return to the Create Policy window.
Click the Next button at the bottom of the Create Policy window and then select the ‘All objects in the site’ radio button. Select Next again to proceed to the Summary page. The policy must then be named, enabled with the check box and optionally be given a description. Finally, click on the Finish button at the bottom of the Create Policy window to finalize the new policy and return to the Citrix Studio window.
The Citrix Policies should now contain the newly created policy. Select that new policy and confirm under the policy’s Overview tab that the details within match the information entered in 6., and that the priority matches the number it's assigned within the policies list.
Click on the Settings tab of the selected policy and confirm that each of the three selected options are present in this list. All selections should include their name, a brief description of the types of devices affected, and the values that were entered. They resemble the following:
Client USB device optimization rules
- User setting – ICA\USB Devices
- Mode=00000002 VID=056A PID=035A class=03 #DTH-1152-Pen
- Mode=00000002 VID=056A PID=0368 class=03 #DTH-1152-Touch
Client USB device redirection
- User setting – ICA\USB Devices
- Allowed (Default: Prohibited)
Client USB device redirection rules
- User setting – ICA\USB Devices
- Allow: VID=056A PID=035A #DTH-1152-Pen
- Allow: VID=056A PID=0368 #DTH-1152-Touch
USB redirection - Client Setup
- Login to the client machine using an administrative account.
- Open the Run... dialog, type ‘regedit’ and open the Registry Editor.
- In the Registry Editor window, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Citrix\ICA Client\GenericUSB.
- In the GenericUSB key, double-click on the DeviceRules Multi-String Value to edit it.
- Inside the DeviceRules Edit Multi-String window, within the Value data field will be multiple entries. Locate the Allow section of the existing entries and add new values for the tablet to be used.
NB: See the Tablet Values section below for the appropriate Client Registry DeviceRules values of the tablet to be used.
- Click the OK button to confirm the added values and return to the Registry Editor window.
- Close the Registry Editor window and reboot the client machine.
USB redirection - VM Setup
- Install the latest Wacom Tablet Driver for the OS used by the Virtual Machine. The latest drivers can be found on our website.
Tablet Values
DTH-1152:
- Citrix USB redirection values:
Allow: VID=056A PID=035A #DTH-1152-Pen
Allow: VID=056A PID=0368 #DTH-1152-Touch
- Citrix USB optimization values:
Mode=00000002 VID=056A PID=035A class=03 #DTH-1152-Pen
Mode=00000002 VID=056A PID=0368 class=03 #DTH-1152-Touch
- Client Registry - DeviceRules values:
Allow: VID=056A PID=035A #DTH-1152-Pen
Allow: VID=056A PID=0368 #DTH-1152-Touch
DTU-1031:
- Citrix USB redirection values:
Allow: VID=056A PID=00fb #DTH-1031-Pen
- Citrix USB optimization values:
Mode=00000002 VID=056A PID=00fb class=03 #DTH-1031-Pen
- Client Registry - DeviceRules values:
Allow: VID=056A PID=00fb #DTH-1031-Pen
DTU-1031X:
- Citrix USB redirection values:
Allow: VID=056A PID=032f #DTH-1031X-Pen
- Citrix USB optimization values:
Mode=00000002 VID=056A PID=032f class=03 #DTH-1031X-Pen
- Client Registry - DeviceRules values:
Allow: VID=056A PID=032f #DTH-1031X-Pen
DTU-1141:
- Citrix USB redirection values:
Allow: VID=056A PID=0336 #DTH-1152-Pen
- Citrix USB optimization values:
Mode=00000002 VID=056A PID=0336 class=03 #DTH-1152-Pen
- Client Registry - DeviceRules values:
Allow: VID=056A PID=0336 #DTH-1152-Pen
General
Communication protocol
Why is the multi-display SDK designed to communicate by messaging between components?
Why does the multi-display SDK adopt the communication protocol via TCP?
The design enables the application and the SDK to work on different machines if required. For example, the application logic can run on a system that the operator uses, and this application can connect to a 'client' PC that has the DTU device connected to it.
Multiple applications
Why is KioskServer.Mq.ActiveClients implemented as the List type?
Are multiple client apps supported by the Client Tray app in some cases?
The system is designed to support multiple applications using one DTU device, enabling multiple in-house solutions to use the same hardware. This means only one installation of the Client Tray app is required, on the system connected to the DTU.
Passive display
Is there a mode in which the Client Tray app Wacom.Kiosk.App.exe does not display anything on the Display Tablet and allows the user to operate the desktop?
There is no such mode. Instead, close the Client Tray app.
Multiple monitor devices
Is it possible to handle multiple display tablet devices at the same time? If yes, how many devices are allowed?
This is not permitted - a single display tablet is supported by the Client Tray app.