The driver utilises a background, or daemon process, to undertake a number of driver related functions.
The UPDD installer implements start up methods for the daemon process based on the underlying operating system such that it is loaded on system start.
||Start up method
||The updd installer launches UPDD Daemon at the completion of the installation.
Thereafter, upon a system start the program is auto run. This is actioned by a registry entry, e.g for a Win 10 system:
||Immediately after UPDD install UPDD Daemon is launched using the command '/opt/updd/upddenv /opt/updd/UPDD\ Daemon &' by the install script running as root.
Thereafter xdg is used to start the daemon at system start running the same command.
||UPDD Daemon is automatically launched as an always on per-user agent using launchd.
In some locked down touch systems it may be desirable to only run the driver process and not want or require to have UPDD daemon launched at startup in which case you will need remove the daemon process from the start up routine.
The daemon process handles the following functions:
Shows the UPDD system tray / menu bar items
These icons, if enabled (note 1 below), are a visual indicator that the daemon process is running and shows if there are potentially issues with the touch interface. An exclamation mark in the icon indicates there is a problem. Hovering the cursor over the icon will reveal the reason the exclamation mark is being shown, either:
- The settings 'hide_systemtray_icon' and systemtray_icon_registration_only dictate if the icon is shown. If defined, both must be 0 for the icon to be seen.
- Some Linux distributions will not show the icons in the notification area. This being the case we have introduced command line options to invoke some of the daemon functions as described here.
Only shown for non-registered versions of the driver and allows for license registration.
Indicates if touch is enabled (tick). Touch for all devices can be disabled (cross) by selecting this option, such as in the case of system maintenance whereby it may be desirable to have touch disabled. An alternative pointer device will be required to re-enable so use with caution. Devices will be shown as DISABLED in the Status as shown below.
Shows driver and device status and monitor association:
If a non-registered (evaluation) version of the driver shows number of clicks left this session and number of days left to trial.
No driver connection - indicates there is a major issue in that the daemon is unable to connect to the driver
Device - will show either:
No devices found - indicates no devices have been discovered on the system
for each device shows:
Device driver handle, device name, desktop association, status and screen name (if enabled)
Status value = OK - connected, NOK - disconnected, DISABLED - manually disabled.
If you click on a NOK entry you will be presented with an option to delete the entry.
Invokes the configuration procedure.
Invokes the toolbar definition dialog
Lists the development history.
Test (only shown if Test utility available)
Invokes the UPDD Test utility.
Annotate (only shown if Annotate utility available)
Invokes the UPDD Annotate utility.
Indicates the UPDD driver version installed and shows license information.
Evaluation - Indicates evaluation / trial copy of the driver
Shows driver version and build number
Registered to: [Licensee]
||In some OEM cases the Daemon menu is used only to offer license registration. In this case only the Register option is available.
Once the registration has been activated the Daemon icon will be removed. This functionality is controlled by the setting systemtray_icon_registration_only.
||Mac only - From Mountain Lion onwards the mouse interface only works for processes running under the logged in account. Given the driver process runs under the Root login the interface code was moved to the daemon process.
||Mac only - From High Sierra onwards registers the Kext file (Kernel Extension) to ensure that it has been registered (which should happen at driver install time) or to get an error return code that indicates why is is failing to register which is placed in the UPDD setting private.kextload.status. The kext file informs the OS what USB devices are to be handled by our driver. If this does not load then UPDD will not be selected by the OS to handle the touch device.
|USB enumeration period
||At system startup, when the driver loads, it checks the availability of supported USB devices every second to ensure it starts handling the USB device as soon as it becomes available in the system. When the Daemon process starts it sets this period to 10 seconds as it is unnecessary to check so often once the system is up and running. This check is only needed to discover newly added devices after the system is up and running, hence a longer delay is more appropriate.
|Right Click visualisation
||Draws right click visual feedback during count down when using Interactive Touch mode.
|Monitor metrics changes
||Sets the initial monitor metrics layout and looks for changes in video resolution, rotation and monitor layout that may affect UPDD configuration and touch screen calibration. Rotation adjustments are made automatically. Other changes may require a reconfiguration and this may be invoked automatically on next touch depending on the autoconfigure setting otherwise the configure option will need to be invoked manually.
In Windows a windows message is actioned when the monitor metrics changes so any subsequent UPDD related action occurs almost instantly. In Mac and Linux there is a watchdog timer process that runs every 2 seconds looking for these changes so there may be a short delay for the change to take affect.
|Monitor identification procedure
||Identify and associate UPDD Virtual HID devices with Windows internal monitor layout
||Monitors system pointer position and returns to previous position after touch
||Generates sound on touch down, touch up.
||Issues notifications as appropriate, such as device connection/disconnection, evaluation period expiry.
|Linux X permission
||In a Linux environment UPDD Daemon will execute the command
this grants permission to processes already having root privileges on the localhost system to access the X session in which UPDD Daemon is running.
This is required to allow the driver to post touch data on the X interface.
Command line options
These options have been introduced in version 6.0.271.
In case where the system tray menu is not available, such as the icon has been manually disabled or is not available in some Linux distributions, a number of options have been added to UPDD Daemon.
To access any of the graphical options, pass one of the following options to UPDD Daemon in a command window; status, settings, register, history, toolbars or about - these options are case insensitive!
In the Linux example below the status screen is shown:
Here is the same command in MacOS:
Adding UPDD Daemon to Windows start menu
You may wish to add one of the daemon dialogs to the Windows start menu.
Follow these instructions to add in Windows 10.
- navigate to updd folder in explorer
right click updd daemon
click pin to start
right click daemon in start menu
click open file location (you can rename at this point if required)
right click updd daemon
add the word settings/status to the target
- click ok
This example invokes "UPDD Daemon" settings and has been renamed to UPDD Settings:
Other Windows releases will have a similar method to add to start menu.
To run UPDD Daemon as an application we have added an experimental parameter option "icon".
This shows a UPDD driver icon in the top left corner of the screen and can be used to mimic the behaviour of the standard 'system tray' icon / menu.
This is a very basic implementation; only supports left click, only supports the menu and menu options (no notifications) and has a fixed position.
This may be developed further if there is need for it.