Touch issues on macOS


There are many factors that have to align for touch to work in a Mac system:

  • Working hardware components (touchscreen, cable, hub, port etc) and macOS compatible
    (some devices 'stall' when connected to a macOS system as their firmware is expecting the Windows USB communication sequence and has issues with the macOS USB low level interface)
  • Device is recognised and seen by the OS
  • UPDD Software is correctly installed, and the System Extension has been manually 'Allowed' to load
  • UPDD Software supports the touch / pen devices connected to the system
  • UPDD Commander is configured to perform the expected actions

Hardware

Obviously, the hardware needs to be working and connected in such a way that it is seen by the macOS and is 100% stable and operational.

In a mac environment, it's 99.9% likely that the touch screen is a USB device, that means that for a touch screen to be registered the USB cable must be connected.

It's all too easy to power on the touch monitor, connect the video cable and forget, or not realise, that the USB cable also needs to be connected.

Depending on the type of USB connector you have available on the mac and the touch monitor, you may have a number of USB connection options, USB-A, USB-B, USB-C and thunderbolt connections.

In some cases, one combination of USB connections might cause issues whereas another might be perfectly OK, so be prepared to try different connections if need be.

We highly recommend that initial tests are coducted with the touch device connected directly into the system USB port as connecting via hubs (powered/non-powered), adaptors, extenders can cause solid or intermittent touch issues. e.g. One user reported a powered hub caused issues with the touch, a non-powered hub was fine!  Extenders often cause issues (extending the distance a USB device can be from the system unit).

Some USB devices are powered from within the monitor, most are powered by the USB connection, so it's important the USB device is receiving sufficient power. For example, a USB hub with many devices may not deliver sufficient power to the touch screen to allow it to operate correctly.

Device is seen by the system

When a USB device is connected correctly, it will list in the System Report, USB tree. This doesn't guarantee it's working, but at least it has been seen by the OS.

In this example, the system has two touchscreens connected, one via usbc and one via a standard USB cable. Selecting the USB device in the device tree shows further device details.

Not all touch / pen devices will list with touch or pen in their names. If you are unsure if the touch/pen device is listed, simply unplug or replug the device and see what one is removed / added in the list.

Software installation

The software should be installed as per these instructions.

It is really important to manually 'Allow' the system extension to load when requested.

The UPDD system extension informs the system what USB devices the driver is configured to support and should reserve the device for exclusive use by the UPDD driver.

Following successful installation, the UPDD driver should discover and list the devices in the UPDD Console:

No devices found shown in UPDD Console

If no devices are listed in the UPDD Console, you will see the message 'No devices found' 

This can occur for 1 or 5 reasons:

  • The device is not seen by the system so is not listing in the System Report, USB tree.
    Check the device is plugged in, and if so, try directly connecting or different cables, hubs etc
  • The System Extension has not been 'Allowed' to load or has failed to load
    Allow the system extension to load in the Privacy and Security preference panel
  • The installed driver software does not support the connected touch device(s)
    Check the driver actually supports the touch device(s) listed in the system report


  • There is an error accessing the device
    It's possible the driver is having difficulties accessing the device, either because the macOS driver still has control, with this error shown in the debug log. The UPDD diagnostics output will show if this is the issue.
    2021/05/20-05:14:44: ERR: USB error: (claiming interface) Access denied (insufficient permissions)

  • The device is giving USB errors when accessed by the driver
    This usually indicates a hardware issue and the device is not properly connected. The UPDD diagnostics output will show any errors that are occurring, such as.
    e.g. 2023/03/14-13:39:28: ERR: DeviceRequest failed: IOReturn=0xe0005000

Device testing

To test the hardware is OK and touch / pen data is being received correctly, you can use UPDD Test.

UPDD test uses the driver's API to receive touch data directly from the driver.

If you see line drawing in the test drawing area, then the basic connectivity is working.

In this example, the touches from the entire touch screen are scaled into the drawing area and are from the driver's API (UPDD) and the 3rd device.

At the bottom of the drawing, it shows the gesture being performed. At the time the screenshot was taken, it was a 5 finger drag up

UPDD Commander configuration

On macOS the driver is used to connect to the touch/pen hardware, handle monitor configuration and make the touch data available on the API for UPDD client applications to use, such as UPDD Test, Annotate and UPDD Commander.

The driver does offer a simple single touch function on macOS, but this is disabled by UPDD Commander when it loads, as Commander is responsible for posting touch and pen data into the macOS.

Commander processes all touches received from the driver, calculates the gesture being performed, invokes any action associated with the gesture and when required posts the data into the OS.

It also determines what application/UI element the gesture is being performed on, such that is can determine if the application/UI element has its own gesture / action set before selecting the default gesture / action used when no overriding gesture is configured.

When performing gestures (clicks, presses, double clicks, pinch, zoom, swipes etc) it can sometimes be confusing that the gesture / action is not that expected. e.g. a single finger drag could produce a scroll when a click and drag was required.

To help understand the gesture being calculated by Commander, such as the gesture definition being selected and the associated action being performed, there are a number of aids available;

Commander log

The Commander Log lists out information about the Commander, the driver and hardware and shows the gesture being calculated and the action being performed.

This is very useful to understand what is going on behind the scenes.

Gesture identifier

You can request that Commander highlights the gesture being selected at the time you perform the gesture on the touch device.

This gives you a precise visualisation of the selected gesture to identify the exact selection being made to help you understand the selection process. This allows you to adjust the configuration to suit your requirements if needed, such as change the associated action or add an Application/UI element on which you want the gesture to be performed.

​Remember, if you change an associated gesture action at the highest level (All Applications/Default Gestures) it will apply to all inherited gestures within listed applications that do not have their own gesture definitions for the changed gesture / action.

Search