MacOSX


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.


Search