Skip to content

Releases: OpenTabletDriver/OpenTabletDriver

OpenTabletDriver v0.6.7

25 Apr 18:58
v0.6.7
736003e

Choose a tag to compare

OpenTabletDriver v0.6.7 releases after over a half of year of development! Over 300 issues and pull requests was targeted for this milestone, making it the biggest single milestone, surpassing even v0.6.0. While a lot of the changes for this version has been for code quality and maintainability, this version still contains some notable changes.

We hope that you enjoy this feature release of OpenTabletDriver!

Notable Features/Bugs Fixed

Wheel Support (#3497) by @Mrcubix and @joha4270

(and multi-wheel support in #4483 by @gonX)

You can now use the tablet pad wheel and roller for many tablets.

Mrcubix backported and completed the effort by @joha4270 in #2669 to the 0.6.x branch

Please see the TABLETS.md file for this release to determine if your tablet is fully supported yet.

Mouse Scroll Bindings (#3840) by @Mrcubix

Mouse-based output modes (ie. not Linux Artist Mode and not Windows Ink) can now use arbitrary bindings to scroll as if a scroll wheel was being scrolled.

Reworked Tablet Debugger (#4434) by @gonX

Note: The data recording feature has been moved away from the main window, into an option in the menu.

New features:

  • Filtering by:
    • Tablet Model
    • Report Parser source type
  • Binary decoding option for raw data in addition to the existing hexadecimal decoding
  • All implemented report-related interfaces now add additional statistics
    • Full ranges for range-based values (position, pressure, tilt, etc)
    • Button state transition verification
  • Data recording now also annotates these additional statistics

Tablet debugger recordings will likely be mandatory for future tablet configuration additions and changes to verify full feature compatibility.

Silence update notifications (#4270) by @Kuuuube

Simply add --skipupdate to the GUI's launch options to disable the updater.

Meta Quest link conflict solved (#4476) by @fredemmott

Implemented a workaround for a long-standing issue with newer Meta Quest firmware bugs that would cause the VR headset to not link properly as long as OpenTabletDriver was running. See issue #3696 for details.

Better binding errors when bindings are unsupported (#4738) by @gonX

The built-in bindings used to be able to be configured with any output mode and the user would not have a chance to know that their binding would not work (e.g. mouse scrolling on the output modes "Windows Ink" and "Linux Artist Mode") other than it just silently dropping its input.

Now, the daemon will throw an error in the log if the binding is not able to be properly configured with the given output mode.


Below remains the autogenerated release notes that have been annotated by @gonX and reviewed by @Kuuuube:

What's Changed

Regressions Fixed

Most of these regression fixes only exist due to new changes in the codebase introduced after v0.6.6.2.

  • PluginSettingStoreCollection: Support null elements in SetExpectedCount by @gonX in #4466
    • This is the only regression that was actually introduced in v0.6.6.2.
    • Some daemon settings file could have been improperly configured via older OpenTabletDriver versions, and versions prior to v0.6.6.2 would happily accept these settings, but were then broken in v0.6.6.2. Now, this type of broken settings file should no longer cause the daemon to crash on startup.
  • Fix broken multiclient support by @gonX in #4420
    • Using CLI features was otherwise impossible while the GUI was running, or vice versa. This momentarily broke with #3992
  • Daemon: Set daemonRunning to false in catch block by @gonX in #4415
    • The daemon would otherwise not close properly when crashing - this was also introduced with #3992
  • Timers: Background timers to avoid blocking Daemon shutdown by @gonX in #4498
    • Again, introduced with #3992, but mostly wasn't a problem before because the daemon would forcefully get terminated when exited.
  • Switch to --no-self-contained over --self-contained false by @Kuuuube in #4623
    • Microsoft introduced a silent change in a minor version update to their SDK that changed the flags needed to specify non-self-contained builds. Until this was fixed, our builds were significantly inflated in size, though the change was caught before we did a release with this change.
  • Reintroduce IPointerProvider<T> by @gonX in #4689
    • Removal of this interface in #4582 broke at least 1 plugin, and as such it was proactively reintroduced to avoid breaking other plugins. The interface still does nothing, but now it's marked as obsolete so that new plugins hopefully no longer include it.
  • UX: Bind "Lock To Usable Area" and offsets to forcefully recheck on every update by @gonX in #4755
    • This broke after #4435 was introduced, but should hopefully match GUI tablet/display area manipulation parity to v0.6.6.2.

Major Features

  • Desktop/ViewModel: Don't raise unless value really changed by @gonX in #4435
    • This reduces the amount of callbacks happening in the GUI when viewmodel properties or fields aren't actually changing, which should greatly increase the performance in some scenarios.
  • Remove IPointerProvider<T> by @gonX in #4582
    • This interface was added a long time ago and the changes surrounding it wasn't necessary. Plugin developers: While this interface was technically kept via #4689 for compatibility reasons, it does not do anything in the code and you should not inherit it.
  • IDriverDaemon: Add GetDiagnosticInfo() and implement in CLI/GUI by @gonX in #4527
    • This allows the diagnostics to better represent the state of the system as seen by the daemon. You can see in #4090 how the client application (GUI/CLI) was dictating diagnostics instead of the daemon.

Tablet Configurations

  • Add Wheel Support by @Mrcubix in #3497
    • Also noted in "Notable Features" at the top of the release notes
  • Add support for Wacom Cintiq 21UX (DTZ-2100) by @Kuuuube in #4224
  • Add support for XP-Pen Artist Pro 22 (Gen2) by @Kuuuube in #4221
  • Add support for Genius G-Pen F509 by @Kuuuube in #4165
  • XP-Pen CT1060: Reduce identifier scope by @gonX in #4246
  • Add second variant of Parblo A610 Pro by @gonX in #4245
  • Add OutOfRangeReport for IntuosReportParser by @AkiSakurai in #4240
    • Tablets using this report parser (a lot of earlier Wacom CTE/CTH/CTL tablets) will now properly reset bindings and internal state when pen leaves the tablets active area.
  • Add wheel support to Wacom Intuos Pro 2025 (PTK-x70) by @Tom94 in #4278
  • Add support for XOPPOX D161 by @Kuuuube in #4271
  • Add new variant to Artisul M0610 Pro by @Kuuuube in #4284
  • Huion New 1060 Plus 2048: Fix invalid interface selection by @gonX in #4296
  • Add wheel support to PTH-x60 by @Kuuuube in #4275
  • Remove bad interface check from UC-Logic 1060N by @Kuuuube in #4251
  • Add support for Wacom Cintiq 18SX (PL-800) by @Kuuuube in #4253
  • Add support for XP-Pen Artist 22R Pro by @Kuuuube in #4252
  • Add support for new gaomon m10k variant by @Kuuuube in #4268
  • Add variant for huion h641p by @Kuuuube in #4299
  • PTH-x51: Add touch specifications by @gonX in #4324
    • This doesn't actually add touch output support, but should allow for plugins to use the touch data for something useful.
  • Add identifier to XP-Pen Deco 01 V2 and fix misdetect by @Kuuuube in #4293
  • Add support for huion note x10 by @Kuuuube in #4263
  • Add support for UGEE M708 V3 by @Kuuuube in #4266
  • Parblo Ninos N4: Remove OutputReportLength by @gonX in #4282
  • Remove OutputReportLength check and add interface for Parblo Ninos M by @Kuuuube in #4338
  • Add wheel support for Kamvas 13 3rd gen and Kamvas 16 3rd gen by @mrbass21 in #4310
  • Add new huion H951P variant by @Kuuuube in #4381
  • XP Pe...
Read more

OpenTabletDriver v0.6.6.2

17 Oct 00:28
v0.6.6.2
8fe29bf

Choose a tag to compare

A wild bugfix release appeared! If the last version was working fine for you, you do not need to update.

Bug Fixes

  • Default processes to empty array instead of leaving unassigned in driver detection by @Kuuuube in #4231
    • Fixes a crash when exporting diagnostics with a vendor driver loaded on Linux (regression introduced with #4188)
  • Fix modifier key binding with mouse events on macOS by @AkiSakurai in #4233
    • Fixes modifier keys not passing through properly on macOS
  • Fix pen button bindings not releasing on out-of-range by @AkiSakurai in #4234
    • Fixes bindings being stuck if pen is removed from tablet while holding pen buttons

Full Changelog: v0.6.6.1...v0.6.6.2

OpenTabletDriver v0.6.6.1

11 Oct 14:47
v0.6.6.1
f3ef6da

Choose a tag to compare

Another minor release is upon us! OpenTabletDriver v0.6.6.1

This release targets some notable bug fixes:

  • Underflowing pressure is fixed on some variants of XP-Pen tablets in #4197
    • This was caused by an incorrect assumption in the parser
  • Fixing inconsistent eraser handling in our own eraser binding handler in #4207
    • Some tablets (mostly Wacom) send tool state as an initial report instead of sending eraser state continuously, this is now properly handled.
  • MacOS: Fixing relative mode on multi-monitor displays in #4198
    • This fixes a bug that seems to have been present since OpenTabletDriver v0.6.1
  • Linux: Fixed bad tool handling in Linux Artist Mode in #4202
    • Tool states are now properly unique per SYN_REPORT - should fix tool handling in some applications
  • Tilt is now fixed on many large UC-Logic based tablets in #4213
    • Artisul D16 Pro
    • Gaomon GM116HD
    • Gaomon GM156HD
    • Gaomon PD156 Pro
    • Gaomon PD1560
    • Gaomon PD1561
    • Gaomon PD2200
    • Huion G930L
    • Huion GT-156HD V2
    • Huion GT-191 V2
    • Huion GT-220 V2
    • Huion GT-221 Pro
    • Huion GT-221
    • Huion Kamvas 12
    • Huion Kamvas 16 (2021)
    • Huion Kamvas 16
    • Huion Kamvas 20
    • Huion Kamvas 22 Plus
    • Huion Kamvas 22
    • Huion Kamvas 24 Plus
    • Huion Kamvas Pro 12
    • Huion Kamvas Pro 16 (2.5k)
    • Huion Kamvas Pro 16 (4k)
    • Huion Kamvas Pro 16 Plus (4k)
    • Huion Kamvas Pro 16
    • Huion Kamvas Pro 19 (4K)
    • Huion Kamvas Pro 20
    • Huion Kamvas Pro 22 (2019)
    • Huion Kamvas Pro 24 (4K)
    • Huion Kamvas Pro 24
    • Huion Q630M
    • Huion RDS-160
    • Huion WH1409 V2
    • Huion WH1409
    • Huion Kamvas 16 (Gen 3)
    • Huion Kamvas 24
    • Huion Kamvas Pro 27
    • Huion Q620M

Additionally, foreign driver detection has been improved in #4188. XP-Pen's Windows driver recently changed something that stopped our driver detection from seeing it, this change should allow users and helpers to identify whether the foreign driver is installed and may conflict with OpenTabletDriver.


Bug Fixes

  • Invert giano parser tilt by @Kuuuube in #4213
  • Replace bad subtraction with bitmask in XP-Pen offset parsers by @Kuuuube in #4197
  • Report potential driver detection false positives and show process name and filename in log by @Kuuuube in #4188
  • Save eraser state in binding handler by @Kuuuube in #4207
  • Desktop/PresetManager: Fix '.json' overreplacement by @gonX in #4170
  • Fix libinput eraser not setting sometimes due to not flushing and sending two conflicting tool reports by @Kuuuube in #4202
  • Fix multi-monitor relative pointer bug when first display is positioned to the right by @AkiSakurai in #4198

Tablet Support

Console Improvements and Bug Fixes

  • Rework setfilters and settools by @gonX in #4171
  • Add disabletabletfilters and disabletools by @gonX in #4176
  • Add listpresets command by @gonX in #4169
  • Inform when no types are found by @gonX in #4145
  • Fix detect console command bricking output by @dnfd1 in #4215
  • Fix invalid call in setoutputmode by @gonX in #4148
  • savepreset: Restrict path traversal by @gonX in #4168

New Contributors


Code quality and GitHub project management PR's have been omitted from the list above.

Full Changelog: v0.6.6.0...v0.6.6.1

OpenTabletDriver v0.6.6.0

28 Sep 17:21
v0.6.6.0
3669c76

Choose a tag to compare

OpenTabletDriver v0.6.6 finally releases after over a half a year of development!

This version mostly focuses on added support for more tablets, but also has
some bug fixes and quality of life changes.

Notably, plugin API and bindings have been looked at closely to fix up some
small annoyances for end users.


Additionally, we have some sad news to bring:

During this release window, long time contributor @jamesbt365 passed away. We
have memorialized his impact on the OpenTabletDriver project in the driver user
interface.

James joined the OpenTabletDriver team more than 4 years ago, and has provided
outstanding support for users on our Discord, helped the team keep multiple
OpenTabletDriver projects updated (core, web and bot) with documentation and code.

Among his over 300 pull requests for the driver, dating all the way back to
#1503, James has helped add and improve support for scores of tablet models,
and fix cross-platform compatibility of dozens tablets, finishing off with his
last pull requests in #3931 and #3736.


With all that being said, we hope you enjoy the v0.6.6 release! Further details
about this release can be seen below:

Notable changes

Adaptive Bindings by @gonX in #4010

This version of OpenTabletDriver introduces a new default binding: Adaptive Bindings

Adaptive Bindings automatically adapt to your output mode - no more fiddling
with bindings just to use your other output mode properly.

Plugin developers making output mode plugins: Make sure your output mode
implements IPenActionHandler to properly support this. IMouseButtonHandler is also supported.

Migrate Tablet Configuration properties to match avalonia by @gonX in #4027

This changes the tablet configuration schema to match that of our other
branches. Any custom tablet configurations that worked with v0.6.5.1 should
still work with this version.

This improves the user experience for users with unsupported tablets, as they
now don't have to worry (quite as much) about their tablet missing features
because they used a configuration targeted for another driver version.

Add options to disable pressure & tilt by @AkiSakurai in #3564

You can now disable these settings per-tablet. It disables reporting of these
values to the OS, which implicitly disables pen tip in the Linux Artist Mode
output mode.

Integrate Preset Bindings by @Mrcubix in #3995

Adds support for loading presets directly from bindings.

Plugin developers: This also exposes the current IDriverDaemon to the
pluginmanager service collection, should you need direct Daemon access in your plugin.

Invert tilt in UCLogicTiltReportParser by @gonX in #3701

This hopefully fixes the inverted tilt present on many UCLogic tablets (Artisul, Gaomon, Huion).
Please see the linked pull request for a full list of affected tablets.

Bug fixes

MacOS

  • macOS: Track modifier status in OTD, not system by @AkiSakurai in #4014

    This should improve the reliability of multi-key bindings

  • Ensure user configuration is loaded correctly on macos by @AkiSakurai in #3994

    Solves some instances of user-defined tablet configurations being unable to be loaded.

  • Fix occasional sticky modifier keys issue on macOS by @AkiSakurai in #3808

    Solves an issue where looked up modifier state might not match actual modifier
    state (e.g. changed between lookup and sync/flush)

Misc Bug Fixes

  • Fix an exception when unplugging a tablet then closing a binding editor by @Mrcubix in #3837

  • Fix UX Plugin Manager desync when updating plugins by @Mrcubix in #4022

  • Enhance handling of invalid settings by @gonX in #3999

    This solves oddities when attempting to load master/avalonia driver
    settings into the 0.6.x version of OpenTabletDriver.

  • Cleanup Temp before plugin install by @Mrcubix in #4019

    This ensures that only the intended files are installed with plugins, in case
    of the temp dir going stale for some reason.

  • DriverDaemon: Create settings file when none are detected by @gonX in #4000

    This solves the setup wizard repeatedly popping up for users with no saved configuration.

  • PluginSettingStoreCollection: Check upper bounds by @gonX in #4012

    Solves a minor issue where saved settings could save more bindings than the tablet supported.
    This was noticeable only when the used tablet has had any of its button counts reduced.

  • Fix Plugin manager Metadata Desynchronization by @Mrcubix in #4007

    Displayed plugin metadata should now be properly refreshed when a plugin is reinstalled or updated.

  • Load Plugin assemblies using LoadFromStream instead of LoadFromAssemblyPath by @Mrcubix in #4009

    This should hopefully make plugin file management (uninstalling/updating) a bit more consistent

  • Revert Huion 420 parser change by @Kuuuube in #3758

    This reverts the used parser for Huion 420 to the one used in v0.6.5.0.

  • Handle type being null in the Advanced Binding Editor when getting controls by @Mrcubix in #3783

    Resolves a bug with uninstalling plugins providing bindings, and the bindings remaining unchangable.

  • Only clamp width and height in Lock to usable area if rotation is 0 or 180 by @Kuuuube in #3815

    This solves weird tablet area mapping behavior on rotated areas in the user interface

Tablet Support

Added support

Improved detection

  • Add identifier to deco 01 v2 variant 2 by @Kuuuube in #4102

  • XP-Pen Deco mini7 V2 by @Kuuuube in #4071

  • Huion HS610: Add HUION_T227_240925 by @gonX in #4080

  • Add interface attribute to WinUSB tablets where applicable by @Kuuuube in #4020

    Solves broken Linux/Mac detection of some tablets that requires WinUSB on Windows.

  • Fix incorrectly using Kamvas 20 by @jamesbt365 in #3931

    Solves some Huion Kamvas Pro 20's being detected as a Huion Kamvas 20.

Improved support

  • Include IProximityReport for BambooTabletReport by @Kuuuube in #4100

  • Add mouse support for PTK-x40 aka Intuos4 by @Kuuuube in #1791

  • Huion H1161: Fix wheel reports emitting aux buttons by @gonX in #3896

  • XP-Pen Deco 01: Fix incorrect Auxiliary button count: 6 -> 8 by @gonX in #4002

  • XP-Pen Deco L: Remove OutputReportLength requirement by @gonX in #3884

  • Fix XP-Pen Artist 12 init for newer revision by @Kuuuube in #4025

    Solves double cursor on Windows for some XP-Pen Artist 12 variants.

  • Reintroduce 10moon parser by @gonX in #4029

    This only reintroduces the parser that was removed in 0.6.5.1. This should
    allow users to continue using a local configuration.

  • Candidate fix for Wacom Graphire AUX buttons. by @gonX in #4058

    Fixes aux buttons for the following Wacom models: CTE-430, CTE-440, CTE-630, ET-0405-U, ET-0405A-U

  • Fix messy tablet naming by @Kuuuube in #4123

  • Fix a few incorrect pressure maxes by @Kuuuube in #4122

    Fixes pressure max being off by 1 for Genius G-Pen 560, Wacom DTK-1200, and Wacom DTK-2200.

Driver Core

  • Allow matching FeatureReportLength by @Kuuuube in #4101

  • Clean up Linux diagnostics env vars by @gonX in #3876

    Introduces XDG_CURRENT_DESKTOP and XDG_CURRENT_DIR environment variables to diagnostic output.

  • Add proper getter for Settings by @Mrcubix in #3839

    Simplifies the OpenTabletDriver.Desktop.Preset class

Driver GUI ("UX")

  • UX/TabletDebugger: Use epoch timestamp for data recording file name by @gonX in #3988
  • Show max recorded position in the Tablet Debugger by @silkneko in #3427
  • Hide number of recorded reports until non-zero by @Mrcubix in #4048
  • Reset NumberOfReportsRecorded when recording is enabled by @Mrcubix in #4060
  • AreaConverter: Add Gaomon 2024 converter by @gonX in #4003
  • Fix license button not showing license in about dialog by @Kuuuube in #4046
  • Order Filters & Tools by Name by @Mrcubix in #4049

Meta/CI/Tests

  • Tests: Add check for Tablet Config names in tablets.md by @gonX in #4098

  • Tests: Add tests for GetFriendlyName() TypeInfo extension function by @gonX in #4054

  • Automatic labeling for pull requests by @gonX in #3667

  • Remove * from labeler meta by @Kuuuube in #4026

  • PR Labeler: Fix constant meta tag application by @gonX in #4030

  • ConfigurationTest: Consider whitespace/indentation when diffing by @gonX in #3901

  • Improve config dir detection in tests by @gepbird in #3796

  • Build: Remove LangVersion by @gonX in #4011

    This ensures that the compiler used is not newer than the targeted framework,
    avoids developers with .NET 10 SDK installed from submitting .NET
    8-incompatible code.

  • Refactor tests by @gonX in #4091

    This overhauls some of our unit tests to use more modern testing techniques

Miscellaneous Changes

  • Add MacOS UI & Daemon Config and Update Build Instructions by @AkiSakurai in #4084
  • PluginManager: Disa...
Read more

OpenTabletDriver v0.6.5.1

02 Feb 14:50
eafdb42

Choose a tag to compare

!! For any users that encounter any problems with OpenTabletDriver's built-in updater, please manually download the update below instead. !!

This release removes the updater from OpenTabletDriver as it has known to be inconsistent with Windows. It will instead link you to the website to download the release. Your v0.6.5.0 version will still update to v0.6.5.1.
The updater is not planned to return for 0.6.x.

You can now save and apply with the pen without making the daemon crash (#3631 and #3614)

Relative output mode will now warn you if you use a too low reset time (#3750)

Notable changes

  • Link to release instead of updating (#3619 by @Mrcubix)
  • Fix another case of Output Mode NullException when saving using the tablet (#3631 by @Mrcubix)
  • UX: Rewrite FileDialog directory checks (#3670 by @gonX)
    • This should make diagnostics work for users who don't have classic user folders defined such as Documents.
  • Better logging on invalid parser (#3746 by @gonX)
    • You should now receive a log error when trying to use a parser that doesn't exist instead of just a confusing null reference exception

Bug fixes

Linux

  • Artist Mode: Release opposite tool when changing eraser state (#3700 by @gonX)
    • This fixes stuck tool states for parsers that do not properly emit Out of range reports
  • Remove proximity handling from linux artist mode (#3705 by @Kuuuube)
    • This is a change that happened in master (#2503 by @gonX) but was never backported before now.
      This should increase hover range on Artist Mode.

MacOS

  • Fix swapped key code mappings for Command and Option keys on MacOS (#3666 by @AkiSakurai)
  • Fix support for pressure sensitivity in Adobe software on macOS (#3761 by @AkiSakurai)
  • Fix: Prevent proximity event on mouse up for macOS (#3764 by @AkiSakurai)
  • Fix memory leaks on macOS (#3788 by @AkiSakurai)
    • A change in a recent macOS version changed CGEventPost to require usage of an Autorelease pool to avoid a memory leak

Miscellaneous Changes

  • Ensure Store is properly set when opening advanced binding editor dialog (#3623 by @Mrcubix)
    • This fixes advanced binding editor so that it's pre-filled with your current binding
  • Fix AppInfo desync in UX (#3615 by @Mrcubix)
    • UX would not be using the daemon-provided paths for plugin manager and preset manager. This fixes niche installations that have separate UX and daemon paths, but also helps with development.
  • Fill Empty screen with a Label when a tablet isn't detected or selected (#3763 by @Mrcubix)
  • Daemon: Properly output filters to log in development edge case (#3699 by @gonX)
  • RelativeOutputMode warn on reset spam (#3750 by @gonX)
    • You will now get a logged error when relative output mode was unable to position your cursor too many times in a row
  • Tablet Debugger: Refactor missing digitizer specification warnings (don't warn for missing touch if report isn't touch) (#3628 by @gonX)
    • 0.6.5.0 had a last-second patch (#3540) to fix tablet debugger crashes for tablets with parsed touch that had touch dimensions undefined in the configuration, this ended up spamming the logs of even non-touch tablets.
      This change fixes it so that the warning should only be emitted for touch reports.

Tablet Support

Added support

Improved detection

Improved support

Removed support

Unfortunately, we had to remove support for this because of our invalid parsing leading to pressure not working correctly. This configuration also matched tablets it was not supposed to, which makes it harder to support more tablets.
Support will be readded in the future when we iron out the problems.

Driver

  • Fix a case nullref when In-Range Apply occurs (#3614 by @Mrcubix)
  • Fix NullReferenceException when settings with missing output mode area are loaded (#3672 by @Mrcubix)
    • This fixes settings and profiles with invalid or missing outputmodes (like the ones from now-uninstalled plugins) throwing an exception.
  • Dispose of plugins on InputDeviceTree Disconnected (#3622 by @Mrcubix)
    • This fixes a memory leak with plugins that would happen whenever a tablet is unplugged

Meta/CI

  • UX/About: Add developers and documenters (#3747 by @gonX)
  • Bump to 0.6.5.1 (#3778 by @jamesbt365)
  • Standardize release asset naming (#3762 by @gonX)
    • This changes how assets are named in releases. Releases assets will now contain the version of OpenTabletDriver.
  • workflows/release: Move NuGet deploy to its own step (#3782 by @gonX)
    • This should make it easier for us to ensure a CI-based NuGet deploy in the future
  • Add config json linting to 0.6.x (#3613 by @Kuuuube)
    • This only affects .NET tests. You can still use an ugly configuration locally.
  • Package Debian and Fedora in Net CI test (#3725 by @jamesbt365)
  • workflows/dotnet: Run workflow on branch pushes too (#3777 by @gonX)

nixOS

New Contributors

Full Changelog: v0.6.5.0...v0.6.5.1

OpenTabletDriver v0.6.5.0

18 Dec 14:05
ccb32a5

Choose a tag to compare

!! For any users that encounter any problems with OpenTabletDriver's built-in updater, please manually download the update below instead. !!

Notable changes

  • .NET Runtime has been updated to use 8.0 from previously used 6.0 (#3368 by @InfinityGhost and #3390 by @jamesbt365)
  • Enhanced tablet detection which should help tablets with multiple interfaces (#3475, #3244 by @jamesbt365, #3570 by @X9VoiD)
    • These are changes that help improve support in the future for tablets.
    • Notably, "replug tablet until it works" is a workaround that can now be fixed with some tablet configuration changes
    • These changes help reduce conflicts and further improve what tablets we can support by giving us more choices over what devices we select.
  • Touch points are now visualized in the OTD Tablet Debugger (#3138 by @kloczewiak)
  • NuGet packages are now deployed when a release is tagged (#3550 by @InfinityGhost)
  • String reader now outputs special characters as character escape sequences (#3583 by @Kuuuube)
    • This is mostly to help configuration maintainers notice when vendors change strings in subtle ways

Bug fixes

  • Error dialogs/message boxes are now limited to a single box (#3490 by first time contributor @BunnyTub)
    • This means that cascading errors no longer spams dialog boxes
  • GUI no longer crashes when inputting blank or invalid values into the settings textboxes (width/height/etc) (#2248 by @AkiSakurai)
  • Pressure and eraser threshold now defaults to 1 (#3601)
    • This should avoid left click remaining stuck for new users with tablets that don't ever report 0 pressure
  • Fixed a bug in Linux timer thread code where ananicy-cpp would retrigger rules on every timer tick (up to 1000 times a second) (#3414 by @hwsmm)
  • Portable install is now possible on Linux and MacOS (#3536 by @Mrcubix)

Linux

  • Now defaults output mode to Artist Mode instead of Absolute Mode (#3525 by @gonX)
    • Absolute mode on Linux should be considered deprecated and only exists for backwards compatibility
  • Official OpenTabletDriver packages now ship with libinput smoothing disabled for Artist Mode (#3566 by @gonX)
  • Reworked .desktop file to follow Freedesktop standards (#3573 by @gonX)
  • Updated manpage (#3594 by @gonX)

Mac OS:

At long last, we now have support for pen pressure on MacOS! This has been a long requested feature that is nice to finally have in our hands.

  • Support for emitting pressure and tilt for use in artist programs (#2894 by @AkiSakurai, backported in #3544 by @gonX)
  • Native MacOS timer support (#2342 by @AkiSakurai, backported in #3549 by @Mrcubix)
    • This means that async plugins (like interpolators) should have significantly lower CPU usage

Miscellaneous Changes

Below follows the autogenerated changelog, with some of the above changes removed for clarity.

Tablet Support

Added support

Improved detection

Improved support

Tilt

Auxiliary buttons

Other

Driver

Timer

MacOS pressure support

Misc

  • Fix regex escape on tempPath variable (#3217 by @jamesb...
Read more

OpenTabletDriver v0.6.4.0

22 Dec 19:05
9f4e357

Choose a tag to compare

!! For any users that encounter any problems with OpenTabletDriver's built-in updater, please manually download the update below instead. !!

Tablet Support

Added support

Improved detection

Improved feature support

Pen tilt

Mouse button

Other

Driver

Fix issues with relative mode still causing jumps (#3004 by @X9VoiD)

This hopefully fixes all reasons why cursor "jumps" (as if it's in absolute mode) in relative mode.

Fix some apps not behaving properly to cursor events in MacOS (#3051 by @chutneyio)

Some draggable elements are affected by this and is now actually draggable when using OpenTabletDriver.

Fix forward and backward mouse button bindings in Linux (#2306 by @gonX)

Improve driver detection logging (#2948 by @X9VoiD)

If a tablet driver is detected to be interfering with OpenTabletDriver, the user will now be notified of this issue.

Write logs to filesystem in real-time (#3100 by @X9VoiD)

Everything logged by OpenTabletDriver is now saved to <OTD_APPDATA>/Logs. OTD also doesn't consume infinite amounts of memory anymore just to keep logs in memory by making use of the log files.

Include device attributes to diagnostics (#3109 by @X9VoiD)

Diagnostics now include USB interface number, HID usage and report ID. This new information will be used in a future OpenTabletDriver release for even more reliable support to tablets!

User Experience

Window title no longer says 'No tablet detected' incorrectly (#3038 by @gonX)

Packaging

Remove dist macro in RPM release (#3115 by @hwsmm)

Our RPM releases support more than just Fedora. It works on most RPM-based distros like OpenSUSE,

Fix package install/uninstall getting stuck forever in some Linux machines (#3001 by @X9VoiD)

CI/Meta

Verify tablet configuration with JSON Schema (#3035 by @gonX)

Miscellaneous changes

Contributors

Thank you to everybody that contributed to this release!

Full Changelog: v0.6.3.0...v0.6.4.0

OpenTabletDriver v0.6.3.0

06 Sep 15:10
9302366

Choose a tag to compare

!! For any users that encounter any problems with OpenTabletDriver's built-in updater, please manually download the update below instead. !!

Tablet Support

These changes below were backported via #2776.

Added support

Improved support

Other

  • Fix rotation reports causing broken pressure, tilt, and pen buttons (#2737 by @Kuuuube)

Driver

Fix logging sending LogLevel.Error on non-fatal exceptions (#2820 by @X9VoiD)

This fixes issues related to osu! lazer's OTD implementation not working on some scenarios where standalone OTD does.

Fix try-catch not catching all JsonException (#2826 by @X9VoiD)

OpenTabletDriver will not crash anymore when loading invalid settings.

Handle binding before output (#2905 by @X9VoiD)

User Experience

Only allow a single instance of UX (#2828 by @X9VoiD)

Attempting to open another UX will bring up the existing one.

Remove Configuration Editor (#2883 by @X9VoiD)

This has been a pain point for a while now and adds significant code but almost nobody uses it and when they do it's just problems galore.

Not the fault of config editor, just that the only users of this feature are those that don't know how to actually make a tablet configuration. Those that do know just copies other configs as base and edits it as text. Doing it this way is actually faster and more convenient.

Use elevated daemon to update on some installations (#2877 by @X9VoiD)

Some users are, for some reason, putting OTD into a folder where the user itself has no write access to it. This change allows the daemon to request for elevated permissions to perform an update when needed. Applies to next update.

Actually prevent multiple invocations to Updater's Install button (#2825 by @X9VoiD)

Packaging

Source package for DEB/RPM (#2889 by @X9VoiD)

The packaging scripts were heavily improved and can now build source packages (tho not enabled by default).

Fix Release CI and Linux package issues (#2906 by @X9VoiD)

Fix parsing of linux-specific packaging options (#2821 by @X9VoiD)

Add generic packaging script and build support for musl (#2876 by @X9VoiD)

Miscellaneous changes

New Contributors

Full Changelog: v0.6.2.0...v0.6.3.0

OpenTabletDriver v0.6.2.0

25 Jun 21:04
a111cae

Choose a tag to compare

This new update includes many changes that should resolve issues that just recently occurred for users of Wacom tablets and also makes installing updates more reliable.

Though it should be noted that the update reliability fixes does not apply to 0.6.1.1 so the process updating from 0.6.1.1 to 0.6.2.0 might not be without trouble.

!! For any users that encounter any problems updating to 0.6.2.0, manually download the update below. !!

Driver

Fix device and touch report consuming timer polls (#2802 by @X9VoiD)

Users that experiences lower report rate when using an asynchronous filter (ex. hawku/devocub filters, any filter that has Frequency setting) should prioritize installing this update to recover full report rate.

Fix pipeline race condition (#2803 by @X9VoiD)

Weird issues where pen tip is stuck for example is fixed by this change.

Add fallback support when update install fails (#2804 by @X9VoiD)

Should fix most issues concerning updates failing to install, mostly on Windows machines.

Make daemon more resilient and less crash-y (#2808 and #2810 by @X9VoiD)

Fixes most crashes on startup resulting to "Fatal Error" messages showing up on UI. Daemon is hardened against errors occurring from loading invalid settings and plugins.

Packaging

Make rpm package compatible with openSUSE (#2813 by @X9VoiD)

openSUSE/SUSE users should now be able to run the following commands to install OpenTabletDriver without any error:

sudo zypper install OpenTabletDriver.rpm

assuming current working directory is set to where the rpm file is.

Smaller changes

Full Changelog: v0.6.1.1...v0.6.2.0

OpenTabletDriver v0.6.1.1

21 Jun 20:00

Choose a tag to compare

This is a hotfix for some Windows issues.

  • Flush SendInput only when dirty by @X9VoiD in #2795
  • Modify PowerThrottlingState only on Windows 11 by @X9VoiD in #2796
  • Assign name and do not publish release on tag by @X9VoiD in #2797

Full Changelog: v0.6.1...v0.6.1.1