You are not logged in.

#1 2016-09-08 13:22:20

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

[SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

I've yet to find a way to change the keybindings other than possibly swap the existing ones around from one key to another but the more important aspect ratio issue has been resolved. Marking this as solved.
Anyone with a similar problem should probably start from the last post in this thread.


Officially this graphics tablet supports only windows and mac. However when i tried using it on an Ubuntu Studio install it was working but obviously there was no configuration utility of the kind i get in windows.

I've yet to try it on Arch Plugged it in and works right away same as on Ubuntu, haven't installed Krita yet either installed Krita, pressure works too. but there's no reason for a config gui to magically appear on arch when there was none for Ubuntu Studio. Plus i don't really need a gui, i need to set it up once and use with the same settings forever.
Mainly i need to change the active area of the tablet which currently is a weird 16:10.46 5:3 ratio matching only 1280x768 monitors. that doesn't match any resolution though does come close to 16:10 for 1920x1200. My screen however is a 1920x1080 aka 16:9 aspect ratio so i need to make the tablet active area match that. Also i need to rebind the express keys on the tablet and the stylus.
(The active area specs on the website are listed as 260mm x 170mm which i used initially to determine the aspect ratio. In reality i just tested and found the markings on the tablet to accurately indicate the active area the actual size of which is 254mm x 153mm, give or take a couple of mm. So pretty much a 10'' x 6'' area with a 5:3 aspect ratio the only common resolution for it being 1280x768...)

How would i go about finding what driver is responsible for handling my tablet and how do i find and edit a config for it if there is one?
Maybe this DIGImend project is relevant? The Ugee M708 visually looks pretty much identical to the Star03, however, i suspect it does have significantly different hardware since the Star03 uses a wacom style battery free stylus whereas the Ugee has a rechargeable stylus.

Last edited by BitterCynic (2016-09-14 07:45:26)

Offline

#2 2016-09-08 15:32:56

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 16,712

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

Look at the output of xinput to find the id, then use xinput to list the properties of that id.  It will tell you which driver is in use. I bet it is libinput


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#3 2016-09-08 16:18:48

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

ewaller wrote:

Look at the output of xinput to find the id, then use xinput to list the properties of that id.  It will tell you which driver is in use. I bet it is libinput

Okay so xinput returned a whole lot of nothing for me, so what follows is me trying to figure things out on my own...
Found an xorg-xinput package when searching for relevant packages. Installed that.
And then what xinput returned... But afterwards i get this upon pasting the result in the forum post editor. Looks like i need to fix my konsole/terminal or whatever to display things correctly.

Anyway, i guess UC-Logic TABLET 1060N is probably the graphics tablet, what else could it be. But there are three of them?

[bittercynic@blackbox ~]$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ USB Optical Mouse                         id=11   [slave  pointer  (2)]
⎜   ↳ UC-Logic TABLET 1060N                     id=12   [slave  pointer  (2)]
⎜   ↳ UC-Logic TABLET 1060N                     id=13   [slave  pointer  (2)]
⎜   ↳ UC-Logic TABLET 1060N                     id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=8    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]
    ↳ USB Optical Mouse                         id=10   [slave  keyboard (3)]

So i guess list-props is the command you were referring to? It returned the same thing for every one of those three IDs.

[bittercynic@blackbox ~]$ xinput list-props 12                                                                                   
Device 'UC-Logic TABLET 1060N':                                                                                                  
        Device Enabled (145):   1                                                                                                
        Coordinate Transformation Matrix (147): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000                                                                                                                          
        Device Accel Profile (275):     0                                                                                        
        Device Accel Constant Deceleration (276):       1.000000                                                                 
        Device Accel Adaptive Deceleration (277):       1.000000                                                                 
        Device Accel Velocity Scaling (278):    10.000000                                                                        
        Device Product ID (265):        21827, 129                                                                               
        Device Node (266):      "/dev/input/event25"
        Evdev Axis Inversion (279):     0, 0
        Evdev Axes Swap (281):  0
        Axis Labels (282):      "Rel X" (155), "Rel Y" (156), "Rel Horiz Wheel" (272)
        Button Labels (283):    "Button 0" (269), "Button Unknown" (268), "Button Unknown" (268), "Button Wheel Up" (151), "Button Wheel Down" (152), "Button Horiz Wheel Left" (153), "Button Horiz Wheel Right" (154)
        Evdev Scrolling Distance (284): 1, 1, 1
        Evdev Middle Button Emulation (285):    0
        Evdev Middle Button Timeout (286):      50
        Evdev Third Button Emulation (287):     0
        Evdev Third Button Emulation Timeout (288):     1000
        Evdev Third Button Emulation Button (289):      3
        Evdev Third Button Emulation Threshold (290):   20
        Evdev Wheel Emulation (291):    0
        Evdev Wheel Emulation Axes (292):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (293):    10
        Evdev Wheel Emulation Timeout (294):    200
        Evdev Wheel Emulation Button (295):     4
        Evdev Drag Lock Buttons (296):  0

Last edited by BitterCynic (2016-09-08 16:29:10)

Offline

#4 2016-09-08 16:25:23

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 16,712

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

Okay.  That is weird.   How about the output of xinput  list-props "UC-Logic TABLET 1060N"


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#5 2016-09-08 16:31:07

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

ewaller wrote:

Okay.  That is weird.   How about the output of xinput  list-props "UC-Logic TABLET 1060N"

I tried it with the IDs already, see previous post i edited.

[bittercynic@blackbox ~]$ xinput  list-props "UC-Logic TABLET 1060N"
Warning: There are multiple devices matching 'UC-Logic TABLET 1060N'.
To ensure the correct one is selected, please use the device ID, or prefix the
device name with 'pointer:' or 'keyboard:' as appropriate.

unable to find device UC-Logic TABLET 1060N
[bittercynic@blackbox ~]$ 

Offline

#6 2016-09-08 16:45:59

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 16,712

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

It looks like the tablet is being controlled by evdev which is highly generic. Try installing libinput and see it the tablet picks it up as a driver.  You may need to restart X.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#7 2016-09-08 18:39:15

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

Pacman'd libinput and then xf86-input-libinput, no idea what the difference is if any. The package description for the xf86 says "Generic input driver for the X.Org server based on libinput" which i guess is what i'm using with a Plasma desktop environment and KDE apps right now.
Going by the libinput arch wiki page listed all the devices and the tablet shows up if that means anything. I guess i am supposed to edit a conf file to change keymappings or anything else but even if i find the right file i don't really know what to edit into it.
I guess i could look through Krita and find all the keybinds for certain actions i need like undo, redo, zoom, pan etc. Once i know the keys or key combinations i can probably map those to the tablet express keys in a conf file which is where the conf syntax puts my brain into a meltdown.
The main issue is still the active area size. Just to make sure i even have to bother with it i took a round piece of glass and drew a circle using the tablet and then used the circle tool to draw another one, it was clear that the tablet drawn one was oval in shape.
Reading through some of this Tablet support stuff but not really getting any closer to understanding what i need to do in my case.

[bittercynic@blackbox ~]$ sudo libinput-list-devices
[sudo] password for bittercynic: 
Device:           Power Button
Kernel:           /dev/input/event8
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event7
Group:            2
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           UC-Logic TABLET 1060N
Kernel:           /dev/input/event0
Group:            3
Seat:             seat0, default
Capabilities:     tablet 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   none
Rotation:         n/a

Device:           UC-Logic TABLET 1060N
Kernel:           /dev/input/event1
Group:            3
Seat:             seat0, default
Capabilities:     tablet 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   none
Rotation:         n/a

Device:           UC-Logic TABLET 1060N
Kernel:           /dev/input/event2
Group:            3
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:             USB Keyboard
Kernel:           /dev/input/event3
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:             USB Keyboard
Kernel:           /dev/input/event4
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           USB Optical Mouse
Kernel:           /dev/input/event5
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           USB Optical Mouse
Kernel:           /dev/input/event6
Group:            5
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

[bittercynic@blackbox ~]$

Last edited by BitterCynic (2016-09-08 18:41:46)

Offline

#8 2016-09-09 21:56:49

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

At some point it clicked for me that after installing libinput i probably had both that and evdev.
"For input devices, the virtual package xf86-input-driver ensures at least one input driver of either xf86-input-evdev or xf86-input-libinput is installed."
So i tried uninstalling evdev. My mouse and keyboard still work fine but the tablet no longer works.
Xinput does list it though

[bittercynic@blackbox ~]$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ UC-Logic TABLET 1060N                     id=9    [slave  pointer  (2)]
⎜   ↳ USB Optical Mouse                         id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ UC-Logic TABLET 1060N                     id=8    [slave  keyboard (3)]
    ↳ USB Optical Mouse                         id=10   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=13   [slave  keyboard (3)]
    ↳ UC-Logic TABLET 1060N                     id=14   [slave  keyboard (3)]
    ↳ USB Optical Mouse                         id=15   [slave  keyboard (3)]
[bittercynic@blackbox ~]$ 

and list-props returns this now

[bittercynic@blackbox ~]$ xinput list-props 9
Device 'UC-Logic TABLET 1060N':
        Device Enabled (145):   1
        Coordinate Transformation Matrix (147): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Natural Scrolling Enabled (283):       0
        libinput Natural Scrolling Enabled Default (284):       0
        libinput Send Events Modes Available (265):     1, 0
        libinput Send Events Mode Enabled (266):        0, 0
        libinput Send Events Mode Enabled Default (267):        0, 0
        Device Node (268):      "/dev/input/event4"
        Device Product ID (269):        21827, 129
        libinput Drag Lock Buttons (285):       <no items>
        libinput Horizonal Scroll Enabled (270):        1
[bittercynic@blackbox ~]$ xinput list-props 8
Device 'UC-Logic TABLET 1060N':
        Device Enabled (145):   1
        Coordinate Transformation Matrix (147): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Accel Speed (271):     0.000000
        libinput Accel Speed Default (272):     0.000000
        Device Node (268):      "/dev/input/event3"
        Device Product ID (269):        21827, 129
        libinput Horizonal Scroll Enabled (270):        0
[bittercynic@blackbox ~]$ xinput list-props 14
Device 'UC-Logic TABLET 1060N':
        Device Enabled (145):   1
        Coordinate Transformation Matrix (147): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Natural Scrolling Enabled (283):       0
        libinput Natural Scrolling Enabled Default (284):       0
        libinput Send Events Modes Available (265):     1, 0
        libinput Send Events Mode Enabled (266):        0, 0
        libinput Send Events Mode Enabled Default (267):        0, 0
        Device Node (268):      "/dev/input/event4"
        Device Product ID (269):        21827, 129
        libinput Horizonal Scroll Enabled (270):        0
[bittercynic@blackbox ~]$ 

which looks like more of the same with "evdev" being replaced by "libinput" for all the good it does me since the tablet doesn't work at all anymore.
I'm reading through this libinput manual but i don't really understand how any of it relates to a graphics tablet.

Also there is this evdev manual which might be more useful since with that driver the tablet was actually working and this calibration option sounds promising, might have to experiment with it if i fail to find any tutorials.

Option "Calibration" "min-x max-x min-y max-y"
    Calibrates the X and Y axes for devices that need to scale to a different coordinate system than reported to the X server. This feature is required for devices that need to scale to a different coordinate system than originally reported by the kernel (e.g. touchscreens). The scaling to the custom coordinate system is done in-driver and the X server is unaware of the transformation. Property: "Evdev Axis Calibration". 

Offline

#9 2016-09-09 22:18:54

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

From my googling i've seen some posts from around mid July regarding libinput and grahpics tablet support. Of the libinput driver arch packages i'm finding the correct one for someone with an Xorg display server is this

x86_64 	Extra 	xf86-input-libinput 	0.19.0-1 	Generic input driver for the X.Org server based on libinput 	2016-05-01

right? Well that's from 1st of May.

Would i be better off reinstalling arch with wayland instead?

Offline

#10 2016-09-11 20:48:33

BitterCynic
Member
Registered: 2016-09-06
Posts: 15

Re: [SOLVED]Configuring a NON wacom grahpics tablet XP-Pen Star03

Somehow i skimmed over the relevant information when i first looked at the DIGImend site.
Long story short my tablets vendor and product IDs match perfectly with the Ugee M708 model which is quote "Supported in: digimend-kernel-drivers >= 6". Explains why my tablet was already functional from the get go with the default evdev drivers.

[bittercynic@blackbox ~]$ lsusb
Bus 007 Device 002: ID 5543:0081 UC-Logic Technology Corp.

Now trying to parse the information on the "Tablet setup with xf86-input-evdev" page under "Support".
Please correct me if i'm doing something wrong!
So i think i have to make a conf file at /etc/X11/xorg.conf.d named 52-tablet.conf that would contain something like this

Section "InputClass"
       Identifier "Graphics tablet pen"
       MatchDriver "evdev"
       MatchIsTablet "on"
       MatchProduct "1060N"
       MatchDevicePath "/dev/input/event*"
       # Apply custom Options below.
       #Option "Calibration" "min-x max-x min-y max-y"
EndSection

the 1060N i figure is a valid keyword from the UC-Logic TABLET 1060N string i get from xinput list.

To reiterate my tablet is already functional with the evdev driver even without making/editing these conf files so what i need is to set custom options. This is where it gets confusing. Under calibration it's mentioned that the xinput runtime commands will lose their effect after "a hot-plug, log-off, or re-start" but adding them "to a custom xorg.conf.d (static) configuration file" will preserve them after a hot-plug. So not after a relog or restart?? Reading further it's advised to use Runtime Scripts...
So there's no point in editing the conf file since a script to set the options after every reboot and relog will be needed anyway?

Also, there is no package to install with pacman for xinput_calibrator. And i think it's possible to achieve the same aspect ratio change effect using the "Coordinate Transformation Matrix", both adjust how the tablet active area relates to the screen space.

Edit: Tried the following for testing

xinput set-prop "device name" --type=float "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1

and it worked just as i expected, the active area is now limited to the left half of the screen. So i just have to do some math (sigh) and find the right values for my case. And then some more work to make a script for it likely to be run at startup. Might not be as easy as it should be since using "device name" doesn't work due to there being three identical devices named UC-Logic TABLET 1060N and i think the IDs may change as USB stuff gets plugged and unplugged.
Edit2: Well making the aspect ratio match wasn't all that hard. Adjusting the offset, however, seems to either not be possible using this method or it's just not worth the bother. It's not that big of a difference having the active area begin from the top of the tablet rather than being centered vertically. Now i just need to make a script with the following command or a modified version of it that works with any new device ID.

xinput set-prop 8 --type=float "Coordinate Transformation Matrix" 1 0 0 0 1.070866 0 0 0 1

P.S.
I'm getting the (slightly optimistic?) feeling that after another day or two of frying my brain cells with bash commands and dev jargon i might finally have a working script for setting that matrix option and keymaps. I just hope that sacrificing this much time for configuration will be worth it in the end, i could have been improving my drawing skills instead. On the flipside this is how mistrustful i now am of Microsoft, i am going through hell here to have a renewed sense of control over my own personal computer.

Last edited by BitterCynic (2016-09-12 15:33:08)

Offline

Board footer

Powered by FluxBB