个人工具

UbuntuHelp:TabletSetupWizardpen/zh

来自Ubuntu中文

跳转至: 导航, 搜索

Known tablets working with the Wizardpen-driver
The setup has been tested with the following USB tablets. Non-USB tablets is not supported by this guide.

Known Tablet Names (The packaging)
Acecad Flair II GT-504
G-pen
Genius Wizardpen
Genius Mousepen
Genius
iBall
Manhattan
Pentagram
QWare
UC-LOGIC
Known Tablet SystemNames (How the computer recognize it!)
Syntax: Output from "/sys/bus/usb/devices/*/product" (Output from "lsusb") - Name
Tablet WP4030U (lsusb: UC-Logic Technology Corp. ) - Tablet WP4030U
Tablet WP5540U (lsusb: UC-Logic Technology Corp. Genius MousePen 5x4 Tablet) - Genius MousePen 5x4 Tablet
Tablet WP8060U (Genius MousePen 8x6 Tablet) - Genius MousePen 8x6" Tablet
Tablet WP8060U (lsusb:UC-Logic Technology Corp.) - Manhattan Graphics Tablet 8x6"
Tablet PF1209 (lsusb: UC-Logic Technology Corp.) - Genius PenSketch 9x12"
Tablet PF1209 - Pentagram Titan Tablet
If your tablet is working, but not listed here, please ADD it! (If you don't have an account, then email me: [email protected])

Setting up your tablet
General information
This guide is based on the newest release: *ubuntu 7.10 (Gutsy Gibbon) For an *ubuntu 5.10 (Breezy Badger)-version, see TabletSetupWizardpenBreezy For an *ubuntu 6.06 (Dapper Drake)-version, see TabletSetupWizardpenDapper For an *ubuntu 6.10 (Edgy Eft)-version, see TabletSetupWizardpenEdgy For an *ubuntu 7.04 (Feisty Fawn)-version, see TabletSetupWizardpenFeisty IconsPage?action=AttachFile&do=get&target=warning.png AMD64 use may cause problems! - Currently the following link doesn't work! An AMD64 package for Gutsy is available from here.

Installing needed packages
Open a terminal Install some needed packages - Run this command:

sudo apt-get install xutils libx11-dev libxext-dev x-dev build-essential xautomation xinput

Downloading and installing the driver
Download the wizardpen driver, and extract it! - Run these commands:

wget http://www.dallerweb.dk/ubuntu/wizardpen-driver-0.5.0.tar.gz

tar -xvzf wizardpen-driver-0.5.0.tar.gz

cd wizardpen-driver-0.5.0

In gutsy, there seems to be an issue with the compilation of the driver. To fix this, I've compiled the driver on a dapper-system, and uploaded it to my site. To install "my" driver, run these commands:

wget http://www.dallerweb.dk/dl.php?file=wizardpen_drv.so -O wizardpen_drv.so

sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/

Setting up udev (If the tablet is USB)
Connect your tablet, if it is not connected yet. Find out what the device is called: (product) - Run this command:

cat /sys/bus/usb/devices/*/product

The output will look something like this: (depending on your system)

Tablet WP8060U
UHCI Host Controller
UHCI Host Controller
UHCI Host Controller
EHCI Host Controller

Note the product of the tablet (obviously Tablet WP8060U in my case!) Now, add a udev rule: (Note that the SYSFS{product} is tablet-specific! - See output from above command!) Run these commands:

sudo bash

echo 'BUS=="usb", KERNEL=="event*", SYSFS{product}=="Tablet WP8060U", NAME="input/%k", SYMLINK+="tablet-event", MODE="0666"' >> /etc/udev/rules.d/010_local.rules

exit

Restart udev - Run this command:

sudo /etc/init.d/udev restart

Check that the syslink has been created - Run this command:

ls -la /dev/tablet-event

If it outputs a line, it means that it succeeded!

Calibration
IconsPage?action=AttachFile&do=get&target=IconHint2.png Note: In the subsection, you'll find output from calibrate! If you tablet is listed there, you can just use that output instead!

If you tablet isn't listed, I would love to recieve an email with the output, and the model of your tablet! (See email at the end of the page!)
If you want to calibrate yourself, just proceed. IconsPage?action=AttachFile&do=get&target=warning.png AMD64 use may cause problems! - Currently the following link doesn't work! Note: AMD64 Gutsy users only can install a ready made package for the calibration tool from here. Enter the "calibrate"-directory - Run this command:

cd calibrate

Build the calibration tool - Run this command:

make

Calibrate in order to find the edges of your tablet/digitizer - Run this command:

sudo ./wizardpen-calibrate /dev/tablet-event

Save the output from wizardpen-calibrate (the last 12 lines!) - You'll need it later in this howto!

Calibration output (If calibrate for some reason doesn't work!)
IconsPage?action=AttachFile&do=get&target=IconHint2.png Skip this section if calibrate worked for you! Tablet W5540U (UC-Logic):

Section "InputDevice"
Identifier "WizardPen Tablet"
Option "SendCoreEvents" "true"
Driver "wizardpen"
Option "Device" "/dev/tablet-event"
Option "TopX" "2199"
Option "TopY" "3598"
Option "BottomX" "30325"
Option "BottomY" "29278"
Option "MaxX" "30325"
Option "MaxY" "29278"
EndSection

Tablet W8060U (UC-Logic):

Section "InputDevice"
Identifier "WizardPen Tablet"
Option "SendCoreEvents" "true"
Driver "wizardpen"
Option "Device" "/dev/tablet-event"
Option "TopX" "826"
Option "TopY" "2626"
Option "BottomX" "32747"
Option "BottomY" "32762"
Option "MaxX" "32747"
Option "MaxY" "32762"
EndSection

Tablet PF1209 (UC-LOGIC)

Section "InputDevice"
Identifier "WizardPen Tablet"
Option "SendCoreEvents" "true"
Driver "wizardpen"
Option "Device" "/dev/tablet-event"
Option "TopX" "0"
Option "TopY" "1553"
Option "BottomX" "32541"
Option "BottomY" "32762"
Option "MaxX" "32541"
Option "MaxY" "32762"
EndSection

Setting up X
Now we are ready to edit the xorg.conf file! Take a backup - Run this command:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Edit the file - Run this command:

sudo vim /etc/X11/xorg.conf

Press "I" - So that "-- INSERT --" appears! Insert the output from calibrate into xorg.conf: (just place it below your generic mouse!) Add the following line in the "ServerLayout" section:

InputDevice "WizardPen Tablet" "AlwaysCore"

Save the file, and exit the editor! (Press "ESC" and write ":wq" and press "Enter")

Making X start without a tablet connected
Now, the driver should NOT be initialized, if the tablet is NOT found! The wizardpen-driver does not support hotplugging, so we should run a script on startup, to define whether or not the tablet is present. Open /etc/rc.local - Run this command:

sudo vim /etc/rc.local

Press "I" - So that "-- INSERT --" appears! ...and insert some code: (insert it JUST above "exit 0")

XORG_CONF=/etc/X11/xorg.conf
if [ -e /dev/tablet-event ]; then
sed -ie 's/^\(\s*\)\#\(\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\1\2/' "$XORG_CONF"
echo "Udev created /dev/tablet-event = Tablet present! - Tablet-driver enabled"
else
sed -ie 's/\(^\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\#&/' "$XORG_CONF"
echo "Udev did NOT create /dev/tablet-event = tablet NOT present! - Tablet-driver disabled"
fi

...so that the file looks something like this: (in case you haven't added anything else to the file!)

  1. !/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

XORG_CONF=/etc/X11/xorg.conf
if [ -e /dev/tablet-event ]; then
sed -ie 's/^\(\s*\)\#\(\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\1\2/' "$XORG_CONF"
echo "Udev created /dev/tablet-event = Tablet present! - Tablet-driver enabled"
else
sed -ie 's/\(^\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\#&/' "$XORG_CONF"
echo "Udev did NOT create /dev/tablet-event = tablet NOT present! - Tablet-driver disabled"
fi

exit 0


Save the file, and exit the editor! (Press "ESC" and write ":wq" and press "Enter") Now you can test udev's ability to detect the tablet - Run this command:

sudo /etc/init.d/rc.local start

The output will tell you if it is present or not! - And it should match reality! (try to disconnect it, and try again! - connect, and then again! - etc...) You should now be able to restart X and have the tablet working as a mouse. I'm still working on a way to support hotplugging, but the above code-example will make X start without a present tablet.

Configuring the buttons on the pen
I'm working on a wizard for this task! In the meantime, look into the package "xinput" which is installed first in this guide. Here is a list of numbers with their corresponding function:

Number Function
0 No action (only movement)
1 Left button click
2 Middle Button click
3 Right Button click
4 Scroll up (one click equals one step of scroll wheel in my logitech mouse)
5 Scroll down

Configuring the tablet HOTSPOTS
I'm working on a daemon for this task! It's working almost well so far, just need a little tweaking, and making it start automatically. The biggest problem is to execute the commands as child-processes (so that a failure doesn't cause the daemon to die!)

Troubleshooting - See this if you have any problems
The command cat /var/log/Xorg.0.log | grep "wizardpen" outputs errors
The output of
cat /var/log/Xorg.0.log | grep "wizardpen"

may reveal several errors, some of them are: Module present, but with compilation-errors:

(II) LoadModule: "wizardpen"
(II) Loading /usr/lib/xorg/modules/input/wizardpen_drv.so
dlopen: /usr/lib/xorg/modules/input/wizardpen_drv.so: undefined symbol: __stack_chk_fail_local
(EE) Failed to load /usr/lib/xorg/modules/input/wizardpen_drv.so
(II) UnloadModule: "wizardpen"
(EE) Failed to load module "wizardpen" (loader failed, 7)
(EE) No Input driver matching `wizardpen'

Module missing:

(II) LoadModule: "wizardpen"
(WW) Warning, couldn't open module wizardpen
(II) UnloadModule: "wizardpen"
(EE) Failed to load module "wizardpen" (module does not exist, 0)
(EE) No Input driver matching `wizardpen'

If you get the above using the Gutsy AMD64 package do the following, then restart Xorg:

sudo cp /usr/lib/modules/input/wizardpen_drv.so /usr/lib/xorg/modules/input/

The Xserver is not starting after playing with the xorg.conf file
Wow - That's bad! - First of all, check that you set everything right! Well, I suggest that you drop me an email, telling me what went wrong! And then just restore the backup we created - run this command:

sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

Everything seems to work, except pressure sensitivity
All the tablets mentioned in "known tablets" has pressure sensitivity support in Linux! If pressure-sensitivity doesn't work, there are 3 possible causes! 1. The driver is not properly installed 2. The tablet is not supported by this driver 3. The application is not properly configured, to accept pressure sensitivity.

Please make sure that your favourite application supports pressure sensitivity.

Application Support for pressure sensitivity Guide
Krita Full support since 1.6 Non yet
Inkscape Full support TabletSetupInkscape
Gimp Full support - but problems with 2.2.13 TabletSetupGIMP

Please tell me about other applications!

Pressure sensitivity works, but is not calibrated well
The section we inserted into xorg.conf holds some options to calibrate the area of the tablet, but I haven't put in options to configure pressure sensitivity, since it varies a lot. You can insert these options to enable MAX and MIN pressure sensitivity: Option "TopZ" "10" Option "BottomZ" "511" Option "MaxZ" "511" Where "TopZ" represents the lowest pressure-level to accept, and "BottomZ"/"MaxZ" represents the maximum pressure-level to accept.

I have problems not solved by the above troubleshooting
Maybe I can help! Plug in your tablet FIRST (If not already plugged in), and THEN run these commands: This requires that you have downloaded the tar-file to your home-directory! (Which is default!)

cd ~/wizardpen-driver-0.5.0/debug

./debug

The last command (may take some time to execute) will create the file "errorlog" which holds the information I would like in order to be able to help you! IconsPage?action=AttachFile&do=get&target=IconEnvelope.png Please mail me on: [email protected] (And don't forget to attach the errorlog!)


--------------------------------------------------------------------------------
Category:CategoryHardware Category:UbuntuHelp