https://github.com/OpenTabletDriver/OpenTabletDriver Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Changelog * Solutions + By Size + Enterprise + Teams + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} OpenTabletDriver / OpenTabletDriver Public * * Notifications * Fork 203 * Star 1.5k Open source, cross-platform, user-mode tablet driver opentabletdriver.net/ License LGPL-3.0 license 1.5k stars 203 forks Star Notifications * Code * Issues 174 * Pull requests 38 * Discussions * Actions * Projects 1 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights OpenTabletDriver/OpenTabletDriver This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 6 branches 24 tags Code * Clone HTTPS GitHub CLI [https://github.com/O] Use Git or checkout with SVN using the web URL. [gh repo clone OpenTa] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @InfinityGhost InfinityGhost Merge pull request #2403 from Sublimelime/ add-more-to-buildsh ... 85eb001 Sep 8, 2022 Merge pull request #2403 from Sublimelime/add-more-to-buildsh Add more user guidance to build.sh and generate-rules.sh 85eb001 Git stats * 3,560 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Fix labeler event fail Aug 26, 2022 OpenTabletDriver.Benchmarks Fix PluginSettingsEditor synchronization Jul 26, 2022 OpenTabletDriver.Configurations Lint configurations via jq Sep 3, 2022 OpenTabletDriver.Console Fix PluginSettingsEditor synchronization Jul 26, 2022 OpenTabletDriver.Daemon Implement Settings migration Aug 21, 2022 OpenTabletDriver.Desktop Fixed windows key mappings Aug 28, 2022 OpenTabletDriver.Native Enable nullable context in all projects Jul 24, 2022 OpenTabletDriver.Tests Fix PluginSettingsEditor synchronization Jul 26, 2022 OpenTabletDriver.Tools.udev Fix PluginSettingsEditor synchronization Jul 26, 2022 OpenTabletDriver.UX.Gtk Improve native styling Aug 21, 2022 OpenTabletDriver.UX.MacOS Improve native styling Aug 21, 2022 OpenTabletDriver.UX.Wpf Improve native styling Aug 21, 2022 OpenTabletDriver.UX Merge pull request #2399 from InfinityGhost/feature/plugin-manager/ us... Aug 27, 2022 OpenTabletDriver Merge pull request #1 from gonX/gonx-di Aug 6, 2022 docs Resolve merge conflicts Apr 24, 2022 .editorconfig EditorConfig: Expand C# formatting ruleset Jan 7, 2022 .gitattributes Initial commit Sep 30, 2019 .gitignore Merge udev utility project Jun 7, 2021 CONTRIBUTING.md Change IDE list into bulleted list Mar 4, 2022 Directory.Build.props Dependency Injection Rewrite Jul 20, 2022 LICENSE Update LICENSE Nov 28, 2020 OpenTabletDriver.Linux.slnf Dependency Injection Rewrite Jul 20, 2022 OpenTabletDriver.MacOS.slnf Dependency Injection Rewrite Jul 20, 2022 OpenTabletDriver.Windows.slnf Dependency Injection Rewrite Jul 20, 2022 OpenTabletDriver.sln Dependency Injection Rewrite Jul 20, 2022 README.md Resolve merge conflicts Apr 24, 2022 TABLETS.md Fix TABLETS.md inconsistencies Sep 4, 2022 build.ps1 Add verbosity argument to windows build script Aug 27, 2022 build.sh Wildcard number at beginning of rules file name Aug 27, 2022 generate-rules.sh Add post-op instructions to generate-rules.sh Aug 26, 2022 nuget.config Explicitly define nuget source to fix Windows CI Apr 12, 2021 View code [ ] OpenTabletDriver Supported Tablets Installation Running OpenTabletDriver binaries Building OpenTabletDriver from source All platforms Windows Linux MacOS [Experimental] Features Contributing to OpenTabletDriver Supporting a new tablet README.md Actions Status CodeFactor Total Download Count OpenTabletDriver English | hangugeo | Espanol | Russkii | Jian Ti Zhong Wen | Francais | Deutsch OpenTabletDriver is an open source, cross platform, user mode tablet driver. The goal of OpenTabletDriver is to be cross platform as possible with the highest compatibility in an easily configurable graphical user interface. [68747470733a2f2f692e696d6775722e636f6d2f584459663632652e7] [68747470733a2f2f692e696d6775722e636f6d2f6a4257384e70552e7] [68747470733a2f2f692e696d6775722e636f6d2f5a4c437936777a2e7] Supported Tablets All statuses of tablets that are supported, untested, and planned to be supported can be found here. Common issue workarounds can be found in the wiki for your platform. * Supported Tablets Installation * Windows * Linux * MacOS Running OpenTabletDriver binaries OpenTabletDriver functions as two separate processes that interact with each other seamlessly. The active program that does all of the tablet data handling is OpenTabletDriver.Daemon, while the GUI frontend is OpenTabletDriver.UX.*, where * depends on your platform^ 1. The daemon must be started in order for anything to work, however the GUI is unnecessary. If you have existing settings, they should apply when the daemon starts. ^1Windows uses Wpf, Linux uses Gtk, and MacOS uses MacOS respectively. This for the most part can be ignored if you don't build it from source as only the correct version will be provided. Building OpenTabletDriver from source The requirements to build OpenTabletDriver are consistent across all platforms. Running OpenTabletDriver on each platform requires different dependencies. All platforms * .NET 6 SDK (can be obtained from here - You want the SDK for your platform, Linux users should install via package manager where possible) Windows Run build.ps1 to produce binary builds to 'bin' folder. These builds will run in portable mode by default. Linux Required packages (some packages may be pre-installed for your distribution) * libx11 * libxrandr * libevdev2 * GTK+3 To build on Linux, run the provided 'build.sh' file. This will run the same 'dotnet publish' commands used for building the AUR package, and will produce usable binaries in 'OpenTabletDriver/bin'. To build on ARM linux, run the provided 'build.sh' file with the appropriate runtime provided as an argument. For arm64, this is 'linux-arm64'. Note: If building for the first time, run the included generate-rules.sh script. This will generate a set of udev rules in OpenTabletDriver/bin, called '99-opentabletdriver.rules'. This file should then be moved to /etc/udev/rules.d/: sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/ MacOS [Experimental] No other dependencies. Features * Fully platform-native GUI + Windows: Windows Presentation Foundation + Linux: GTK+3 + MacOS: MonoMac * Fully fledged console tool + Quickly acquire, change, load, or save settings + Scripting support (json output) * Absolute cursor positioning + Screen area and tablet area + Center-anchored offsets + Precise area rotation * Relative cursor positioning + px/mm horizontal and vertical sensitivity * Pen bindings + Tip by pressure bindings + Express key bindings + Pen button bindings + Mouse button bindings + Keyboard bindings + External plugin bindings * Saving and loading settings + Auto-loads user settings via settings.json in the active user %localappdata% or .config settings root directory. * Configuration Editor + Allows you to create, modify, and delete configurations. + Generate configurations from visible HID devices * Plugins + Filters + Output modes + Tools Contributing to OpenTabletDriver If you wish to contribute to OpenTabletDriver, check out the issue tracker. When creating pull requests, follow the guidelines outlined in our contribution guidelines. If you have any issues or suggestions, open an issue ticket and fill out the template with relevant information. We welcome both bug reports, as well as new tablets to add support for. In many cases adding support for a new tablet is quite easy. For issues and PRs related to OpenTabletDriver's packaging, please see the repository here. For issues and PRs related to OpenTabletDriver's web page, see the repository here. Supporting a new tablet If you'd like us to add support for a new tablet, open an issue or join our discord asking for support. We generally prefer that adding support for a tablet be done through discord, due to the back-and-forth involved. We'll have you do a few things like making a recording of the data sent by your tablet using our built-in tablet debugging tool, testing features of the tablet (on-tablet buttons, pen buttons, pen pressure, etc) with different configs we'll send you to try. You're also of course welcome to open a PR adding support for it yourself, if you have a good grasp on what's involved. Generally this process is relatively easy, especially if it's for a tablet manufacturer we already have support for on other tablets. About Open source, cross-platform, user-mode tablet driver opentabletdriver.net/ Topics csharp cross-platform driver dotnet-core userspace-driver Resources Readme License LGPL-3.0 license Stars 1.5k stars Watchers 37 watching Forks 203 forks Releases 24 v0.6.0.4 Latest May 4, 2022 + 23 releases Sponsor this project * patreon patreon.com/infinityghost * ko_fi ko-fi.com/infinityghost Packages 0 No packages published Contributors 75 * @InfinityGhost * @X9VoiD * @jamesbt365 * @AbstractQbit * @Kuuuube * @Sublimelime * @gonX * @Mrcubix * @vedattt * @SnowLire * @dependabot-preview[bot] + 64 contributors Languages * C# 99.5% * Other 0.5% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.