Giter Site home page Giter Site logo

opentabletdriver / opentabletdriver Goto Github PK

View Code? Open in Web Editor NEW
2.5K 41.0 315.0 10.08 MB

Open source, cross-platform, user-mode tablet driver

Home Page: https://opentabletdriver.net/

License: GNU Lesser General Public License v3.0

C# 96.92% Shell 2.61% PowerShell 0.37% Batchfile 0.06% Makefile 0.04%
driver dotnet-core userspace-driver cross-platform csharp

opentabletdriver's Introduction

Actions Status CodeFactor Total Download Count

OpenTabletDriver

English | 한국어 | Español | Русский | 简体中文 | Français | Deutsch | Português-BR

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.

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.

Installation

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 platform1. 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 7 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

Run ./eng/linux/package.sh. If a "package" build is desired, there are official support for the following packaging formats:

Package Format Command
Generic binary tarball (.tar.gz) ./eng/linux/package.sh --package BinaryTarBall
Debian package (.deb) ./eng/linux/package.sh --package Debian
Red Hat package (.rpm) ./eng/linux/package.sh --package RedHat

The generic binary tarball is designed to be extracted from the root directory.

MacOS [Experimental]

Run ./eng/macos/package.sh --package true.

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.
  • 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.

opentabletdriver's People

Contributors

7mochi avatar abstractqbit avatar adryzz avatar airkek avatar akisakurai avatar biokax avatar cantgetin avatar dependabot-preview[bot] avatar extremeexploit avatar george-lewis avatar gonx avatar hwsmm avatar infinityghost avatar ivanoshechka avatar jamesbt365 avatar kuuuube avatar lavadesu avatar mechan1sm avatar mishterkirby avatar mrcubix avatar nenesekai avatar onicado avatar skyborgff avatar snowlire avatar sublimelime avatar tadeokondrak avatar vedxyz avatar vendicated avatar waitlamp avatar x9void avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opentabletdriver's Issues

[Detect:Error] Failed to get device input report length on XP-PEN G640

Description

Tablet worked pretty much plug and play, but when I run the tablet driver, I get [Detect:Error] Failed to get device input report length. Visit the wiki (https://github.com/InfinityGhost/OpenTabletDriver/wiki) for more information. The tablet still moves, but absolutely unrelated to the driver.
The udev edit mentioned in the FAQ is done btw.

I've waited some time, and recorded everything on /var/log/Xorg.0.log. These are the tablet related outputs it gave me, in case that it helps I'm pasting it below.

[ 53.567] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/event8)
[ 53.568] () XP-PEN STAR G640 Mouse: Applying InputClass "libinput pointer catchall"
[ 53.568] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Mouse'
[ 53.568] (
) XP-PEN STAR G640 Mouse: always reports core events
[ 53.568] () Option "Device" "/dev/input/event8"
[ 53.568] (
) Option "_source" "server/udev"
[ 53.628] (II) event8 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 53.628] (II) event8 - XP-PEN STAR G640 Mouse: device is a pointer
[ 53.628] (II) event8 - XP-PEN STAR G640 Mouse: device removed
[ 53.657] () Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-4/1-4:1.0/0003:28BD:0094.0003/input/input14/event8"
[ 53.657] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Mouse" (type: MOUSE, id 12)
[ 53.657] (
) Option "AccelerationScheme" "none"
[ 53.657] () XP-PEN STAR G640 Mouse: (accel) selected scheme none/0
[ 53.657] (
) XP-PEN STAR G640 Mouse: (accel) acceleration factor: 2.000
[ 53.657] () XP-PEN STAR G640 Mouse: (accel) acceleration threshold: 4
[ 53.720] (II) event8 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 53.720] (II) event8 - XP-PEN STAR G640 Mouse: device is a pointer
[ 53.722] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/mouse1)
[ 53.722] (II) No input driver specified, ignoring this device.
[ 53.722] (II) This device may have been added with another device file.
[ 53.723] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/event14)
[ 53.723] (
) XP-PEN STAR G640 Mouse: Applying InputClass "libinput pointer catchall"
[ 53.723] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Mouse'
[ 53.723] () XP-PEN STAR G640 Mouse: always reports core events
[ 53.723] (
) Option "Device" "/dev/input/event14"
[ 53.723] () Option "_source" "server/udev"
[ 53.727] (II) event14 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 53.727] (II) event14 - XP-PEN STAR G640 Mouse: device is a pointer
[ 53.727] (II) event14 - XP-PEN STAR G640 Mouse: device removed
[ 53.765] (
) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-4/1-4:1.0/0003:28BD:0094.0003/input/input15/event14"
[ 53.765] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Mouse" (type: MOUSE, id 13)
[ 53.765] () Option "AccelerationScheme" "none"
[ 53.765] (
) XP-PEN STAR G640 Mouse: (accel) selected scheme none/0
[ 53.765] () XP-PEN STAR G640 Mouse: (accel) acceleration factor: 2.000
[ 53.765] (
) XP-PEN STAR G640 Mouse: (accel) acceleration threshold: 4
[ 53.769] (II) event14 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 53.769] (II) event14 - XP-PEN STAR G640 Mouse: device is a pointer
[ 53.771] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/mouse4)
[ 53.771] (II) No input driver specified, ignoring this device.
[ 53.771] (II) This device may have been added with another device file.
[ 53.772] (II) config/udev: Adding input device XP-PEN STAR G640 Pen (/dev/input/event9)
[ 53.772] () XP-PEN STAR G640 Pen: Applying InputClass "libinput tablet catchall"
[ 53.772] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Pen'
[ 53.772] (
) XP-PEN STAR G640 Pen: always reports core events
[ 53.772] () Option "Device" "/dev/input/event9"
[ 53.772] (
) Option "_source" "server/udev"
[ 53.836] (II) event9 - XP-PEN STAR G640 Pen: is tagged by udev as: Tablet
[ 53.976] (II) event9 - XP-PEN STAR G640 Pen: tablet 'XP-PEN STAR G640 Pen' unknown to libwacom
[ 53.977] (II) event9 - XP-PEN STAR G640 Pen: device is a tablet
[ 53.977] (II) event9 - XP-PEN STAR G640 Pen: device removed
[ 54.005] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-4/1-4:1.1/0003:28BD:0094.0004/input/input16/event9"
[ 54.005] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Pen" (type: TABLET, id 14)
[ 54.072] (II) event9 - XP-PEN STAR G640 Pen: is tagged by udev as: Tablet
[ 54.074] (II) event9 - XP-PEN STAR G640 Pen: tablet 'XP-PEN STAR G640 Pen' unknown to libwacom
[ 54.074] (II) event9 - XP-PEN STAR G640 Pen: device is a tablet
[ 54.076] (II) config/udev: Adding input device XP-PEN STAR G640 Pen (/dev/input/mouse2)
[ 54.076] (II) No input driver specified, ignoring this device.
[ 54.076] (II) This device may have been added with another device file.

[ 1260.014] (II) libinput: XP-PEN STAR G640 Pen: needs a virtual subdevice
[ 1260.014] () XP-PEN STAR G640 Pen Pen (0): Applying InputClass "libinput tablet catchall"
[ 1260.014] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Pen Pen (0)'
[ 1260.014] (
) XP-PEN STAR G640 Pen Pen (0): always reports core events
[ 1260.014] () Option "Device" "/dev/input/event9"
[ 1260.014] (
) Option "_source" "_driver/libinput"
[ 1260.014] (II) libinput: XP-PEN STAR G640 Pen Pen (0): is a virtual subdevice
[ 1260.014] () Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-4/1-4:1.1/0003:28BD:0094.0004/input/input16/event9"
[ 1260.014] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Pen Pen (0)" (type: STYLUS, id 19)
[ 1260.015] (
) Option "AccelerationScheme" "none"
[ 1260.016] () XP-PEN STAR G640 Pen Pen (0): (accel) selected scheme none/0
[ 1260.016] (
) XP-PEN STAR G640 Pen Pen (0): (accel) acceleration factor: 2.000
[ 1260.016] (**) XP-PEN STAR G640 Pen Pen (0): (accel) acceleration threshold: 4

[ 11255.542] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/event7)
[ 11255.542] () XP-PEN STAR G640 Mouse: Applying InputClass "libinput pointer catchall"
[ 11255.542] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Mouse'
[ 11255.542] (
) XP-PEN STAR G640 Mouse: always reports core events
[ 11255.542] () Option "Device" "/dev/input/event7"
[ 11255.542] (
) Option "_source" "server/udev"
[ 11255.604] (II) event7 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 11255.604] (II) event7 - XP-PEN STAR G640 Mouse: device is a pointer
[ 11255.605] (II) event7 - XP-PEN STAR G640 Mouse: device removed
[ 11255.637] () Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.0/0003:28BD:0094.0001/input/input17/event7"
[ 11255.637] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Mouse" (type: MOUSE, id 11)
[ 11255.638] (
) Option "AccelerationScheme" "none"
[ 11255.638] () XP-PEN STAR G640 Mouse: (accel) selected scheme none/0
[ 11255.638] (
) XP-PEN STAR G640 Mouse: (accel) acceleration factor: 2.000
[ 11255.638] () XP-PEN STAR G640 Mouse: (accel) acceleration threshold: 4
[ 11255.700] (II) event7 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 11255.700] (II) event7 - XP-PEN STAR G640 Mouse: device is a pointer
[ 11255.702] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/mouse0)
[ 11255.702] (II) No input driver specified, ignoring this device.
[ 11255.702] (II) This device may have been added with another device file.
[ 11255.704] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/event17)
[ 11255.704] (
) XP-PEN STAR G640 Mouse: Applying InputClass "libinput pointer catchall"
[ 11255.704] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Mouse'
[ 11255.704] () XP-PEN STAR G640 Mouse: always reports core events
[ 11255.704] (
) Option "Device" "/dev/input/event17"
[ 11255.704] () Option "_source" "server/udev"
[ 11255.707] (II) event17 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 11255.708] (II) event17 - XP-PEN STAR G640 Mouse: device is a pointer
[ 11255.708] (II) event17 - XP-PEN STAR G640 Mouse: device removed
[ 11255.737] (
) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.0/0003:28BD:0094.0001/input/input18/event17"
[ 11255.737] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Mouse" (type: MOUSE, id 12)
[ 11255.737] () Option "AccelerationScheme" "none"
[ 11255.737] (
) XP-PEN STAR G640 Mouse: (accel) selected scheme none/0
[ 11255.737] () XP-PEN STAR G640 Mouse: (accel) acceleration factor: 2.000
[ 11255.737] (
) XP-PEN STAR G640 Mouse: (accel) acceleration threshold: 4
[ 11255.741] (II) event17 - XP-PEN STAR G640 Mouse: is tagged by udev as: Mouse
[ 11255.742] (II) event17 - XP-PEN STAR G640 Mouse: device is a pointer
[ 11255.743] (II) config/udev: Adding input device XP-PEN STAR G640 Mouse (/dev/input/mouse4)
[ 11255.743] (II) No input driver specified, ignoring this device.
[ 11255.743] (II) This device may have been added with another device file.
[ 11255.745] (II) config/udev: Adding input device XP-PEN STAR G640 Pen (/dev/input/event8)
[ 11255.745] () XP-PEN STAR G640 Pen: Applying InputClass "libinput tablet catchall"
[ 11255.745] (II) Using input driver 'libinput' for 'XP-PEN STAR G640 Pen'
[ 11255.745] (
) XP-PEN STAR G640 Pen: always reports core events
[ 11255.745] () Option "Device" "/dev/input/event8"
[ 11255.745] (
) Option "_source" "server/udev"
[ 11255.812] (II) event8 - XP-PEN STAR G640 Pen: is tagged by udev as: Tablet
[ 11255.826] (II) event8 - XP-PEN STAR G640 Pen: tablet 'XP-PEN STAR G640 Pen' unknown to libwacom
[ 11255.826] (II) event8 - XP-PEN STAR G640 Pen: device is a tablet
[ 11255.826] (II) event8 - XP-PEN STAR G640 Pen: device removed
[ 11255.877] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.1/0003:28BD:0094.0002/input/input19/event8"
[ 11255.877] (II) XINPUT: Adding extended input device "XP-PEN STAR G640 Pen" (type: TABLET, id 13)
[ 11255.944] (II) event8 - XP-PEN STAR G640 Pen: is tagged by udev as: Tablet
[ 11255.946] (II) event8 - XP-PEN STAR G640 Pen: tablet 'XP-PEN STAR G640 Pen' unknown to libwacom
[ 11255.946] (II) event8 - XP-PEN STAR G640 Pen: device is a tablet
[ 11255.947] (II) config/udev: Adding input device XP-PEN STAR G640 Pen (/dev/input/mouse1)
[ 11255.947] (II) No input driver specified, ignoring this device.
[ 11255.947] (II) This device may have been added with another device file.

System Information:

Option Value
Operating System Pop OS 19.10 (DE: KDE Plasma 5.16.5)
Software Version 0.1.1-rc1
Tablet XPPEN G640

Abnormal CPU usage when tablet is (dis)connected after startup

Description

After opening OpenTabletDriver without a tablet connected, manually connecting it afterwards will cause the CPU usage to jump to 100% and persist until closed.
Opening OpenTabletDriver with a tablet connected and disconnecting the tablet afterwards will also cause the same issue.
image

System Information:

Option Value
Operating System Arch Linux
Software Version 0.1.0-4eff49e4
Tablet Gaomon S620

Incorrect clipping with absolute mode.

Description

Tablet area clipping goes out of bounds (to the screen it's not supposed to go) with an area <152mm (aka full area) when locked to one screen.
Attached is the full debug output with a 118mm area set, locked aspect ratio.

Extract from the output:

[Normal:Report]    Lift:120, Position:[0,9254], Pressure:0, PenButtons:[False False]
[Normal:Debug]    Cursor Position: 1643.3899,1290.1017
[Normal:Report]    Lift:120, Position:[15087,5205], Pressure:0, PenButtons:[False False]
[Normal:Debug]    Cursor Position: 4099.2,613.70844

System Information:

Option Value
Operating System Linux
Software Version latest git from the plugins branch
Tablet CTL-480

NullRef on DeviceReader.Dispose()

Description

Driver throws NullReferenceException on DeviceReader.Dispose()

System Information:

Option Value
Operating System Windows 10

Hey there I'm using an XP PEN G640 tablet, doesn't seem to work for me :/

I don't know if the fact that I have this tablet can be any helpful to you, I appreciate that you are working on this driver and wish you the best through this process.

I have installed the digimend drivers before trying this one out, maybe they are mutually incompatible?

(Kind of new to this git hub thing, not sure if this is the right place)

cursor glitched

Description

the cursor sometime glitch
i cant fc any song ;(
https://youtu.be/fHUvO4to5hk

System Information:

Option Value
Operating System Windows 10 Home
Software Version 0.2.0--rc1
Tablet Wacom CTL-471

de-AIDS the zip

good god please what the fuck is this directory structure

HidDeviceStream fails to open: Wacom CTL-480 on Windows

Exception has occurred: CLR/HidSharp.Exceptions.DeviceIOException
An unhandled exception of type 'HidSharp.Exceptions.DeviceIOException' occurred in HidSharp.dll: 'Unable to open HID class device (\\?\hid#vid_056a&pid_030e&mi_02#8&123e7efa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}).'
   at HidSharp.Platform.Windows.WinHidStream.Init(String path)
   at HidSharp.Platform.Windows.WinHidDevice.OpenDeviceDirectly(OpenConfiguration openConfig)
   at HidSharp.Device.OpenDeviceAndRestrictAccess(OpenConfiguration openConfig)
   at HidSharp.Device.Open(OpenConfiguration openConfig)
   at HidSharp.Device.Open()
   at HidSharp.HidDevice.Open()

App crash when there is no tablet connected

Description

When I open the application and there is no tablet connected it crashes.
Crash log

System Information:

Option Value
Operating System Windows 7 Ultimate 64 bits
Software Version 0.1.1-894eb0e
Tablet Wacom CTH-470

System.InvalidOperationException on Settings Deserialization

Description

Settings serialization does not fully overwrite the file

Application: OpenTabletDriverGUI.exe
CoreCLR Version: 4.700.19.46205
.NET Core Version: 3.0.0
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException: There is an error in XML document (20, 17).
 ---> System.Xml.XmlException: Data at the root level is invalid. Line 20, position 17.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.Throw(String res)
   at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReader.Read()
   at System.Xml.XmlReader.ReadEndElement()
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read4_Settings(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read5_Configuration()
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
   at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)
   at OpenTabletDriverGUI.Models.Settings.Deserialize(FileInfo file)
   at OpenTabletDriverGUI.ViewModels.MainWindowViewModel.Initialize()
   at OpenTabletDriverGUI.App.OnFrameworkInitializationCompleted()
   at Avalonia.Controls.AppBuilderBase`1.Setup()
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at OpenTabletDriverGUI.Program.Main(String[] args)

Tablet not getting detected

Tablet is not getting detected due to this error

[Error:HidSharp.Exceptions.DeviceIOException] Unable to open HID class device (OK).

Operating System | kubuntu 19.10 x86_64
Software Version | 0.2.0-rc1
Tablet | CTL-471

Veikk S640 Hoverheight might be set to a wrong value

Description

Using OTD with my Veikk S640, have to set hoverheight to 0-79 (79 being the highest value it works with) to have it work.

System Information:

Option Value
Operating System Windows
Software Version latest git from the plugins branch
Tablet Veikk S640

OTD does not detect Gaomon S620 under Pop!OS 20.04 LTS

Description

Hello,
i tried to run OTD under my installation of PopOS two ways :

  • The first one, through the official release, 2.0-RC1, with the .deb package. However, i wasn't able to get my tablet to be detected, so i headed to the discord for some help with troubleshooting. I tried disabling hid-uclogic module, but unfortunately, it just stops every USB device plugged into my computer, so i can't really do much.

  • The second one, through the artifact linked below, which didn't worked either. First, i had to run the daemon with sudo, but it always spat out this error :

[Normal:Detect]	Searching for tablet 'Gaomon S620'
[Error:System.ArgumentOutOfRangeException]	Value range is [0, 15]. (Parameter 'value')
   at HidSharp.Reports.Units.Unit.DecodeExponent(UInt32 value)
   at HidSharp.Reports.ReportDescriptor.ParseMainData(MainItemTag tag, UInt32 value)
   at HidSharp.Reports.ReportDescriptor.ParseMain(MainItemTag tag, UInt32 value)
   at HidSharp.Reports.ReportDescriptor.ParseEncodedItem(EncodedItem item)
   at HidSharp.Reports.ReportDescriptor.ParseEncodedItems(IEnumerable`1 items)
   at HidSharp.Reports.ReportDescriptor.ParseRawReportDescriptor(Byte[] buffer)
   at HidSharp.Reports.ReportDescriptor..ctor(Byte[] buffer)
   at HidSharp.Platform.Linux.LinuxHidDevice.TryParseReportDescriptor(ReportDescriptor& parser, Byte[]& reportDescriptor)
   at HidSharp.Platform.Linux.LinuxHidDevice.RequiresGetInfo()
   at HidSharp.Platform.Linux.LinuxHidDevice.GetMaxInputReportLength()
   at TabletDriverLib.Driver.<>c__DisplayClass25_0.<TryMatchTablet>b__2(HidDevice device) in /home/runner/work/OpenTabletDriver/OpenTabletDriver/TabletDriverLib/Driver.cs:line 90
   at System.Linq.Utilities.<>c__DisplayClass1_0`1.<CombinePredicates>b__0(TSource x)
   at System.Linq.Utilities.<>c__DisplayClass1_0`1.<CombinePredicates>b__0(TSource x)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.GetCount(Boolean onlyIfCheap)
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   at TabletDriverLib.Driver.TryMatchTablet(TabletProperties tablet, HidDevice& tabletDevice, IReportParser`1& parser) in /home/runner/work/OpenTabletDriver/OpenTabletDriver/TabletDriverLib/Driver.cs:line 94
   at TabletDriverLib.Driver.TryMatch(TabletProperties tablet) in /home/runner/work/OpenTabletDriver/OpenTabletDriver/TabletDriverLib/Driver.cs:line 41
[Error:Detect]	Failed to get device.https://github.com/InfinityGhost/OpenTabletDriver/wiki/Linux-FAQ#notice-for-uclogic-tablet-owners

Launching the GTK, i tried to detect my tablet, but it spat out this error :
[Normal:Detect] Configuration directory '/home/myuname/Téléchargements/OTD/OpenTabletDriver.Daemon/bin/Release/netcoreapp3.1/linux-x64/publish/Configurations' does not exist.
even though my Configurations folder exists at this path.

System Information:

Operating System | Pop!OS 20.04 LTS
Software Version | https://github.com/InfinityGhost/OpenTabletDriver/suites/874418404/artifacts/10205061
Tablet | Gaomon S620

Pressing the pen onto the tablet stops mouse movement until the pen is lifted again

Description

Pressing the pen onto the tablet stops mouse movement until the pen is lifted again. I don't even know if it's a feature or a bug, because I suppose this is useful for people who use their pen like a computer mouse. It's unwanted behavior for many other use cases though.

It would be good to be able to toggle this behavior.

System Information:

Option Value
Operating System Arch (Antergos) Linux x64, KDE
Software Version v0.2.0-rc1
Tablet Wacom PTH-451

Cancelling Save All in configuration manager throws ArgumentException

Description

Crash when cancelling Save All in configuration manager

1/12/2020 2:41:23 AM: System.ArgumentException: The path is empty. (Parameter 'path')
   at System.IO.Path.GetFullPath(String path)
   at OpenTabletDriver.ViewModels.ConfigurationManagerViewModel.SaveAll()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_0(Object state)
   at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0()
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority)
   at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at OpenTabletDriver.Program.Main(String[] args)1/12/2020 2:41:23 AM: System.ArgumentException: The path is empty. (Parameter 'path')
   at System.IO.Path.GetFullPath(String path)
   at OpenTabletDriver.ViewModels.ConfigurationManagerViewModel.SaveAll()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_0(Object state)
   at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0()
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority)
   at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at OpenTabletDriver.Program.Main(String[] args)

System Information:

Option Value
Operating System Windows 10
Software Version a4e0cfd

gaomon s620 ubuntu

can i install drivers on gaomon s620 on ubuntu 18.04 using your opentabletdriver?

Can't use my tablet in OneNote + no pen pressure in Photoshop

Description

Tablet works fine in Osu. I cannot use it in OneNote or Windows Ink Sketchpad as it detects it as mouse? and I cannot draw. It works in Photoshop except there is no pen pressure. How can I fix this? Or is it by design (that the drivers only work in osu)?

edit: I believe this is may be caused by the fact the Windows Ink is disabled in these drivers? If that's the case, is there a way to disable/enable them by application (or to disable it for osu but enable it for everything else)?

System Information:

Option Value
Operating System Windows 10 x64
Software Version 0.2.0-rc1
Tablet Gaomon S620

Add the need to unload the "wacom" driver to the Linux wiki

Description

For the best experience, specially on dual screen systems, I noticed unloading the "wacom" driver gives a way, way smoother experience and avoids the "ghost cursor" that appears on the other screen.
Basically sudo rmmod wacom.
I just made a small bash script to run before OpenTabletDriver but I guess it could be added to the wiki.

You can also add a blacklist rule in /etc/modprobe.d/

System Information:

Option Value
Operating System Linux
Software Version v0.1.0-rc1
Tablet CTL-480

[CTL 470] Tablet not found (Linux)

Description

The tablet isnt detected.

Once it gets to the correct tablet, i get following error:

[Time] | DeviceIOException | Unable to open HID class device (OK)

System Information:

Option Value
Linux Manjaro 18.1.5 KDE Plasma / 5.4.13-3-MANJARO
Software Version 0.1.0-rc1
Tablet CTL 470

Add Status Bar Icon

Description

Status bar icon to hide and show the window, along with other various functions.

Configuration overall does nothing (gaomon s620)

Description

Configuration overall does nothing.
uninstalled the OEM drivers, rebooted, the tablet work, this tool now detect my tablet, but when i edit anything, it just doesn't work after applying them.
It's possible however that i'm missing some step in the driver installation, cause you had to install a vmulti driver with the hawku one's

System Information:

Option Value
Operating System Windows 8.1 x64
Software Version 0.20--rc1
Tablet Gaomon s620

Windows: Clicking "Repository" textbox in About Window Win32Exception

Description

Crash on click repository in About

12/3/2019 9:17:27 PM: System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(String fileName)
   at OpenTabletDriverGUI.Views.About.OpenRepoUrl()
   ...

System Information:

Option Value
Operating System Windows 10
Software Version 0.1.0-a3f477
Tablet Wacom CTL-480

XP-Pen G640 cannot be opened

Description

Trying to use an XP-Pen G640 tablet results in a DeviceIOException stating that the device cannot be opened.

Screenshot

System Information:

Option Value
Operating System Windows 10
Software Version 0.1.0-1301bbb
Tablet XP-Pen G640

Tablet Area and Display Area Settings not being applied

Description

CTH 470 is being detected according to the console logs however when changing the tablet area on the software and applying the settings, tablet area does not change regardless of the console logs saying that the settings that I had configured had been applied.

Also, I have tried changing the display area and that setting is not applied as well when testing it out with my tablet.

System Information:

Operating System | Ubuntu 18.04.3 LTS (Bionic Beaver)
Software Version | v0.1.0-rc1
Tablet | CTH 470

CTH-470 only reads touch inputs

Description

CTH-470 is detected but only reads touch inputs.

System Information:

Option Value
Software Version git-master
Tablet CTH-470

Gaomon S620 Report Rate

Description

Using OpenTabletDriver I get constant 144hz on zowie's mouse-rate-checker website (https://zowie.benq.com/ja/support/mouse-rate-checker.html). When using either the default Gaomon drivers or the fork of hawku's TabletDriver, I get around 266hz. Unsure if this is intentional for OTD or bugged on my end. This hasn't really affected my gameplay (maybe better/faster osu! players might notice it), but still curious on why this happens.

System Information:

Option Value
Operating System Windows 10
Software Version OTD v0.2.0-rc1
Tablet Gaomon S620

Windows: Display Size Improperly Calculated

Description

Display size is dependent on monitor count, width is added together and height is added together resulting in incorrect width and height on display area.

System Information:

Option Value
Operating System Windows 10

G640: Failed to open tablet.

Description

[Error:Detect] Failed to open tablet. Make sure you have required permissions to open device streams.
[Error:Detect] HidSharp.Exceptions.DeviceIOException: Unable to open HID class device (\?\hid#vid_28bd&pid_0914&mi_00&col03#9&7e5db84&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd).
at HidSharp.Platform.Windows.WinHidStream.Init(String path)
at HidSharp.Platform.Windows.WinHidDevice.OpenDeviceDirectly(OpenConfiguration openConfig)
at HidSharp.Device.OpenDeviceAndRestrictAccess(OpenConfiguration openConfig)
at HidSharp.Device.Open(OpenConfiguration openConfig)
at HidSharp.Device.TryOpen(OpenConfiguration openConfig, DeviceStream& stream, Exception& exception); Retrying 1 more times

System Information:

------------------|------------------
Operating System | 10
Software Version | v0.2.0-rc1
Tablet | G640

Multiple MainWindows appear on startup

Description

Multiple MainWindows appear on startup
Edit: This only occurs when default settings are used.
windows

System Information:

Option Value
Operating System Windows 10
Software Version 0.1.0-781f731
Tablet N/A

Add the ability to select a single screen.

Description

In dual monitor systems, you have to play with the size/offset X to get a proper tablet area. Would be nice if there could be an option to map the output to a single screen just like in the mainline wacom driver.

Driver output doesn't position cursor with driver enabled

Description

I read Wiki, so I installed xp-pen driver but Cursor do not move.
would you help me ?
(already changed ProductID and ReportLength)
1
2
3

System Information:

Option Value
Operating System Windows 10
Software Version v0.1.0-rc1
Tablet XP-Pen Deco 01 v2

It can't detect XP-PEN G430S

Description

I started driver and clicked "detect" but it doesn't work, terminal says "Can't detect"

System Information:

Option Value
Operating System Manjaro XFCE 20
Software Version v0.2.0 (aur version)
Tablet XP-PEN G430S

CTL-480 not detected when using a USB extension cable

Description

When I put the extension cable in, connection goes bye-bye.

System Information:

Option Value
Operating System Arch Linux x86_64 running gnome-xorg
Software Version 0.1.0? latest from AUR
Tablet CTL-480

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.