Linux support for Genius WizardPen, Mousepen, UGEE, UC-Logic, DigiPro tablets
Wednesday, 25 June 2008
I noticed that today’s Woot was a DigiPro UC-Logic drawing tablet. I happen to own a UC-Logic tablet: a “WP4158U 快速龙” made by Taiwanese company UGEE. UC-Logic makes tablet technology for many different companies, and their USB interface is relatively standard and straightforward. (I naively tried reverse-engineering the USB communication for my tablet a couple years ago, and then didn’t know what to do with the results.) All of the UC-Logic tablets, as well as Genius Wizardpens and even Aiptek tablets can be used in Linux with the “wizardpen” driver.
The basic instructions for setting up the wizardpen driver in Ubuntu can be found on the Ubuntu wiki. If you use Ubuntu, use the instructions on there to install the driver; otherwise, do what your distribution needs. However, the instructions on there for configuring udev and X.org are a bit overcomplicated and unnecessary. You don’t need to create udev rules. Instead, in your xorg.conf, add something like
Section "InputDevice" Identifier "MyGenericTablet" Option "SendCoreEvents" "true" Driver "wizardpen" Option "Name" "Tablet WP5540U" Option "TopX" "2199" #Replace these numbers with Option "TopY" "3598" #numbers correct for your Option "BottomX" "30325" #own unique tablet by using Option "BottomY" "29278" #wizardpen-calibrate Option "MaxX" "30325" Option "MaxY" "29278" EndSection
Where the “Name” option is the name of your tablet. You can find out the proper name of your tablet by running
$ cat /sys/bus/usb/devices/*/product
and looking for the line that would be your tablet. Mine was simply called “TABLET DEVICE”, so that’s what I put in my config. That way, X will now to use the wizardpen driver for the device that has that name, saving you the trouble of creating udev rules.
Next, don’t forget to add
InputDevice "MyGenericTablet" "AlwaysCore"
to your ServerLayout section. Forgetting this little step will leave the configuration incomplete, and your tablet broken. After you restart X, start the GIMP, Inkscape, Krita, or whatever paint program you use. Go into the configuration, into Extended Input Devices, and you should see a new entry that bears the name “MyGenericTablet” or whatever you called it. You should be able to draw with pressure sensitivity with your fully-functional tablet. However, one problem that might occur is that you get two separate cursors—your paint cursor and a regular mouse cursor—whose positions are not matched. This is because your tablet is being reported twice: once in /dev/input/mice, and once with the tablet driver.
To fix this, you need to replace “/dev/input/mice” with “/dev/input/mouse#” where “mouse#” is the entry for your mouse. The way I found out which one was the right one was by running “$ sudo cat /dev/mouse1″, moving my mouse, and seeing if any gibberish appeared on the screen. I did the same for mouse2, etc. until I found the right one. However, if you do this, be aware that you may need to change this entry when you change to a new mouse, because X.org is not longer set up to use aggregated mouses.