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 and macOS. Instead, we decided to create a new version of the driver, UPDD V7. Early 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 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:
||QT is a popular development tool. Version 6 is the latest version.
|macOS Universal binaries
||All modules are now universial binaries (Intel/M1 native compatibility). No need for Rosetta II on M1 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.
||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.
||UPDD V7 implements a Virtual HID Keyboard device in Windows. This allows UPDD Commander to post keystroke actions into the OS.
||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.
||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.