Huion Tablet drawing area

How do I change the drawing area for my huion tablet? Everything works fine but but I have a dual monitor setup and the tablet area covers both monitors while I only want to to be on one.

Starting the wacom tablet app show I have no wacom tablet (well yeah, I don't) but there is no generel tablet app I could find.

Thanks in advance.

3 Answers

Found this, it fixed my issue which sounded similar to yours.

Huion are violating* a USB standard by skimping on naming their stuff, so look for the generic numbers for their tablets. This is the code for HUION New 1060 for example: HID 256c:006e Pad

xinput # get the IDs for all relevant pieces of my tablet. 

blah blah: HID 256c:006e Pad id=17
there might/should be two devices, Pad and Pen.

xrandr # get the names of my displays 

look for the ones showing 'connected' like HDMI-A-0 connected
and maybe DisplayPort-2 connected

Then you tell xrandr to stick the id's to the screen you want Krita or Photoshop on, such as if you were using a HDMI port to main screen:

xinput map-to-output 13 HDMI-A-0
xinput map-to-output 14 HDMI-A-0 

that was mine.
it resets after a reboot. thanks to that user timotimo!

Use 'xrestrict -I'.

It will tell you to click with the pointing device you want to restrict, on the display you want it restricted to. So just move the pen over to the drawing-screen and tap (click) it on the tablet. Done!

Follow the instructions on the Arch Wiki for Calibrating Touchscreen. Tested on Huion 608, 420, H420.

To summarize:

  1. xinput list and find your device (ex. HUION 420 Pen Pen (0)). Try xinput list-props "Device Name" and make sure "Coordinate Transform Matrix" property is available.
  2. Now a little math is involved. (For those interested, you are specifying an affine transformation matrix of the device input in a homogeneous coordinate system.) From the wiki:
c0 = touch_area_width / total_width
c2 = touch_area_height / total_height
c1 = touch_area_x_offset / total_width
c3 = touch_area_y_offset / total_height
Matrix:
[ c0 0 c1 ]
[ 0 c2 c3 ]
[ 0 0 1 ]
Represented as a row-major array:
c0 0 c1 0 c2 c3 0 0 1

If you don't want to do any math just play around with the numbers until you get an area you like. For a smaller area, c0 and c2 will be greater than 1, and c1 and c3 may be small negative values (my tablet is less accurate towards the edge of the input region).

  1. Execute this command to set the area (put in .bashrc to auto-run)
xinput set-prop "Device Name" --type=float "Coordinate Transformation Matrix" c0 0 c1 0 c2 c3 0 0 1

For example:

xinput set-prop "HUION 420 Pen Pen (0)" --type=float "Coordinate Transformation Matrix" 1.5 0 -0.2 0 1.5 -0.2 0 0 1

See Ubuntu Wiki X/InputCoordinateTransformation for more info.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like