The following components are installed under MacOS
Component |
Name |
Path |
Notes |
Driver |
updd |
/library/application support/updd |
|
Settings database |
updd.db |
/library/Preferences/updd/db |
|
Bootstrap settings |
updd.ini |
/library/Preferences/updd/ |
Manually created as required |
Calibration program |
UPDD Calibrate |
/applications/utilities |
|
Test program |
UPDD Test |
/applications/utilities |
|
Gestures |
UPDD Gestures |
/applications/utilities
/library/application support/updd/ since 2.5.5.
|
If included in installation package or installed separately |
Commander |
UPDD Commander |
/library/application support/updd |
|
Commander presets |
n/a |
/library/application support/updd/commander presets |
|
TUIO Server |
UPDD TUIO |
/applications/utilities
/library/application support/updd/ - since 2.0.33
|
If included in installation package or installed separately |
Daemon program |
UPDD Daemon |
/library/application support/updd |
|
Uninstall |
UPDD Uninstall
UPDD Uninstall (link) |
/library/application support/updd
/applications/utilities
|
|
Command line interface |
upddutils (link)
upddutils |
/usr/local/bin
/library/application /support/updd |
|
USB library |
libusb-1.0.dylib |
/library/application support/updd |
|
Start up script |
updd_start.sh |
/library/application support/updd |
|
UPDD API Dynamic lib |
libupddapi.dylib |
/usr/local/lib (no longer used) |
API library used for developing UPDD client applications |
UPDD API Dynamic lib - V6 |
libupddapi.1.0.0.dylib |
/library/application support/updd |
|
UPDD API Dynamic lib - V7 |
libupddapi.7.0.0.dylib
|
/library/application support/updd |
|
UPDD API folder |
|
/library/application support/updd/api |
API files used for developing UPDD client applications |
UPDD driver API header |
upddapi.h |
/library/application support/updd |
Driver API header file |
UPDD Gesture API header |
TBGestureAnalysisTypes.h |
/library/application support/updd |
Gesture API header file |
QT folder |
|
/library/application support/updd/qt |
|
QT configuration |
qt.conf |
/library/application support/updd |
|
Launch driver |
.....updd.plist |
/Library/LaunchDaemons |
Start up item for the driver |
Launch UPDD Daemon |
....daemon.plist |
/Library/LaunchAgents |
Start up item for UPDD Daemon |
Kernel extension |
tbupddmxhid.kext
macos 10.7 - 10.14
10.15 - 11 pre UPDD 6.0.686 |
/System/Library/Extensions (10.7, 10.8)
/Library/Extensions (10.9 and above)
|
This extension is a codeless Kext with no running code so is not listed by any Kext utilities. Its purpose is to define the USB devices supported by UPDD and prevents HID class drivers being installed. |
System Extension
UPDD 6.0.686 and above |
UPDD System Extension.app
macOS 10.15 and above |
|
This extension (dext) is contained within an application and used instead of the above kext in macOS 10.15 and above and performs the same role as discussed above. |
Process manager |
upddprocesses |
/usr/local/bin |
Used to stop and start UPDD components |
Since release 6.0.729 |
upddprocesses ** see note 2 |
/Library/Application Support/UPDD/ |
Updated to support macOS 12 |
Notes:
1. /usr folders
UPDATE Dec 2020. UPDD installers generated from Dec 2020 onwards no longer install components in /usr folders as it was discovered on some systems these are set to read only.
These notes now only relate to old installers generated before this time.
Pre Dec 2020 UPDD utilises /usr/local folder
The /usr/local directory is generally used to contain files that are installed by the user / administrator or used for programs that share data amongst each other.
Queries have been raised about the use of this location but it's not invalid for application software, such as UPDD, to place important files here.
With the latest versions of macOS there are few other places to place shared files as other locations within the filesystem are locked down due to System Integrity Protection.
Apple's own documentation say to place such files in /usr/local. Some have suggested in 'Unix' like systems you should use /opt but by default the /opt directory does not exist on macOS.
Some users share /usr/local directory across multiple systems. If this is the case ensure other users do not delete any shared resources, such as the UPDD API files.
We are aware that while we are allowed to place files in /usr/local, we know that in general its best to keep shared resources inside the /Library directory as it's more "mac like" and less likely to be interfered with by users or another process, and this has been done to a greater extent.
However with UPDD API being implemented as a dynamic library (i.e. a dylib file) rather than a Mac framework (.framework) then it has to go in /usr/local/lib.
2. upddprocesses
Since UPDD 6.0.729 an updated upddprocesses is utilised that has embedded Python libraries due to the pending phased withdrawal of this library from macOS. This shell script is now placed at /Library/Application Support/UPDD/upddprocesses. That script then runs the compiled executable at /Library/Application Support/UPDD/upddprocesses_d/upddprocesses-x86-64 and passes along all arguments. This "upddprocesses_d" folder contains many support libraries from python needed for the script to run.