“UbuntuHelp:TabletSetupWizardpenEdgy”的版本间的差异
来自Ubuntu中文
小 (新页面: {{From|https://help.ubuntu.com/community/TabletSetupWizardpenEdgy}} {{Languages|UbuntuHelp:TabletSetupWizardpenEdgy}} https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=ge...) |
小 |
||
第1行: | 第1行: | ||
{{From|https://help.ubuntu.com/community/TabletSetupWizardpenEdgy}} | {{From|https://help.ubuntu.com/community/TabletSetupWizardpenEdgy}} | ||
{{Languages|UbuntuHelp:TabletSetupWizardpenEdgy}} | {{Languages|UbuntuHelp:TabletSetupWizardpenEdgy}} | ||
− | |||
− | |||
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=warning.png THIS GUIDE IS NO LONGER UPDATED - SEE: TabletSetupWizardpen for support for the newest release | https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=warning.png THIS GUIDE IS NO LONGER UPDATED - SEE: TabletSetupWizardpen for support for the newest release | ||
− | |||
== Known tablets working with the Wizardpen-driver == | == Known tablets working with the Wizardpen-driver == | ||
− | |||
The setup has been tested with the following USB tablets. | The setup has been tested with the following USB tablets. | ||
− | |||
Serial tablets is not supported by this guide. | Serial tablets is not supported by this guide. | ||
− | |||
=== Known Tablet Names (The packaging) === | === Known Tablet Names (The packaging) === | ||
− | |||
* AceCad Flair II GT-504 | * AceCad Flair II GT-504 | ||
* G-pen | * G-pen | ||
第22行: | 第15行: | ||
* QWare | * QWare | ||
* UC-LOGIC | * UC-LOGIC | ||
− | |||
=== Known Tablet SystemNames (How the computer recognize it!) === | === Known Tablet SystemNames (How the computer recognize it!) === | ||
− | |||
* Syntax: Output from "/sys/bus/usb/devices/*/product" (Output from "lsusb") - Name | * Syntax: Output from "/sys/bus/usb/devices/*/product" (Output from "lsusb") - Name | ||
− | |||
* Tablet WP4030U (lsusb: UC-Logic Technology Corp. ) - Tablet WP4030U | * 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 WP5540U (lsusb: UC-Logic Technology Corp. Genius MousePen 5x4 Tablet) - Genius MousePen 5x4 Tablet | ||
第32行: | 第22行: | ||
* Tablet WP8060U (lsusb:UC-Logic Technology Corp.) - Manhattan Graphics Tablet 8x6" | * Tablet WP8060U (lsusb:UC-Logic Technology Corp.) - Manhattan Graphics Tablet 8x6" | ||
* Tablet PF1209 (lsusb: UC-Logic Technology Corp.) - Genius PenSketch 9x12" | * Tablet PF1209 (lsusb: UC-Logic Technology Corp.) - Genius PenSketch 9x12" | ||
− | |||
− | |||
If your tablet is working, but not listed here, please ADD it! (If you don't have an account, then email me: [email protected]) | If your tablet is working, but not listed here, please ADD it! (If you don't have an account, then email me: [email protected]) | ||
− | |||
=== Known problems === | === Known problems === | ||
− | |||
There are some problems, that I haven't been able to solve: | There are some problems, that I haven't been able to solve: | ||
− | |||
'''* Hotplugging''' - The driver doesn't support hotplugging - but this howto includes a partial workaround | '''* Hotplugging''' - The driver doesn't support hotplugging - but this howto includes a partial workaround | ||
− | |||
'''* HOTSPOTS''' - The driver doesn't support the HOTSPOTS of the tablet! - I'm working on a solution to this one! | '''* HOTSPOTS''' - The driver doesn't support the HOTSPOTS of the tablet! - I'm working on a solution to this one! | ||
− | |||
== Setting up your tablet == | == Setting up your tablet == | ||
− | |||
=== General information === | === General information === | ||
− | |||
This guide is based on the release: '''*ubuntu 6.10 (Edgy Eft)''' | This guide is based on the release: '''*ubuntu 6.10 (Edgy Eft)''' | ||
− | |||
For the newest version, see TabletSetupWizardpen | For the newest version, see TabletSetupWizardpen | ||
− | |||
=== Installing needed packages === | === Installing needed packages === | ||
− | |||
Open a terminal | Open a terminal | ||
− | |||
Install some needed packages - Run this command: | Install some needed packages - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install xutils libx11-dev libxext-dev x-dev build-essential xautomation xinput | sudo apt-get install xutils libx11-dev libxext-dev x-dev build-essential xautomation xinput | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Downloading and installing the driver === | === Downloading and installing the driver === | ||
− | |||
Download the wizardpen driver, and extract it! - Run these commands: | Download the wizardpen driver, and extract it! - Run these commands: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
wget http://www.dallerweb.dk/ubuntu/wizardpen-driver-0.5.0.tar.gz | wget http://www.dallerweb.dk/ubuntu/wizardpen-driver-0.5.0.tar.gz | ||
第75行: | 第48行: | ||
cd wizardpen-driver-0.5.0 | cd wizardpen-driver-0.5.0 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
==== Fixing the issues with compilation of the driver in edgy ==== | ==== Fixing the issues with compilation of the driver in edgy ==== | ||
− | |||
In edgy, there seems to be an issue with the compilation of the driver. | In edgy, there seems to be an issue with the compilation of the driver. | ||
− | |||
To fix this, I've compiled the driver on dapper, and uploaded it to my site. | To fix this, I've compiled the driver on dapper, and uploaded it to my site. | ||
− | |||
To install "my" driver, run these commands: | To install "my" driver, run these commands: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
wget http://www.dallerweb.dk/dl.php?file=wizardpen_drv.so -O wizardpen_drv.so | wget http://www.dallerweb.dk/dl.php?file=wizardpen_drv.so -O wizardpen_drv.so | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/ | sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Setting up udev (If the tablet is USB) === | === Setting up udev (If the tablet is USB) === | ||
− | |||
Connect your tablet, if it is not connected yet. | Connect your tablet, if it is not connected yet. | ||
− | |||
Find out what the device is called: (product) - Run this command: | Find out what the device is called: (product) - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
cat /sys/bus/usb/devices/*/product | cat /sys/bus/usb/devices/*/product | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
The output will look something like this: (depending on your system) | The output will look something like this: (depending on your system) | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
Tablet WP8060U | Tablet WP8060U | ||
第111行: | 第72行: | ||
EHCI Host Controller | EHCI Host Controller | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Note the product of the tablet (obviously '''Tablet WP8060U''' in my case!) | 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!) | Now, add a udev rule: (Note that the '''SYSFS{product}''' is tablet-specific! - See output from above command!) | ||
− | |||
Run these commands: | Run these commands: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo bash | sudo bash | ||
第127行: | 第84行: | ||
exit | exit | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Restart udev - Run this command: | Restart udev - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo /etc/init.d/udev restart | sudo /etc/init.d/udev restart | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Check that the syslink has been created - Run this command: | Check that the syslink has been created - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
ls -la /dev/tablet-event | ls -la /dev/tablet-event | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
If it outputs a line, it means that it succeeded! | If it outputs a line, it means that it succeeded! | ||
− | |||
=== Calibration === | === Calibration === | ||
− | |||
https://help.ubuntu.com/community/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! | https://help.ubuntu.com/community/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 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. | If you want to calibrate yourself, just proceed. | ||
− | |||
Enter the "calibrate"-directory - Run this command: | Enter the "calibrate"-directory - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
cd calibrate | cd calibrate | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Build the calibration tool - Run this command: | Build the calibration tool - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
make | make | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Calibrate in order to find the edges of your tablet/digitizer - Run this command: | Calibrate in order to find the edges of your tablet/digitizer - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo ./wizardpen-calibrate /dev/tablet-event | sudo ./wizardpen-calibrate /dev/tablet-event | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Save the output from wizardpen-calibrate (the last 12 lines!) - You'll need it later in this howto! | 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!) ==== | ==== Calibration output (If calibrate for some reason doesn't work!) ==== | ||
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconHint2.png Skip this section if calibrate worked for you! | https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconHint2.png Skip this section if calibrate worked for you! | ||
− | |||
Tablet W5540U (UC-Logic): | Tablet W5540U (UC-Logic): | ||
<pre><nowiki> | <pre><nowiki> | ||
第188行: | 第127行: | ||
EndSection | EndSection | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Tablet W8060U (UC-Logic): | Tablet W8060U (UC-Logic): | ||
<pre><nowiki> | <pre><nowiki> | ||
第204行: | 第142行: | ||
EndSection | EndSection | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Tablet PF1209 (UC-LOGIC) | Tablet PF1209 (UC-LOGIC) | ||
<pre><nowiki> | <pre><nowiki> | ||
第220行: | 第157行: | ||
EndSection | EndSection | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Setting up X === | === Setting up X === | ||
Now we are ready to edit the xorg.conf file! | Now we are ready to edit the xorg.conf file! | ||
− | |||
Take a backup - Run this command: | Take a backup - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup | sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Edit the file - Run this command: | Edit the file - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo vi /etc/X11/xorg.conf | sudo vi /etc/X11/xorg.conf | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Press '''"I"''' - So that '''"-- INSERT --"''' appears! | Press '''"I"''' - So that '''"-- INSERT --"''' appears! | ||
− | |||
Insert the output from calibrate into xorg.conf: (just place it below your generic mouse!) | Insert the output from calibrate into xorg.conf: (just place it below your generic mouse!) | ||
− | |||
Add the following line in the "ServerLayout" section: | Add the following line in the "ServerLayout" section: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
InputDevice "WizardPen Tablet" "AlwaysCore" | InputDevice "WizardPen Tablet" "AlwaysCore" | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Save the file, and exit the editor! (Press "ESC" and write ":wq" and press "Enter") | Save the file, and exit the editor! (Press "ESC" and write ":wq" and press "Enter") | ||
− | |||
==== Making X start without a tablet connected ==== | ==== Making X start without a tablet connected ==== | ||
− | |||
Now, the driver should NOT be initialized, if the tablet is NOT found! | 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. | 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: | Open '''/etc/rc.local''' - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo vi /etc/rc.local | sudo vi /etc/rc.local | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Press '''"I"''' - So that '''"-- INSERT --"''' appears! | Press '''"I"''' - So that '''"-- INSERT --"''' appears! | ||
− | |||
...and insert some code: (insert it JUST above "exit 0") | ...and insert some code: (insert it JUST above "exit 0") | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
XORG_CONF=/etc/X11/xorg.conf | XORG_CONF=/etc/X11/xorg.conf | ||
第274行: | 第193行: | ||
fi | fi | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
...so that the file looks something like this: (in case you haven't added anything else to the file!) | ...so that the file looks something like this: (in case you haven't added anything else to the file!) | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
#!/bin/sh -e | #!/bin/sh -e | ||
第290行: | 第207行: | ||
# | # | ||
# By default this script does nothing. | # By default this script does nothing. | ||
− | |||
XORG_CONF=/etc/X11/xorg.conf | XORG_CONF=/etc/X11/xorg.conf | ||
if [ -e /dev/tablet-event ]; then | if [ -e /dev/tablet-event ]; then | ||
第299行: | 第215行: | ||
echo "Udev did NOT create /dev/tablet-event = tablet NOT present! - Tablet-driver disabled" | echo "Udev did NOT create /dev/tablet-event = tablet NOT present! - Tablet-driver disabled" | ||
fi | fi | ||
− | |||
exit 0 | exit 0 | ||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Save the file, and exit the editor! (Press "ESC" and write ":wq" and press "Enter") | 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: | Now you can test udev's ability to detect the tablet - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo /etc/init.d/rc.local start | sudo /etc/init.d/rc.local start | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
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...) | 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. | 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. | I'm still working on a way to support hotplugging, but the above code-example will make X start without a present tablet. | ||
− | |||
− | |||
==== Fix the X-freeze problem ==== | ==== Fix the X-freeze problem ==== | ||
− | |||
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=warning.png This is not possible, if you are running edgy, and not able to compile the driver correctly! | https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=warning.png This is not possible, if you are running edgy, and not able to compile the driver correctly! | ||
− | |||
This is a workaround to avoid an X-freeze if you unplug your tablet while X is running. | This is a workaround to avoid an X-freeze if you unplug your tablet while X is running. | ||
− | |||
Open the file '''wizardpen.c''', go to line 632, and remove these 4 lines: | Open the file '''wizardpen.c''', go to line 632, and remove these 4 lines: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
if ((local) && (local->fd)) | if ((local) && (local->fd)) | ||
第333行: | 第235行: | ||
xf86DeleteInput(local, 0); | xf86DeleteInput(local, 0); | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
These 4 lines deactivate the driver after an unplug, which is a good thing in itself. | These 4 lines deactivate the driver after an unplug, which is a good thing in itself. | ||
The sad thing is that xorg doesn't understand such a deactivation. | The sad thing is that xorg doesn't understand such a deactivation. | ||
− | |||
After removing the lines, you should compile the driver again - Run this command: | After removing the lines, you should compile the driver again - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
xmkmf && make | xmkmf && make | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Copy the newly-compiled driver to the driver directory - Run this command: | Copy the newly-compiled driver to the driver directory - Run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/ | sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
− | |||
=== Configuring the buttons on the pen === | === Configuring the buttons on the pen === | ||
− | |||
I'm working on a wizard for this task! | I'm working on a wizard for this task! | ||
− | |||
In the meantime, look into the package "xinput" which is installed first in this guide. | 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: | Here is a list of numbers with their corresponding function: | ||
− | |||
{|border="1" cellspacing="0" | {|border="1" cellspacing="0" | ||
| Number || Function | | Number || Function | ||
第373行: | 第264行: | ||
| 5 || Scroll down | | 5 || Scroll down | ||
|} | |} | ||
− | |||
=== Configuring the tablet HOTSPOTS === | === Configuring the tablet HOTSPOTS === | ||
− | |||
I'm working on a daemon for this task! | 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. | 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!) | 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 == | == Troubleshooting - See this if you have any problems == | ||
− | |||
=== I have followed the guide without getting errors, but it still doesn't work! === | === I have followed the guide without getting errors, but it still doesn't work! === | ||
− | |||
On edgy you will get no errors if you compile the driver yourself. | On edgy you will get no errors if you compile the driver yourself. | ||
− | |||
But for some reason, the compilation is flawed! (because of the new GCC version) | But for some reason, the compilation is flawed! (because of the new GCC version) | ||
− | |||
You can see these errors by running this command: | You can see these errors by running this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
cat /var/log/Xorg.0.log | grep "wizardpen" | cat /var/log/Xorg.0.log | grep "wizardpen" | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
See this for a fix: (or the troubleshooting below...) | See this for a fix: (or the troubleshooting below...) | ||
− | |||
https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268 | https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268 | ||
− | |||
=== The command cat /var/log/Xorg.0.log | grep "wizardpen" outputs errors === | === 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: | 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: (please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268) | Module present, but with compilation-errors: (please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268) | ||
<pre><nowiki> | <pre><nowiki> | ||
第414行: | 第290行: | ||
(EE) No Input driver matching `wizardpen' | (EE) No Input driver matching `wizardpen' | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Module missing: (Please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268) | Module missing: (Please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268) | ||
<pre><nowiki> | <pre><nowiki> | ||
第423行: | 第298行: | ||
(EE) No Input driver matching `wizardpen' | (EE) No Input driver matching `wizardpen' | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== The Xserver is not starting after playing with the xorg.conf file === | === 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! | 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! | 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: | And then just restore the backup we created - run this command: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf | sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Everything seems to work, except pressure sensitivity === | === Everything seems to work, except pressure sensitivity === | ||
− | |||
All the tablets mentioned in "known tablets" has pressure sensitivity support in Linux! | All the tablets mentioned in "known tablets" has pressure sensitivity support in Linux! | ||
− | |||
Please make sure that your favourite application supports pressure sensitivity. | Please make sure that your favourite application supports pressure sensitivity. | ||
− | |||
{|border="1" cellspacing="0" | {|border="1" cellspacing="0" | ||
| Application || Support for pressure sensitivity || Guide | | Application || Support for pressure sensitivity || Guide | ||
第451行: | 第317行: | ||
| Gimp || Full support || [[UbuntuHelp:TabletSetupGIMP]] | | Gimp || Full support || [[UbuntuHelp:TabletSetupGIMP]] | ||
|} | |} | ||
− | |||
Please tell me about other applications! | Please tell me about other applications! | ||
− | |||
=== Pressure sensitivity works, but is not calibrated well === | === 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. | 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: | You can insert these options to enable MAX and MIN pressure sensitivity: | ||
− | |||
Option "TopZ" "10" | Option "TopZ" "10" | ||
− | |||
Option "BottomZ" "511" | Option "BottomZ" "511" | ||
− | |||
Option "MaxZ" "511" | Option "MaxZ" "511" | ||
− | |||
Where "TopZ" represents the lowest pressure-level to accept, and "BottomZ"/"MaxZ" represents the maximum pressure-level to accept. | 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 === | === I have problems not solved by the above troubleshooting === | ||
− | |||
Maybe I can help! | Maybe I can help! | ||
− | |||
I assume your terminal is in the calibrate directory! (daniel@daniel-laptop:~/wizardpen-driver-0.5.0/calibrate$) | I assume your terminal is in the calibrate directory! (daniel@daniel-laptop:~/wizardpen-driver-0.5.0/calibrate$) | ||
− | |||
Plug in your tablet FIRST (If not already plugged in), and THEN run these commands: | Plug in your tablet FIRST (If not already plugged in), and THEN run these commands: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
cd .. | cd .. | ||
第485行: | 第338行: | ||
./debug | ./debug | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
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! | 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! | ||
− | |||
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconEnvelope.png Please mail me on: [email protected] (And don't forget to attach the errorlog!) | https://help.ubuntu.com/community/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:CategoryHardware]] | ||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2007年11月30日 (五) 21:42的版本
点击翻译: |
English |
请不要直接编辑翻译本页,本页将定期与来源同步。 |
THIS GUIDE IS NO LONGER UPDATED - SEE: TabletSetupWizardpen for support for the newest release
目录
- 1 Known tablets working with the Wizardpen-driver
- 2 Setting up your tablet
- 3 Troubleshooting - See this if you have any problems
- 3.1 I have followed the guide without getting errors, but it still doesn't work!
- 3.2 The command cat /var/log/Xorg.0.log | grep "wizardpen" outputs errors
- 3.3 The Xserver is not starting after playing with the xorg.conf file
- 3.4 Everything seems to work, except pressure sensitivity
- 3.5 Pressure sensitivity works, but is not calibrated well
- 3.6 I have problems not solved by the above troubleshooting
Known tablets working with the Wizardpen-driver
The setup has been tested with the following USB tablets. Serial 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
- 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"
If your tablet is working, but not listed here, please ADD it! (If you don't have an account, then email me: [email protected])
Known problems
There are some problems, that I haven't been able to solve: * Hotplugging - The driver doesn't support hotplugging - but this howto includes a partial workaround * HOTSPOTS - The driver doesn't support the HOTSPOTS of the tablet! - I'm working on a solution to this one!
Setting up your tablet
General information
This guide is based on the release: *ubuntu 6.10 (Edgy Eft) For the newest version, see TabletSetupWizardpen
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
Fixing the issues with compilation of the driver in edgy
In edgy, there seems to be an issue with the compilation of the driver. To fix this, I've compiled the driver on dapper, 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
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. 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!)
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 vi /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 vi /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!)
#!/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.
Fix the X-freeze problem
This is not possible, if you are running edgy, and not able to compile the driver correctly! This is a workaround to avoid an X-freeze if you unplug your tablet while X is running. Open the file wizardpen.c, go to line 632, and remove these 4 lines:
if ((local) && (local->fd)) xf86CloseSerial(local->fd); if (local) xf86DeleteInput(local, 0);
These 4 lines deactivate the driver after an unplug, which is a good thing in itself. The sad thing is that xorg doesn't understand such a deactivation. After removing the lines, you should compile the driver again - Run this command:
xmkmf && make
Copy the newly-compiled driver to the driver directory - Run this command:
sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/
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
I have followed the guide without getting errors, but it still doesn't work!
On edgy you will get no errors if you compile the driver yourself. But for some reason, the compilation is flawed! (because of the new GCC version) You can see these errors by running this command:
cat /var/log/Xorg.0.log | grep "wizardpen"
See this for a fix: (or the troubleshooting below...) https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268
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: (please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268)
(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: (Please see: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268)
(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'
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! 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 | UbuntuHelp: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! I assume your terminal is in the calibrate directory! (daniel@daniel-laptop:~/wizardpen-driver-0.5.0/calibrate$) Plug in your tablet FIRST (If not already plugged in), and THEN run these commands:
cd ..
cd 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! Please mail me on: [email protected] (And don't forget to attach the errorlog!)