In some cases it may be desirable to export UPDD settings for later usage especially in situations where you have different hardware and environmental environments to set up.
Under UPDD V5, there were various methods used to achieve this but given the settings were held in an .ini file (tbupdd.ini) the often employed method was to stop the driver, copy over the desired .ini file and restart the driver.
UPDD does not use the same file for its setting which is now held in a database file (updd.db) in various locations depending on the operating system in use. You could in theory make copies of the database file at a given check point and perform the same sequence, stop the driver, copy in the desired updd.db file and restart the driver. However this is not recommended as UPDD V6 now holds hardware binding information that might not always be the same, even in similar hardware configuration. This option is only available where the software licensing method is not system dependent.
To cater for the requirement to create 'UPDD profiles' you can now use the UPDD Command Line Interface to export and import complete or partial UPDD data sets, such as calibration data, and this is the recommended method.
Introduced with UPDD 6.0.460 onwards, exports UPDD settings to an external file using the command line interface.
This function was further enhanced in build 553. These instructions relate to build 553 onwards.
The syntax for an export command is 'upddutils <devices> <names> <target file name>'
||Devices is a comma separated list of device handles to export OR * for all real (non zero) devices OR ** for all devices + global (non device) settings. A device handle of 0 indicates 'global, non-device' related setting list.
||Settings to export; * = all settings, name* = setting elements e.g.cal* - all settings beginning with Cal (for calibration settings).
||Target settings file
The export command will fail if the target file already exists.
Example - Export named data sets for specific devices (via device handles)
In this example all settings starting gesture and cal (calibration) for the specified devices will be exported to mysettings.exp. Gesture setting are held in the global settings where as calibration setting are device related:
MacOS example - Export all Gesture settings from the global (nodevice) settings:
upddutils export 0 gesture* mysettings.exp
Linux example - Export calibration settings for device 1 to a folder in users home directory
./upddenv ./upddutils export 1 “cal*” ~/temp.exp
Example - Export all settings for all devices
In this example all settings for all devices are exported. This will include global (nodevice) settings.
upddutils export * ** mysettings.exp
The original implementation was aimed at exporting named ranges of settings but was not suited to working with all the settings for a device or installation as some settings are reserved for internal use.
This is now catered for in build 553 and above.
When the settings name “*” is passed internal names are excluded from the export namely:
- Names starting “private.”
- The device specific name “connection_key”
- Global settings “cryptographic_check”, “installation_info”, or starting "license." Or "registration."
In the unlikely event of needing to export an excluded setting the required setting can be requested explicitly e.g.
The export file will hold device and optionally global settings that may be imported into a different system with a different UPDD installation (e.g. could support a totally different number of touch devices or a different monitor layout etc). It is for this reason you need to bear in mind how the settings are going to be imported when setting up systems using exported settings.
In its most simplistic use the import can be used to apply saved settings to restore active devices back to a known set of settings and this is fine if the system configuration is the same as when the settings were exported, same active UPDD devices with the same device handles and the same device / monitor binding.
However, if this is not the case, then the driver needs to be notified if it should recreate missing devices and indicate what device to create before applying the settings.
This notification option was added in build 533 such that import can now be used to create a device instance during import.
To utilize this function a change must be made to the export file with a text editor.
In this example the exported file shows that the exported device had a device handle of 2.
When importing this device on a different system, or where the active device list is different, the device handle has no significance and should be changed.
By using the syntax below the import is directed to create (+) a specific device (of type 1) and apply the exported settings to the newly created device.
The device type can be obtained using the upddutils supported command on the target system. Being able to specify the device type allows for the settings to be imported on systems that may support a different list of touch devices, albeit one of them should be the same as the device settings held in the import settings file.
Once you are ready to import, the import command is used to import the previously exported settings.
Additionally export / import now supports multi-line values which was not previously the case. This is significant for macros in particular.
The import features above can be used to prepare serial or USB devices.
When working with multiple monitors and/or multiple devices monitor / device binding it not retained as the information used to identify USB devices is specific to a computer. Manual configuration after importing or display binding can be used to address this issue.