HUION H610 Tablet

Made a guide based on this question and it's answers. I'm re-posting it here as an answer since it is a direct answer to the OP's question and touches on some things that were missed in the other answers.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

A COMPLETE GUIDE ON HOW TO CONFIGURE THE HUION H610 ON LINUX

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

by Fadi R

CREDITS:

This guide is a meld of my own research and, to a greater degree, the answers of bebop(+David Foester) and pram on Ask Ubuntu (HUION H610 Tablet) AS WELL AS Clavos-Studios post on the Digimend GitHub (https://github.com/DIGImend/digimend-kernel-drivers/issues/26). Thanks guys, I learned alot from your posts. And of course, Major Kudos to the DigiMend team and Nikolai Kondrashov (project founder). Their tireless work has opened up a wide spectrum of tablets to the Linux community. (http://digimend.github.io)

[0] TABLE OF CONTENTS:

[1] DRIVER INSTALLATION

[2] CONFIGURING AND MAPPING TABLET

[3] CONFIGURING APPS TO RUN WITH TABLET

[4] SUGGESTED SOFTWARE

[1] DRIVER INSTALLATION:

(1.1) Ensure that you have the following packages:

a) xf86-input-wacom 
b) linux-headers (in Arch, Debian, Ubuntu or Mint) or kernel-headers (Red Hat)

(1.2) Download the latest Digimend drivers from Github (https://github.com/DIGImend/digimend-kernel-drivers). For some reason beyond me, I couldn't get the source code from the github.io Digimend site to compile (https://digimend.github.io/drivers/) but it may be different for you...

a) In terminal, input:

    sudo rmmod hid-kye
    sudo rmmod hid-uclogic
    sudo rmmod hid-huion

b) extract digimend sourcecode (from github.com, it's: digimend-kernel-drivers-master.zip). In terminal browse to extracted dir and input:

    make
    sudo make install       

(1.3) Setting up an 52-tablet.conf entry for the H610

a) make the 52-tablet.conf file if it doesn't exist:

sudo mkdir /etc/X11/xorg.conf.d 
cd /etc/X11/xorg.conf.d 
sudo gedit 52-tablet.conf 

b) paste this entry for the H610 in 52-tablet.conf:

Section "InputClass"
Identifier "Huion on wacom"
# MatchIsTablet "on"
MatchProduct "HUION"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection 

c) save file and restart

d) upon restarting, when you open Terminal and input:

xsetwacom --list

(you should see:)

HUION PenTablet Pad pad id: 11 type: PAD
HUION PenTablet Pen stylus id: 12 type: STYLUS

(the id will vary from machine to machine)

[2] CONFIGURING AND MAPPING TABLET:

(2.1) Defining Pad Left-Hand Buttons:

a) As we saw previously, the pad is defined "HUION PenTablet Pad pad" and it's button are: 1,2,3,8,9,10,11,12. These buttons will be undefined every time you log in. To define them, you can input the following command synthax in Terminal

xsetwacom --set 'DEVICE NAME' Button NUMBER "key KEYSTROKES"

b) You can automate it by making script file that autoruns every time you open a session. For example, my script is called Huion.Default.sh and I like bebop from AskUbuntu's button scheme:

#!/bin/sh
xsetwacom --set 'HUION PenTablet Pad pad' Button 1 "key +ctrl +z -z -ctrl"
xsetwacom --set 'HUION PenTablet Pad pad' Button 2 "key e"
xsetwacom --set 'HUION PenTablet Pad pad' Button 3 "key b"
xsetwacom --set 'HUION PenTablet Pad pad' Button 8 "key +"
xsetwacom --set 'HUION PenTablet Pad pad' Button 9 "key -"
xsetwacom --set 'HUION PenTablet Pad pad' Button 10 "key ]"
xsetwacom --set 'HUION PenTablet Pad pad' Button 11 "key ["
xsetwacom --set 'HUION PenTablet Pad pad' Button 12 "key p"

c) Don't forget to give the script execution permission:

chmod +x Huion.Default.sh

d) You can make different scripts and button schemes for the different Apps you use with the tablet. When making lauchers, you can make those scripts lauch before you launch the apps themselves. You do this by editing the Command in the laucher or desktop file. For example:

Command: ~/./GIMP-tablet-scheme.sh && /usr/bin/gimp     

(2.2) More on xsetwacom: Before we continue in configuring the tablet, here are a few usefull commands that you can do with xsetwacom.

(a) Checking button values: xsetwacom --get 'DEVICE NAME' Button BUTTON-NUMBER

eg. xsetwacom --get 'HUION PenTablet Pad pad' Button 1
eg. xsetwacom --get 'HUION PenTablet Pen stylus' Button 1
(this very useful in figuring out the button scheme of the Pad and Stylus)

(b) xsetwacom --list parameters: this command will list what parameters xsetwacom can get and set. Example of the listed parameters are: Button, PressureCurve and Threshold. Be aware that since xf86-input-wacom is meant for Wacom tablets, there may be some parameters that won't apply to your H610.

(2.3) Defining Stylus Buttons: The stylus is defined as "HUION PenTablet Pen stylus" and it's button are: 1,2,3 (the button order is: stylus head, toggle down, toggle up). Button are defined respectively "button +1 " "button +2" "button +3" (these are the xinput values for left click, middle click and right click). I wouldn't recommend modifying button 1 but if you want to modify the other 2 buttons, you can do it in the same manner as I showed you in section (2.1) and add the line to Huion.Default.sh

eg. if you want an eraser on your Stylus, you can sacrifice the middle-click on button 2 by inputing:

xsetwacom --set 'HUION PenTablet Pen stylus' Button 2 "key e"

(if you want to revert back to default:)

xsetwacom --set 'HUION PenTablet Pen stylus' Button 2 "button +2"

(2.4) Defining Pressure Curves:

To define the pressure curve, input:

xsetwacom --set 'HUION PenTablet Pen stylus' PressureCurve "PUT-YOUR-CURVE-HERE"

eg.

xsetwacom --set 'HUION PenTablet Pen stylus' PressureCurve "5 10 90 95"

This gave no errors but I haven't yet established if it actually affect pressure curves of the stylus. I'll update when I know.

Alot of application such as Krita and GIMP will have their own pressure curve settings. Sor far I've tested the pressure curves on GIMP and it seems to work well. More on that in Section 3.

(2.5) Left Hand Support:

You can set the rotation of the tablet through the commands. The property is called Rotate and its value has to be one of none, cw, ccw, half. As a left handed call:

xsetwacom --set 'HUION PenTablet Pen stylus' Rotate half

[3] CONFIGURING APPS TO RUN WITH TABLET:

DigiMend's Support section has some really awesome guides on how to setup with your tablet with the following applications: Alchemy, Blender, GIMP, Inkscape, Krita, MyPaint, Synfig Studio and apps running out of Wine.

Just go to http://digimend.github.io/support/ and skip down to the "Application setup" section.

[4] SUGGESTED SOFTWARE:

-- Work in progress --


I've just bought this tablet and successfully install its driver inside Ubuntu 14.10.

First you need to remove any existing driver:

sudo rmmod hid-huion

After that, download release 5 or later from the DIGImend project. Untar, change to the download directory, make, and install the driver:

tar xf digimend-kernel-drivers-5.tar.gz
cd digimend-kernel-drivers-5
make
sudo make install

Your H610 should work now. You will have to run above steps everytime you update the kernel.


I'm cutting and pasting based on what I have done. Getting the buttons working on a HUION 610 tablet in Ubuntu/Linux using out-of-tree drivers Use the clone or Download button on the page. Do not use the .deb v6 package for Ubuntu 16.04 or greater, as it will not detect the pad. Also advice from the related issue tracker.

Basically create /usr/share/X11/xorg.conf.d/50-huion.conf:

# Huion tablets
Section "InputClass"
    Identifier "Huion class"
    MatchProduct "HUION"
    MatchIsTablet "on"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
EndSection

Section "InputClass"
    Identifier "Huion buttons"
    MatchProduct "HUION"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
EndSection

Section "InputClass"
    Identifier "Huion scroll"
    MatchProduct "HUION"
    MatchIsPointer "off"
    MatchIsKeyboard "off"
    MatchIsTouchpad "off"
    MatchIsTablet "off"
    MatchIsTouchscreen "off"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
EndSection

Relog, then run the following for buttons on the tablet to work. Can change these around to whatever works. You can now use the wacom program to set button values (can't use the GUI though).

For the buttons I like to create a script that will load the buttons when I run the script, as this value isn't saved.

Create a file with your favorite text editor, tablet.sh that looks like:

#!/bin/sh
xsetwacom --set 'HUION PenTablet Pad pad' Button 1 "key +ctrl +z -z -ctrl"
xsetwacom --set 'HUION PenTablet Pad pad' Button 2 "key e"
xsetwacom --set 'HUION PenTablet Pad pad' Button 3 "key b"
xsetwacom --set 'HUION PenTablet Pad pad' Button 8 "key +"
xsetwacom --set 'HUION PenTablet Pad pad' Button 9 "key -"
xsetwacom --set 'HUION PenTablet Pad pad' Button 10 "key ]"
xsetwacom --set 'HUION PenTablet Pad pad' Button 11 "key ["
xsetwacom --set 'HUION PenTablet Pad pad' Button 12 "key p"

# The below value was gathered using xrandr and xinput to determine the monitor as well as which
# number the HUION PenTablet Pen stylus device **id** listed as.
#    ↳ HUION PenTablet Pen stylus                 id=15   [slave  pointer  (2)]
xinput map-to-output 15 DVI-I-1

# Left handed stylus
#xsetwacom set 'HUION PenTablet Pen stylus' rotate half

chmod +x tablet.sh it after you are done. I just open a terminal and ./tablet.sh to have all my settings loaded.

The values for the xinput map-to-output 15 DVI-I-1 were gathered using xinput and xrandr.

Following another post, if you have 2 screens and want to limit it to one, use something like the below which you can find using the xrandr command line command. Running xinput in the terminal should give you a list of HUION devices. The 15 below was the HUION PenTablet Pen stylus device listed, your number may vary. The below maps to my monitor connected via DVI.

I cut and paste much of this from another post of mine, trying to spread this around.