Open sinsixin opened 4 years ago
I would like report an issue too: I am using Kernel 5.3.18_1 on Void GNU/Linux, for me too, the upper stylus button is not assignable under xf86-input-wacom. I am using the newest (V9 I think) digimend kernel drivers, installed via dkms on one system and via a Debian package on Ubuntu. The rotation is correct, and I can even set the Scaling/Proportions via the kcm-wacomtablet settings module. What doesn't work however, are the frame buttons. I can see them, and they register, when using the xf86-input-evdev driver, but under xf86-input-wacom they just won't show up.
EDIT: I am of course having this issue with the exact same model of tablet, the XP-Pen Deco 01 V2. I have not yet tested the tilt detection, as I was occupied with the frame buttons.
Should I open a new issue for this? As far as I understand xf86-input-wacom is the way to go, and I would rather use this than evdev, since it also integrates better into the general settings.
I guess this is redundant with sinxsin's files in a way, but here it is already ready to be integrated into the digimend.github.io remote repository, so I guess it's an improvement. Here are the information files, pictures and diagnostics of the XP-Pen_Deco_01_v2_revb which has another vid:pid than the already existing model of the same name. XP-Pen_Deco_01_v2_revb.tar.gz
I included a few comments in the files, I hope it doesn't disrupt anything, but as far as I could tell, when I got it running once in a local repo, it all displayed correctly.
thinking of purchasing this tablet, on linux im mainly just going to jot down math equations(maybe learn to draw later), but is this working on sway(i3 on wayland)? should i purchase something else? do the drivers on their site work?
alright so it works if you run and configure the official driver application: https://www.xp-pen.com/download-440.html sadly it doesn't run on wayland(sway), only x11
Just playing with one of these whilst in lockdown. Adding the device arrays into rdesc.c and mine's also working nicely with tilt even. Although at the moment also not having luck getting the top button to work. I'll clean up my changes and submit it (I couldn't see an existing fork/pull request?)
Simple in the end, just needed a mapping in /etc/udev/hwdb.d/10-xppen.hwdb
evdev:input:b0003v28BDp0905*
KEYBOARD_KEY_d0045=332
Not sure about frame buttons, with evdev mappings them to 0x100->0x107 they map to mouse buttons, shift<-, shift->, etc but don't seem re-mappable through the xwacom gui.
Ok buttons and tips working ok with the combination of 10-xppen.hwdb.txt in /etc/udev/hwdb.d and xp-pen-dec01.tablet.txt in /usr/share/libwacom (minus the .txt obv)
@ihewitt will your patch work make the tablet work on wayland?!
If it simply requires a working kernel module rather than some sort of X hook interface then I'd assume so, but I have no experience of wayland personally.
Hi @ihewitt - great work with this! Sorry to pick your brains, the pen works , but my frame buttons do not.
I have placed your 10-xppen.hwdb
in /etc/udev/hwdb.d
and xp-pen-dec01.tablet
in /usr/share/libwacom
but I am still at a loss.
I believe I have enabled the Wacom driver by editing
/etc/X11/xorg.conf.d/50-tablet.conf
Section "InputClass"
Identifier "Tablet"
Driver "wacom"
MatchDevicePath "/dev/input/event*"
MatchUSBID "28bd:0905"
EndSection
xsetwacom list
is successful, so I think that has worked
[mrm@mrmp50 ~]$ xsetwacom list
UGTABLET 10 inch PenTablet Mouse touch id: 9 type: TOUCH
UGTABLET 10 inch PenTablet Mouse pad id: 10 type: PAD
UGTABLET 10 inch PenTablet Keyboard pad id: 11 type: PAD
UGTABLET 10 inch PenTablet stylus id: 17 type: STYLUS
Any pointers would be greatly appreciated - thanks!
Hi, sorry a bit busy at the moment - just wanted to check, you're also running with either the version from https://github.com/ihewitt/digimend-kernel-drivers or with the changes from https://github.com/DIGImend/digimend-kernel-drivers/pull/375 applied?
@ihewitt - No problem!
You're right to ask that - I was tinkering yesterday, and realised my error there - so I uninstalled everything and installed your repo.
Just so I'm clear - do I need to have the /etc/X11/xorg.conf.d/50-tablet.conf
file as I listed?
I've no replaced that, and the keys are working now in evtest... and the Wacom Tablet Finder now registers the button presses. However, the Wacom Graphic Tablet GUI no longer shows me the tab to alter their actions.
I see that you mention not being able to set through the gui - but I was unsure if this was fixed through your later edits?
I'm going to have a play with xsetwacom now - fingers crossed!
Right ho - I think I've got this, cheers for your work! Not sure if this was a superfluous step, but I used the tablet finder GUI to map through the buttons?
I can set the frame buttons now through xsetwacom
- not the GUI.
xsetwacom list
shows:
[mrm@mrmp50 ~]$ xsetwacom list
UGTABLET 10 inch PenTablet Keyboard pad id: 9 type: PAD
UGTABLET 10 inch PenTablet Pen stylus id: 10 type: STYLUS
[mrm@mrmp50 ~]$
For example I would use:
xsetwacom set "UGTABLET 10 inch PenTablet Keyboard pad" button 1 key ctrl z
to set button 1 as ctrl-z
I'm just reading up on making these binds persistent through xorg.conf.
As I say, thank you for working on this. This arrangement is far more preferable to the XP-Pen linux driver.
superb, yeah I'm not 100% sure if the button mappings should be different to work without the hwdb stuff, need an expert to chime in. :) On my setup I'm just using the kde tablet config app, which just does that xsetwacom mapping under the hood on startup.
Learning as I go on this... I ended up using a script in /etc/profile.d
to run the xsetwacom
commands...
This lead to my mouse not responding, but it was persisting the bindings. Not sure what was going on there. I restarted for a second time and everything seemed to be correct.
Since the keybindings were working, I had a look at the GUI app and the Express Buttons are there now, and using them does result in a persistent change - hurrah!
However, what do you make of buttons 2 and 3 swapping? xsetwacom
appears to get it correct - it is the bindings from the GUI that are swapped. It's easy enough to change the bindings, but thought you may have an idea!
[mrm@mrmp50 ~]$ xsetwacom -s get 14 all Property 'Wacom Tablet Area' does not exist on device. xsetwacom set "14" "Button" "1" "key +1 -1 " xsetwacom set "14" "Button" "2" "key +3 -3 " xsetwacom set "14" "Button" "3" "key +2 -2 " xsetwacom set "14" "Button" "8" "key +4 -4 " xsetwacom set "14" "Button" "9" "key +5 -5 " xsetwacom set "14" "Button" "10" "key +6 -6 " xsetwacom set "14" "Button" "11" "key +7 -7 " xsetwacom set "14" "Button" "12" "key +8 -8 "
ahh, with simply the following in xp-pen-dec01.tablet (ignoring previous tinkering I had): [Buttons] Left=A;B;C;D;E;F;G;H; EvdevCodes=0x100;0x101;0x102;0x103;0x104;0x105;0x106;0x107
then its sequential: xsetwacom -s get 9 all Property 'Wacom Tablet Area' does not exist on device. xsetwacom set "9" "Button" "1" "key +a -a " xsetwacom set "9" "Button" "2" "key +b -b " xsetwacom set "9" "Button" "3" "key +c -c " xsetwacom set "9" "Button" "8" "key +d -d " xsetwacom set "9" "Button" "9" "key +e -e " xsetwacom set "9" "Button" "10" "key +f -f " xsetwacom set "9" "Button" "11" "key +g -g " xsetwacom set "9" "Button" "12" "key +h -h "
Stunner! Sorry - been in school mode (teacher), so no time for tinkering! That works a treat. Thank you!
@ihewitt @MalcJPM and others: many thanks for this, I've been using it to start to get my new Deco 01 v2 going. My dept bought a crate of these and we have quite a few GNU/Linux users!
So far:
xev
)..hwdb
and .tablet
files
I have the product, xp-pen proprietary driver working but no aspect:ratio setting is avaliable and Tablet stops working when I close program until I unplug-plug. In xsetwacom, aspect ratio is adjustable but upper pen key makes nothing and express keys not working as "Unsupported offset into 'Wacom Button Actions' property." here is files: descriptors.txt hid_report_descriptors.txt probe.txt is empty idk why pen_coords.txt pen_tilt.txt pen_pressure.txt pen_buttons.txt frame_buttons.txt
I've been playing with my Deco 01 V2, and the buttons. I was wondering, how is everyone (who is not using proprietary drivers) mapping the buttons to specific actions? Are you doing it per-program? Are you setting say the top button to "Ctrl+Z" for undo in the 10-xppen.hwdb
file? My current solution is to map the top 4 buttons to prog{1,2,3,4}
and the lower four to F1{3,4,5,6}
in there, and then map those to specific actions via (hopefully) some XFCE tool so I can customize it without having to re-run system-hwdb update
and udevadm trigger
all the time. Annoyingly, it seems udev only supports prog1 through prog4, so I couldn't just use those, but at the same time, F20 and above are also mapped to mic mute/speaker mute/volume adjustments, so I couldn't just use F{12..20}
either.
@ihewitt @MalcJPM and others: many thanks for this, I've been using it to start to get my new Deco 01 v2 going. My dept bought a crate of these and we have quite a few GNU/Linux users!
So far:
* On Fedora 32 (OOTB on Wayland) I had no upper pen-button. But the 8 buttons on the tablet did generate keycodes (e.g., in `xev`). * Switched to X11, installed @ihewitt's branch of DIGImend, and copied the `.hwdb` and `.tablet` files * now I have upper pen button working (great!) * 8 buttons don't seem to do anything
I'm also facing the same issue in Fedora. It used to work on Kubuntu .
My current setup (with both stylus buttons working and the 8 pad buttons mapped) is through the following:
The 10-xppen.hwdb file maps the 8 buttons (top to bottom when buttons on right) to keycodes prog1, prog2, prog3, prog4, then f14, f15, f16, f17. These can then be remapped using xmodmap, or just used directly. I use XFCE4 hotkeys and xdotool to send ctrl+z on f17, and ctrl+y on f16, for easy undo and redo, and then use xmodmap to remap f14/f15 to up/down and prog3/prog4 to PgUp/PgDown.
My current setup (with both stylus buttons working and the 8 pad buttons mapped) is through the following:
* Use ihewitt's branch of digimend * libwacom and xf86-input-wacom are _not_ installed, instead I have libinput and xf86-input-libinput installed * No changes to anything under /etc/X11/xorg.conf.d/ * [/etc/udev/hwdb.d/10-xppen.hwdb](https://gist.github.com/WPettersson/9cc0b1a44db7ee527fed38af401af128)
The 10-xppen.hwdb file maps the 8 buttons (top to bottom when buttons on right) to keycodes prog1, prog2, prog3, prog4, then f14, f15, f16, f17. These can then be remapped using xmodmap, or just used directly. I use XFCE4 hotkeys and xdotool to send ctrl+z on f17, and ctrl+y on f16, for easy undo and redo, and then use xmodmap to remap f14/f15 to up/down and prog3/prog4 to PgUp/PgDown.
Are you using a release from ihewitt's fork of digimend? Or are you installing from the latest source in his fork?
Are you using a release from ihewitt's fork of digimend? Or are you installing from the latest source in his fork?
I'm using the latest source, pulled from master.
I haven't used libinput previously. Is it possible to map the tablet to secondary screen in libinput?
I haven't used libinput previously. Is it possible to map the tablet to secondary screen in libinput?
Yes, for example, I use xinput map-to-output "UGTABLET 10 inch PenTablet Pen Pen (0)" "HDMI-0"
to map my tablet to only one of my monitors. The double Pen
in the name is odd, and I think something to do with libinput, but I haven't really tried to narrow it down at all.
Hi, XP-PEN released a new beta driver.
But install.sh script is a bit missing, you have to manually set utility(/usr/lib/pentablet/pentablet
) as executable(sudo cmod +x file) and add sh to the beginning of Exec= line(Exec=sh /usr/lib/pentablet/pentablet.sh
) in .desktop file(/usr/share/applications/xppentablet.desktop
) to be shown in menu but it works a lot better than the old official one.
one-click aspect ratio fix in tablet settings is nice i think. And more importantly you dont have to keep the window open, it minimizes to tray.
But tilt is still not working and there is no application-specific settings on both official nor beta driver. (tilt is working with digimend kernel drivers)
And all "saved" settings lost when you unplug tablet or log off
And last, I don't know if this is related to DE but, mouse cursor is gone when i re-plug my tablet until i open applications menu or activities with super key on keyboard.
I mean, Can we take a look at this and get upper button on pen & express keys working? And this was one of the little but important reasons that i cant switch to linux in 2019. And i was an absolute-beginner to linux at that times. I switched in Q4 2020 lately and just ignoring this. But I want to help if I can, somehow.
hello, for my configuration I tried the simplest possible method, I made an excutable.sh and set it to start with the system.
!/bin/bash
xsetwacom --list sleep 0.1 xsetwacom -s get 13 all sleep 0.1 xsetwacom set "13" "Button" "1" "key alt" sleep 0.1 xsetwacom set "13" "Button" "2" key"+z" sleep 0.1 xsetwacom set "13" "Button" "3" key "key ctrl c" sleep 0.1 xsetwacom set "13" "Button" "8" key "key ctrl v" sleep 0.1 xsetwacom set "13" "Button" "9" key "+backspace" sleep 0.1 xsetwacom set "13" "Button" "10" key "+f" sleep 0.1 xsetwacom set "13" "Button" "11" key "key +shift -shift" sleep 0.1 xsetwacom set "13" "Button" "11" key "key shift" sleep 0.1 xsetwacom set "13" "Button" "12" key "key +ctrl -ctrl " sleep 0.1 xsetwacom set "13" "Button" "12" key "key ctrl " sleep 0.1 xsetwacom -s get 14 all sleep 0.1 xsetwacom set "14" "Button" "2" "button +3 " sleep 0.1 xsetwacom set "14" "Button" "3" "button +2 " exit
by the way thank you very much @ihewitt
Need some help. Wacom drivers recognize the tablet, everything works fine as it looks like in GUI. However, when I change anything (pressure, express keys etc) - nothing changes in fact. It DOES change in GUI but has no impact on how tablet behaves. What do I do? I have the latest driver installed + .hwdb and .tablet files .
Need some help. Wacom drivers recognize the tablet, everything works fine as it looks like in GUI. However, when I change anything (pressure, express keys etc) - nothing changes in fact. It DOES change in GUI but has no impact on how tablet behaves. What do I do? I have the latest driver installed + .hwdb and .tablet files .
try the command xsetwacom list
if it does not recognize anything, you must have configured the file /usr/share/X11/xorg.conf.d/50-digimend.conf
... Section "InputClass" Identifier "Ugee/XP-Pen tablets with Wacom driver" MatchUSBID "28bd:0905[1458]|28bd:0094|28bd:0042|28bd:0905|5543:004[57]|> MatchDevicePath "/dev/input/event*" Driver "wacom" EndSection ...
Here are my raw input samples: pen_coords.txt pen_tilt.txt pen_pressure.txt pen_buttons.txt frame_buttons.txt
For reference, the dumps posted above by Maximumtix can be reproduced after running the following script, which sends an "initialization key" to the tablet to switch it into a different mode. https://github.com/nic3-14159/uclogic-new-init/blob/base/uclogic_new_init.py
@nic3-14159 The official driver sends these three packets to endpoint 3 when the tablet is connected:
02b00400000000000000
02b40100010000000000
02b40100020000000000
I also found that OpenTabletDriver only sends the first one (https://github.com/OpenTabletDriver/OpenTabletDriver/blob/master/OpenTabletDriver/Configurations/XP-Pen/Deco%2001%20V2.json#L31) (ArAE is base64 encoded 02b004)Now that I installed the digimend driver, it works fine, but no frills -- no pressure, no tilt, no hardware buttons.. these are shown:
$ xsetwacom list devices
UGTABLET 10 inch PenTablet Mouse touch id: 13 type: TOUCH
UGTABLET 10 inch PenTablet stylus id: 14 type: STYLUS
$ xsetwacom -s get 13 all xsetwacom set "13" "Area" "0 0 32767 32767" xsetwacom set "13" "Button" "1" "key +Prior " xsetwacom set "13" "Button" "2" "button +2 " xsetwacom set "13" "Button" "3" "key +Prior -Prior " xsetwacom set "13" "Button" "8" "button +8 " xsetwacom set "13" "ToolDebugLevel" "0" xsetwacom set "13" "TabletDebugLevel" "0" xsetwacom set "13" "Suppress" "2" xsetwacom set "13" "RawSample" "4" xsetwacom set "13" "PressureCurve" "0 0 100 100" xsetwacom set "13" "Mode" "Absolute" Property 'Wacom Hover Click' does not exist on device. xsetwacom set "13" "Touch" "on" Property 'Wacom Hardware Touch Switch' does not exist on device. xsetwacom set "13" "Gesture" "off" xsetwacom set "13" "ZoomDistance" "0" xsetwacom set "13" "ScrollDistance" "0" xsetwacom set "13" "TapTime" "250" Property 'Wacom Proximity Threshold' does not exist on device. xsetwacom set "13" "Rotate" "none" Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Wheel Buttons' does not exist on device. Property 'Wacom Strip Buttons' does not exist on device. Property 'Wacom Strip Buttons' does not exist on device. Property 'Wacom Strip Buttons' does not exist on device. Property 'Wacom Strip Buttons' does not exist on device. xsetwacom set "13" "Threshold" "0" xsetwacom set "13" "BindToSerial" "0" Property 'Wacom Pressure Recalibration' does not exist on device. xsetwacom set "13" "PanScrollThreshold" "13"
what shall do to enable the pressure, tilt and hardware buttons?
I have an XP-PEN Deco 01 V2 https://www.xp-pen.com/product/461.html on a desktop with Arch Linux kernel 5.4.8
Currently, it has an odd rotation on different boots. Drawing up makes the cursor go right. Drawing right makes the cursor go down. Down->Left. Left->Up. Unplugging then replugging the tablet makes sure the problem occurs, even if it was rotated correctly on boot.
The lower pen button does a middle click. The upper pen button does nothing. Shows up in
evtest
, nothing when tapping the box inxev
.Pressure sensitivity and tilt work out of the box.
Tablet Diagnostics: descriptors.txt hid_report_descriptors.txt probe.txt pen_coords.txt pen_tilt.txt pen_pressure.txt pen_buttons.txt frame_buttons.txt