Coder Social home page Coder Social logo

kurikaesu / userspace-tablet-driver-daemon Goto Github PK

View Code? Open in Web Editor NEW
62.0 4.0 16.0 477 KB

Linux device drivers for non-wacom (XP-Pen, Huion, Gaomon) graphics tablets and pen displays

License: GNU General Public License v3.0

CMake 0.36% C++ 99.43% C 0.21%
linux graphics-tablet drivers xp-pen huion gaomon

userspace-tablet-driver-daemon's Introduction

Kuri's Linux user-space graphics tablet driver daemon

This repo currently houses a command-line only utility that creates a user-space driver for the following supported models:

  • XP-Pen Artist 24 Pro
  • XP-Pen Artist 22E Pro
  • XP-Pen Artist 22R Pro
  • XP-Pen Artist 16 Pro
  • XP-Pen Artist Pro 16TP
  • XP-Pen Artist Pro 16
  • XP-Pen Artist 13.3 Pro
  • XP-Pen Artist 12 Pro
  • XP-Pen Artist 12 (2nd Gen)
  • XP-Pen Innovator 16
  • XP-Pen Deco Pro S (Use GUI to switch touch-pad modes)
  • XP-Pen Deco Pro M / MW (Use GUI to switch touch-pad modes)
  • XP-Pen Deco 01v2
  • XP-Pen Deco 02
  • XP-Pen Deco 03
  • XP-Pen Deco Large
  • XP-Pen Deco mini7/mini7w
  • XP-Pen Star G430S
  • XP-Pen Star G640
  • XP-Pen AC19 Shortcut Remote
  • Huion Kamvas Pro 13
  • Huion WH1409 v2
  • Huion WH1409 (2048 pressure level version)
  • Huion H1161
  • Huion KD100 mini Keydial
  • Gaomon M10K Pro
  • Gaomon M10K 2018

There is an untested generic XP-Pen tablet driver that should work for the majority of devices that aren't officially supported.

If you test your device against this generic driver and find that it works, please create an issue and provide the device ID for your device, its name and preferrably a link to the product page. If your device only partially works, we will be interested in knowing that too.


How to change bindings

Preferred way is to use the GUI: https://github.com/kurikaesu/userspace-tablet-driver-gui You can change bindings manually by changing the JSON config but the format is currently changing too quickly to make effective documentation.

To-do:

  • Officially support more devices
  • Provide a way to set up calibrate pressure curves through the GUI in a user friendly way.

Warning

  • This includes a 70-uinput-plugdev.rules file that gives users on your computer that are in the plugdev permission group access to uinput without SUDO. This is how I can make this driver run without having the user constantly enter their password each time.

Installing

For debian based distributions, download the deb package from the list of releases. The deb package can be installed with sudo dpkg -i <package_name.deb>

If you use an Arch-based distro, you can install the package from the AUR. There are two versions, one unstable and one stable.

The unstable version can be installed with:

yay -S userspace-tablet-driver-daemon-git

The stable (release) version can be installed with:

yay -S userspace-tablet-driver-daemon

Building

This uses cmake to generate the required makefiles so make sure to have that installed. On debian/ubuntu systems it can be done by: sudo apt install cmake

With cmake installed it is a matter of:

git clone https://github.com/kurikaesu/userspace-tablet-driver-daemon.git
cd userspace-tablet-driver-daemon
cmake .
make
sudo make install

The first time you sudo make install you will need to trigger the udev rule changes in order for the driver to work. This can be done with:

sudo udevadm trigger

I would suggest running the command userspace_tablet_driver_daemon from the terminal first and watching the output to see if things are broken before having your desktop environment auto-start the application on login.

Changing which display the device is mapped to

Use xinput in order to configure this:

xinput map-to-output <xinput device name> <xrandr-monitor-name>

You can get the monitor name by:

xrandr --listmonitors

It will show something like eDP-1 or HDMI-A-0

Gnome under wayland without X11

Unfortunately at the moment I do not know how to change the display mapping when using Gnome under wayland as I can't find any documentation on how to instruct the compositor mutter to do so.

KDE under wayland without X11

This is the same situation as the Gnome desktop environment. There is work to add a new KCM to support libinput graphics tablets but it is not complete. See: https://phabricator.kde.org/T14971

Contributing

Should you want to contribute there are a few ways to do so:

  • Testing the driver on your Linux distribution. If it doesn't work, cut me an issue.
  • Fix an open issue and send me a pull-request (If needed)
  • Implement support for your tablet if you are able to. Otherwise,
  • Lend me your tablet so that I can do the implementation or
  • Buy the tablet for me from my wishlist: https://www.amazon.com/hz/wishlist/ls/10J2MJJPCC2JF?ref_=wl_share
  • If you think a tablet should be on my wishlist, but it isn't, let me know!
  • Add suggestions to the issues. We can discuss their feasibility and at what milestones we should aim for.

userspace-tablet-driver-daemon's People

Contributors

allo- avatar cstrahan-blueshift avatar dablumer avatar folliehiyuki avatar fxuz avatar jacobhawkins495 avatar kanashimia avatar kurikaesu avatar mknj avatar psandro avatar retrotails avatar rexy712 avatar silmathoron avatar thelastbilly 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

Watchers

 avatar  avatar  avatar  avatar

userspace-tablet-driver-daemon's Issues

Prepping for 0.1.4 release

Scheduling this release for Saturday the 19th February which should provide enough time to push fixes for any issues introduced in the last few commits.

Report

First - XP-Pen Deco Pro M works with this driver, no problema were found after you fixed hotplug issue.

Second - this driver seems to require uinput module to be loaded manually, otherwise you need to start driver as root. Other than modalias i think one can load modules through udev and kmod builtin.

X.Org conf files seems to have wrong pids for all models - why?

Why does xev report codes that are 8 higher than what config of this driver uses?

Also can you please rename MD to M and SM to S both in this userspace driver, and digimend PR, that is the model name, it was confusing why S was SM, as if it was for both S and M, also there are new SW and MW models, if one adds support for them - would be even more confusing.

There also were problems with config util, i use dvorak layout, and it doesn't follow it, and i wasn't being able to package that stuff for nixos, albeit was being able to run it, seems that setuptools config was wrong? I'm not that familiar with python to tell why. And there are alot of code duplication there.
I will try to write my own config util, pretty trivial it seems.

There are two problems with CMakeLists:

  1. cmake requirement is TOO new
  2. It should have ${CMAKE_CURRENT_SOURCE_DIR}/LICENCE instead of LICENCE otherwise won't build

Finally i would personally prefer if wheel in digimend with wacom driver worked, instead of using this, so i only have to touch xsetwacom.

Test on XP-Pen 22E Pro, pen not working

Hi there, I'm trying to adapt your code to support the XP-Pen 22E Pro tablet.

I did the following:

  • create artist_22e_pro.cpp/h (copy from 22r and set correct device code, 2315)
  • update xp_pen_handler.cpp
  • update CMakeLists.txt

I compiled and ran the daemon, then plugging the tablet I get the following:

Listening on socket ~/.local/var/run/userspace_tablet_driver_daemon.sock
xp_pen_handler initialized
huion_handler initialized
Got hotplug event
Handling XP-Pen Artist 22E Pro
Sending init key on endpont 3
Setup completed on interface 2
Set up config for device 2315
Got hotplug event

All buttons seem to work fine but the pen does not seem to be handled correctly (neither hovering, pressure, nor buttons lead to any action).
I know the pen works because I can use it with the XP-Pen driver (but their driver sucks, so I wanted to try with your code).

Is there something obvious I forgot that could explain why the pen is not recognized?

Need a tool to provide USB dump information for new devices

So far the supported devices have been devices that I personally own or from contributors who own the device themselves and were able to add the required classes and logic in order to get things supported.

In order to allow others who may not be able to write the necessary code to contribute, I am proposing writing a utility that a user can execute that will provide step by step instructions and generate tablet reports that can be used by others to implement support.

Right now when I get a new Huion tablet I uncomment these lines: https://github.com/kurikaesu/userspace-tablet-driver-daemon/blob/main/src/huion_tablet.cpp#L275-L279 and look at the dumped out bytes to see if there is any new functionality or changes to the message structure before adding the device's firmware strings to the appropriate areas: https://github.com/kurikaesu/userspace-tablet-driver-daemon/blob/main/src/huion_tablet.cpp#L115

For XP-Pen devices I do something similar by creating the class that will be dealing with the tablet and inserting the byte dump code into it and seeing the message structures.

When I have the device with me the above process takes between 15-30 mins and results in a working driver for the device at the end of it. If we have the proposed utility instead that users can run and submit, the amount of tablets that could be supported would increase much more quickly.

Configuration file is overwritten with default values

I haven't been able to determine what the cause is, but many times (though not always) when starting the daemon it overwrites the ~/.local/share/userspace_tablet_driver_daemon/driver.cfg with default values. If I stop the daemon, restore the settings file and start the daemon manually again it usually works fine.
Right now I have it launching from .xprofile .

XP-Pen Artist 12 2nd Gen stopped working: "Could not create uinput pad"

Listening on socket /home/user/.local/var/run/userspace_tablet_driver_daemon.sock
xp_pen_handler initialized
huion_handler initialized
Handling XP-Pen Artist 12 Pro (2nd Gen)
Setup completed on interface 0
Setup completed on interface 1
Device: XP-Pen Artist 12 Pro (2nd Gen) - Probed maxWidth: (25634) maxHeight: (14415) resolution: (2540)
Could not create uinput pen
Could not create uinput pad
Attached to interface 2
Sending init key on endpont 3
Setup completed on interface 2
Set up config for device 2335: (XP-Pen Artist 12 Pro (2nd Gen))
qÔaø@qÔaûqÔaüqÔaüqÔaýqÔaýqÔaþÖ

I am not sure what I changed. The user is still in all relevant input/plugdev and it doesn't work as root either.

I wonder what the garbage is that is printed to stdout, but I guess the main problem is that it could not create the uinput devices.

XP-Pen 22E Pro interface claim issue

I hit some unexpected trouble with the 22E Pro driver that used to work my PR.
After reinstalling Pop OS and the driver, I get for userspace_tablet_driver_daemon:

Listening on socket ~/.local/var/run/userspace_tablet_driver_daemon.sock
xp_pen_handler initialized
huion_handler initialized
Handling XP-Pen Artist 22E Pro
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 0. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 1. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 2. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 3. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 4. Detaching and then waiting
Giving up

I don't think it's a problem with the driver because the official XP-Pen driver also fails to recognize the device... any idea what could be going wrong? Maybe some missing dependencies?

udev and xorg rules have properly been added.

Support installation on Arch Linux

Since arch is a pretty popular distribution, it would be good to have it supported by the driver as a package to install without having to manually tinker with configuration etc.

Its important that the driver does not run as root.

After install..

I'm on Arch Linux. I have a HUION HS611. I installed AUR.

After installation, do I need to do anything?
Start some service?

Driver should listen to local unix socket to provide a way for GUI to send through USB commands

For some tablets like the XP-Pen Deco Pro (S/M) they have a flag that can be set on the tablet itself to switch the functionality of one of the hardware features by sending a message to the device.

Currently there is no way to do this while the driver is running and the only way to influence the driver during runtime is through sending it a SIGHUP which reloads the configuration files.

The idea behind the socket is that the driver will listen for different commands such as reloading configuration or sending USB packets to a specific device.

There are a few other benefits of having the local socket such as:

  • Knowing that the driver is actually running.
  • In cases where the driver needs to send some information back to the configuration GUI. (Though I can't think of any situation where this would happen yet)

Test XP-Pen Artist 12 Pro support

I don't personally own this tablet so I cannot test and provide confirmation that it works correctly.
If anybody is able to run this driver and confirm or dispute the support for the Artist 12 Pro, I can either update the documentation or work closely with you to get full support working.

"Could not get descriptor" error

Beginning with the ad0e0cf commit I am no longer able to use the driver.
This is with an XP-Pen 22R Pro.

Listening on socket /home/xxx/.local/var/run/userspace_tablet_driver_daemon.sock
xp_pen_handler initialized
huion_handler initialized
Handling XP-Pen Artist 22R Pro
Setup completed on interface 0
Setup completed on interface 1
Could not get descriptor
Could not claim device on attempt 0. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 1. Detaching and then waiting
Could not claim interface 0 retcode: -6 errno: 16
Could not claim device on attempt 2. Detaching and then waiting

The error is caused by the descriptorLength variable being hard coded to 13 when the code to attach the devices was consolidated in src/xp_pen_unified_device.cpp. In the case of the 22R Pro and some other tablets it should be 12. If the length is meaningful, it may have to be assigned as a device level variable instead of defining it in the function.

Running on wayland

Hi

I just see comments on README about wayland. I'm using it:

echo $XDG_SESSION_TYPE 
wayland

After review what daemon this installs:

$ sudo make install
[sudo] password for alberto: 
[100%] Built target userspace_tablet_driver_daemon
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/bin/userspace_tablet_driver_daemon
-- Up-to-date: /etc
-- Up-to-date: /etc/udev
-- Up-to-date: /etc/udev/rules.d
-- Up-to-date: /etc/udev/rules.d/70-huion.rules
-- Up-to-date: /etc/udev/rules.d/70-xp-pen.rules
-- Up-to-date: /etc/udev/rules.d/70-uinput-plugdev.rules
-- Up-to-date: /usr
-- Up-to-date: /usr/share
-- Up-to-date: /usr/share/X11
-- Up-to-date: /usr/share/X11/xorg.conf.d
-- Up-to-date: /usr/share/X11/xorg.conf.d/60-xp-pen.conf
-- Up-to-date: /usr/share/X11/xorg.conf.d/60-huion.conf

it just writes to: ~/.local/var/run/userspace_tablet_driver_daemon.sock

I started it:

$ userspace_tablet_driver_daemon
Listening on socket /home/alberto/.local/var/run/userspace_tablet_driver_daemon.sock
No existing config so we will be creating a new one
xp_pen_handler initialized
huion_handler initialized
Handling Huion tablet
Got firmware HUION_T200_210309
Resolved device name to Huion KD100 mini Keydial
Attached to interface 0
Setup completed on interface 0
Setup completed on interface 1
Setup completed on interface 2
Set up config for device 512: (Unknown Huion device)

and it was able to read my config (Huion KD100):

Captura de pantalla de 2022-01-25 14-25-23

Captura de pantalla de 2022-01-25 14-25-27

And modify keys.

So there's only lack of how to expose those keys in wayland (because yes, it only outputs garbage)

Eraser support

There's nothing in the code with support for erasers. On the XP-Pen Artist Pro 16 drivers, you can flip your pen around to "draw" with the eraser on the top, which presses E in your art program (once the eraser is lifted the E is pressed again), as if it were a pencil.

From the official drivers:
image

XP-Pen Deco Pro MW

Hello! Curious if you could add this device:

DEVICE ID: 28bd:0934
PRODUCT NAME: XP-Pen Deco Pro MW
PRODUCT PAGE: https://www.xp-pen.com/product/915.html

It's essentially the same as XP-Pen Deco Pro M, but in addition to the wired USB interface, it includes a wireless USB receiver and Bluetooth connectivity.

Socket interface - Get connected devices

In order to help the GUI out, the driver needs to be able to field a query asking for what supported devices are actually connected.
This way the configuration utility does not need to render out all of the possible configuration sections.

build fails on Ubuntu 21.04

I am trying to build the daemon for my xp pen deco pro M. My goal is to have more control over the wheel/touchpad and buttons.

Which version of libusb is needed to build the software?

> sudo apt install libusb-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libusb-dev is already the newest version (2:0.1.12-32build1).

> cmake .
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/home/bob/github.com/userspace-tablet-driver-daemon/LIBUSB_1_INCLUDE_DIR
   used as include directory in directory /home/bob/github.com/userspace-tablet-driver-daemon

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.


> git log -1
commit d6aa98fbf91dfd858d006e9af04cae9148ca7b64 (HEAD -> main, tag: nightly, origin/main, origin/HEAD)
Author: Aren Villanueva <[email protected]>
Date:   Wed Dec 15 08:06:57 2021 -0800

    Missed adding the 15.6 pro to the list of handled models.

Huion/Gaomon handler needs to send proximity out event

Currently the proximity out event is not sent (without any adverse effects that I can tell right now) however we really should.

What needs to be done is to create or update an existing timer after each digitizer event that will eventually fire once no new events are sent through over a short period of time. The callback would then call the handlePenLeftProximity() method in order to send the appropriate message.

Star G960S - Configuration help

The configuration file is excessively obtuse and has no information at all in it. Spec changes aside its just a bunch of numbers, meaning the GUI is the only viable way to configure your tablet buttons.

Except the GUI only compiles on AMD architectures. I'm on ARM64. What do I do?

Dual roller support

Inner roller settings are not present in the code. From the official drivers:

Outer roller:
image

Inner roller (touch):
image

Right dial on XP-Pen Artist 22R Pro is clone of left dial

The right dial on my XP-Pen Artist 22R Pro is doing the same actions that are assigned to the left dial.
I installed the GUI as well and edited the mappings, but the right dial always performs whatever actions are assigned to the left dial.

Deco Pro Small and Medium mode changes

Packets that need to be sent to the device on interface 0x03 in order to change modes:

Mouse mode:
0x02, 0xb4, 0x02, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00

Roller/Scroller mode:
0x02, 0xb4, 0x02, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00

Customize mode:
0x02, 0xb4, 0x02, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00

The response from the device for setting these modes is the request + 0x01 bit set on byte 7:
0x02, 0xb4, 0x02, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00

Whatever GUI or non-gui is used to send messages through the new unix socket will need to submit these messages in order to switch modes on these tablets.

XP-Pen 15.6 Pro

DEVICE ID: 28bd:090d
PRODUCT NAME: XP-Pen Artist 15.6 Pro
PRODUCT PAGE: https://www.xp-pen.it/product/409.html

The device correctly works with the userspace stable driver and the screen mapping can be changed with xinput without any problem, however it is not detected by the config GUI so I couldn't change the button mappings, as I couldn't find the JSON config file either.

Pen is not working while daemon is running.

Xp-Pen Deco 01 V2
Tablet entry is removed from xsetwacom list and stylus stops working when daemon is run. sudo libinput record --show-keycodes stills shows xp pen and xp pen pad but doesn't respond to events. I have carried your config files. Stopping the daemon and replugging fixes the stylus.

Add support for Huion KD100

Add support for this wireless express key device. This isn't a tablet in of itself but is used when you have a tablet that doesn't have any express keys on it like some of the non-pro pen displays

Won't work unless I trigger it

The device does not work until I do a
$ sudo udevadm trigger
manually after the machine restarts.

Fedora 35, KDE, X11.

2308: (XP-Pen Deco Pro M), touch pad not working

I need to change

-    if (interfaceId == 0)
+    if (interfaceId == 2)

in deco_pro_medium::attachDevice to get the round touch pad working.
Otherwise uinputPointers[handle] is 0 in deco_pro::handleNonUnifiedFrameEvent() and the daemon writes binary data to std::cout.

I am using latest git source.

My device is 28bd:0904 XP-Pen 11 inch PenTablet
The daemon reports Set up config for device 2308: (XP-Pen Deco Pro M)

After adapting the config to my german keyboard everything seems to work fine with the above modification.

btw: why are there two dials in the 2308 config? Do some devices transform touch pad actions to the second dial directly?

I'd like to use gestures on the touch pad in order to change i.e. the brush size. What would be the best way in order to implement such a feature? Moving the mouse cursor is not a relevant feature for me. For me events for up/down, left/right and cw/ccw would be enough.

Test XP-Pen Artist 24 Pro support

I do not own this device and cannot confirm support with my driver.
If you own this device and would be willing to test whether or not this driver allows it to work correctly, I can update the documentation with the confirmation or work closely with you to get full support completed.

Support Ubuntu/Kubuntu 21.10

Ubuntu/Kubuntu 21.10 uses wayland as the compositor instead of straight up X11. See if we can make this driver work out of the box without requiring the wacom driver.

Initial tests show that the cursor is able to move around but stops moving around after the stylus is pressed onto and lifted off the digitizer surface. Drawing and pressure sensitivity still works however after that initial press the stylus stops tracking outside of being in contact with the digitizer.

XP-Pen Artist 12 2nd Gen: Spurious Tip Down

Hello!

Following up from DIGImend/digimend-kernel-drivers#578: thanks for implementing support! I gave your driver a test with the hardware, and it seemed to have recognized it just fine:

Listening on socket /home/grissess/.local/var/run/userspace_tablet_driver_daemon.sock
No existing config so we will be creating a new one
xp_pen_handler initialized
huion_handler initialized
Got hotplug event
Handling XP-Pen Artist 12 (2nd Gen)
Setup completed on interface 0
Setup completed on interface 1
Attached to interface 2
Sending init key on endpont 3
Setup completed on interface 2
Set up config for device 2378

But something in the tablet state handling is off; whenever the pen is close enough to cause a proximity event, it also sends a tip-down event (this according to libinput debug-events, with me "dipping" the tool several times briefly into proximity):

-event18  TABLET_TOOL_PROXIMITY   +0.000s		1.42*/4.73*	tilt: 3.20*/23.47*	pressure: 1.00*	pen      (0, id 0) proximity-in 	axes:pt	btn:SS2
 event18  TABLET_TOOL_TIP         +0.000s		1.42/4.73	tilt: 3.20/23.47	pressure: 1.00 down
 event18  TABLET_TOOL_TIP         +0.044s		1.42/4.73	tilt: 3.20*/23.47*	pressure: 1.00 up
 event18  TABLET_TOOL_PROXIMITY   +0.044s		1.42/4.73	tilt: 3.20/23.47	pressure: 1.00	pen      (0, id 0) proximity-out
 event18  TABLET_TOOL_PROXIMITY   +4.028s		1.66*/4.82*	tilt: 3.20*/35.20*	pressure: 1.00*	pen      (0, id 0) proximity-in 	axes:pt	btn:SS2
 event18  TABLET_TOOL_TIP         +4.028s		1.66/4.82	tilt: 3.20/35.20	pressure: 1.00 down
 event18  TABLET_TOOL_AXIS        +4.038s		1.66/4.82	tilt: 2.93*/34.93*	pressure: 1.00
 event18  TABLET_TOOL_AXIS        +4.042s		1.66/4.82	tilt: 2.67/34.40*	pressure: 1.00
 event18  TABLET_TOOL_AXIS        +4.046s		1.66/4.82	tilt: 2.40/33.33*	pressure: 1.00
 event18  TABLET_TOOL_TIP         +4.100s		1.66/4.82	tilt: 2.13*/30.93*	pressure: 1.00 up
 event18  TABLET_TOOL_PROXIMITY   +4.100s		1.66/4.82	tilt: 2.13/30.93	pressure: 1.00	pen      (0, id 0) proximity-out
 event18  TABLET_TOOL_PROXIMITY   +5.012s		1.68*/4.79*	tilt: 2.13*/30.93*	pressure: 1.00*	pen      (0, id 0) proximity-in 	axes:pt	btn:SS2
 event18  TABLET_TOOL_TIP         +5.012s		1.68/4.79	tilt: 2.13/30.93	pressure: 1.00 down
 event18  TABLET_TOOL_AXIS        +5.022s		1.68/4.79	tilt: 1.60*/39.20*	pressure: 1.00
 event18  TABLET_TOOL_AXIS        +5.032s		1.68/4.79	tilt: 1.60*/46.67*	pressure: 1.00
 event18  TABLET_TOOL_AXIS        +5.036s		1.68/4.79*	tilt: 1.60/54.13	pressure: 1.00
 event18  TABLET_TOOL_AXIS        +5.042s		1.68*/4.78*	tilt: 1.60/60.00*	pressure: 1.00
 event18  TABLET_TOOL_TIP         +5.094s		1.69/4.77	tilt: 2.13*/54.40*	pressure: 1.00 up
 event18  TABLET_TOOL_PROXIMITY   +5.094s		1.69/4.77	tilt: 2.13/54.40	pressure: 1.00	pen      (0, id 0) proximity-out

If I recall, libinput likes to clamp minimum pressure while the tip is down--and to 0 while it's up--which may also be interfering with the pressure readouts. For your ranging, the maximum pressure I observed was 2.05.

Let me know if you need further diagnostics :)

Add support for XP-Pen AC19

Like the Huion KD100. Add support for this wireless express key device. This isn't a tablet in of itself but is used when you have a tablet that doesn't have any express keys on it like some of the non-pro pen displays

XP-Pen Deco mini7 works only partially

while installing this repo/package did not seem to impact anything, this repo does seem to be the best place to report this

I have a XP-Pen Deco mini7 (28bd:0928) and while by default it works, it's not seen by xsetwacom. Making a /etc/X11/xorg.conf.d/10-tablet.conf with the following code seemed to fix that, but xsetwacom list does not show a pad device and tablet buttons don't work at all.

Section "InputClass"
  Identifier "XP-Pen Deco mini7"
  MatchUSBID "28bd:0928"
  MatchDevicePath "/dev/input/event*"
#  Driver "libinput"
  Driver "wacom"
EndSection

if the driver is set to "libinput" like in this repo's /config/usr/share/X11/xorg.conf.d/60-xp-pen.conf file, the tablet acts the same as before adding the file.

system:
linux 6.1.1.arch1-1
libwacom 2.5.0-1
xf86-input-wacom 1.1.0-1

any help/tips to to get the tablet to show up in xsetwacom with a pad device?

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.