UPDD V7 introduction


As with all software, changes are inevitable to add more features, address support issues, cater for technical debt or to utilise the latest development tools.

Often, when utilising the latest development tools, you will lose compatibility with older versions of the target OS, hence we have not upgraded UPDD V6 development environment such that we can retain support for older versions of Windows x86/x64, Linux 32/64 bit and macOS 64 bit. Instead, we decided to create a new version of the driver, UPDD V7.

Early V7 versions support Window 10 (1809) and above and macOS 10.14 and above, both 64 bit only. As of 7.1.88 V7 also supports Win 7 x64 and 7.1.116 supports Linux 64 bit

At the same time as using the latest software development tools, we have also made some technical changes and added some new features, as describe below:

Change Description 
Utilising QT6  QT is a popular development tool. Version 6 is the latest version.
macOS Universal binaries All modules are now universal binaries (Intel/ARM native compatibility). No need for Rosetta II on ARM systems.
macOS display mode support Supports standard and Dark Mode display configurations.
New USB interfaces  UPDD V6 uses a 3rd party USB interface library, called LIBUSB. Due to various USB support issues that are difficult to identify and address within a 3rd party library, we have written our own USB interfaces.
Under Windows there are two new interfaces, one that interfaces with the native HID driver to support HID touch/Pen/Tablet devices and one that interfaces with old legacy, non HID compatible USB interfaces. Under macOS, we have written a USB interface using IOKit.
i2c hardware Adds support for Windows i2c devices
Native pen support UPDD V7 introduces a Virtual HID Pen device in the device manager so that Windows native pen functionality is enabled. Touch/Pen data from whatever hardware interface (HID, USB, Serial) can now be posted into the OS as pen data, as well as posted as touch or mouse data.  
Keyboard interface UPDD V7 implements a Virtual HID Keyboard device in Windows. This allows UPDD Commander to post keystroke actions into the OS.
Driver Reset Offers the ability to totally reset the driver in situations where a fault may have locked up touch functionality. This can be invoked on the command line or manually from within the UPDD Console.
New commands Two new upddutils commands: 
hiddevices: List all HID devices and shows the topology of a device and it’s interfaces.
hardreset: Removes and reinstates all drivers.

HID_DEVICE_DIGITIZER =                   "HID-compliant digitizer"
HID_DEVICE_TOUCH_SCREEN =                "HID-compliant touch screen"
HID_DEVICE_TOUCH_PAD =                   "HID-compliant touch pad"
HID_DEVICE_PEN =                         "HID-compliant pen"
HID_DEVICE_LIGHT_PEN =                   "HID-compliant light pen"
HID_DEVICE_WHITE_BOARD =                 "HID-compliant whiteboard"
HID_DEVICE_DIGITIZER =                   "HID-compliant digitizer"
HID_DEVICE_TOUCH_SCREEN =                "HID-compliant touch screen"
HID_DEVICE_TOUCH_PAD =                   "HID-compliant touch pad"
HID_DEVICE_PEN =                         "HID-compliant pen"
HID_DEVICE_LIGHT_PEN =                   "HID-compliant light pen"
HID_DEVICE_WHITE_BOARD =                 "HID-compliant whiteboard"
HID_DEVICE_DIGITIZER =                   "HID-compliant digitizer"
HID_DEVICE_TOUCH_SCREEN =                "HID-compliant touch screen"
HID_DEVICE_TOUCH_PAD =                   "HID-compliant touch pad"
HID_DEVICE_PEN =                         "HID-compliant pen"
HID_DEVICE_LIGHT_PEN =                   "HID-compliant light pen"
HID_DEVICE_WHITE_BOARD =                 "HID-compliant whiteboard"