Sysprep and Win PE are pre-installation systems that are used in the deployment of Windows systems.
During the preparation period not all Windows functions or services are available and yet, with a touch screen system, it may be desirable to have touch available during the preparation phase.
UPDD V6 does not support pre-installation but it was available with UPDD 4.1.8 and UPDD V5.x.x.
With these earlier versions we utilised the kernel component to support a minimal touch function and offered a procedure to place certain important settings into the system registry as required.
The registry settings are created using the command line utility tbutils, passing the parameter kernel and was described in the old documentation thus:
Available in 4.1.8, (build 1784 and above) enables minimal kernel mode touch that can be used to provide basic touch functions until the standard, user mode, driver is available. This is typically used in environments where the user mode driver (tbupddwu - which runs as a Windows service) start up is delayed, such as sysprep or WinPE.
Important note: This feature only work for single touch, non HID parsing configurations of the controllers. Multi-touch controllers with HID parsing configurations will need a new configuration to work with this feature.
To prepare for the kernel mode of operation, type this command on a system that has only the device in question installed and execute the special two point calibration that follows - this does not affect the current calibration settings. This prepares the required registry settings to be used in systems that require kernel mode to be enabled. Under Vista or Windows 7 this command must be run from a user account that has administrator privileges as it needs to update the registry.
The tbcalib kernel option runs a 2 point calibration procedure and creates the registry settings required for this mode of operation based on a controller with the co-ordinate origin (0,0) at the top left and reporting x and y co-ordinates for horizontal and vertical axis respectively. If the controller does not follow this form then one or more manual changes to the created settings are required
- If moving the touch in a vertical direction moves the cursor horizontally set swapxy = 1 then repeat the test before setting the following items.
- If moving the touch to the right moves the cursor left exchange the values of CalX0 & CalX1
- If moving the touch downwards moves the cursor up exchange the values of CalY0 & CalY1
Alternatively, for 2 or 3 above, repeat the command and touch the opposite axis corners to that requested. So, for example, if X axis is reversed, touch the top right corner when requested to touch the top left and the bottom left when requested to touch the bottom right.
Kernel Mode driver registry settings
These registry settings relate to the Windows kernel mode driver, called TBUPDDSU.
Registry branch: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tbupddsu\
Only settings that directly affect the functionality of the kernel mode driver are documented:Dev
||Set to 1 indicates the driver does not pass on IRP requests
||When set to 5 driver debug messages are directed to a system kernel debugger (if one is active)
||Holds the registry settings needed to allow for basic touch functionality in situations where the start of the user mode driver is delayed, such as in sysprep envirionments. These are created by the command line TBcalib kernelWieda - universal installer based on usbstring CoolTouch