个人工具

UbuntuHelp:TabletSetupWizardpenSpanish

来自Ubuntu中文

跳转至: 导航, 搜索

/!\ Please beware that the spanish guide may not be 100% updated compared to the original version TabletSetupWizardpen, since the author is not a native spanish speaking person.

Known tablets working with the Wizardpen-driver (NOT TRANSLATED!!!)

The setup has been tested with the following tablets.

Known vendors

  • Genius Wizardpen
  • Genius Mousepen
  • iBall
  • QWare
  • UC-LOGIC

Known tablets (NOT TRANSLATED!!!)

  • "/sys/bus/usb/devices/*/product" (Output from lsusb)
  • Tablet WP4030U
  • Tablet WP5540U (lsusb: UC-Logic Technology Corp. Genius MousePen 5x4 Tablet)
  • Tablet WP8060U (Genius MousePen 8x6 Tablet)

If your tablet is not listed here, please ADD it! (If you don't have an account, then email me: [email protected])

Known problems (NOT TRANSLATED!!!)

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 requirements (NOT TRANSLATED!!!)

This guide is based on the newest stable release: *ubuntu 6.10 (Edgy Eft) For an *ubuntu 6.06 (Dapper Drake)-version, see TabletSetupWizardpenDapper This guide is only for USB tablets! - Any addition to support serial-tablets would be greatly appreaciated.

Installing needed packages (NOT TRANSLATED!!!)

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

Instalación del driver

Desempaquetamos el archivo y entramos a la carpeta que hemos obtenido. En terminal:

wget http://www.stud.fit.vutbr.cz/~xhorak28/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 (NOT TRANSLATED!!!)

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 this command:

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

Ahora,copiamos el driver a la carpeta de entrada de los drivers. En terminal:

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

If you have problems downloading this driver, please email me: [email protected] If you want to use a browser for the download, please use this URL: http://www.dallerweb.dk/dl.php?file=wizardpen_drv.so

Configuración del udev (NOT TRANSLATED!!!)

Conectamos la tableta (por usb). Buscamos el nombre del dispositivo. Ejecutar en terminal:

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

La salida nos debería de mostrar algo así:

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

Reiniciamos udev:

sudo /etc/init.d/udev restart

Comprobamos si el syslink ha sido creado:

ls -la /dev/tablet-event

Si nos muestra resultados,es que ha sido creado correctamente.

Calibration (NOT TRANSLATED!!!)

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. 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 8 lines!) - You need it later in this howto!

Calibration output (If calibrate for some reason doesn't work!) (NOT TRANSLATED!!!)

IconsPage?action=AttachFile&do=get&target=IconHint2.png Skip this section if calibrate worked for you! Tablet W5540U (UC-Logic):

        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"

Tablet W8060U (UC-Logic):

        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"

Configuración de las X (NOT TRANSLATED!!!)

Lo primero, por seguridad, es hacer una copia de seguridad del archivo que vamos a editar. En los pasos anteriores, aun cometiendo algún fallo, no provocaríamos ningún sobresalto al sistema y este funcionaría sin problemas (o debería). Sin embargo, a partir de ahora, los cambios que hagamos pueden causar que el servidor X (el sistema de ventanitas) deje de funcionar. Ejecutar en terminal:

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 following section into xorg.conf: (just place it below your generic mouse!)

Section "InputDevice"
  Identifier "WizardPen Tablet"
  Option "SendCoreEvents" "true"
  (the output from calibrate)
EndSection

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 (NOT TRANSLATED!!!)

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, which means that the tablet is 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, which means that the tablet is 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, which means that the tablet is 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, which means that the tablet is 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 (NOT TRANSLATED!!!)

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. 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 (NOT TRANSLATED!!!)

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 (NOT TRANSLATED!!!)

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!)

Configuring different applications to work with the tablet

For "The GIMP" - See: TabletSetupGIMP For "Inkscape" - See: TabletSetupInkscape

Troubleshooting - See this if you have any problems (NOT TRANSLATED!!!)

I have followed the guide without getting errors, but it still doesn't work! (NOT TRANSLATED!!!)

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: https://help.ubuntu.com/community/TabletSetupWizardpen#head-2b7a38de2ee5f77258591f0f1e7984a761bed268

The Xserver is not starting after playing with the xorg.conf file (NOT TRANSLATED!!!)

Si en cualquier momento del proceso, nos encontramos que al arrancar las X, ya sea al reiniciar la maquina o al hacer un control + alt + backspace, nos encontramos con que la pantalla se queda en negro y no acaba de arrancar, no debemos de alarmarnos. Reseteamos, y ejecutamos Ubuntu en modo de recovery mode. Cuando acabe de cargar del todo, nos encontramos en un terminal. Nos identificamos con nuestra cuenta de usuario. Entonces, si no sabemos cual es el fallo, y queremos recuperar el archivo xorg.conf inicial,ejecutamos:

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

Everything seems to work, except pressure sensitivity (NOT TRANSLATED!!!)

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
Krita No support
Inkscape Full support
Gimp Full support

Please tell me about other applications!

I have problems not solved by the above troubleshooting (NOT TRANSLATED!!!)

IconsPage?action=AttachFile&do=get&target=IconEnvelope.png Please mail me on: [email protected]

Did it work? (NOT TRANSLATED!!!)

IconsPage?action=AttachFile&do=get&target=IconEnvelope.png Please mail ([email protected]) me your experiences with this guide! If you have any suggestions, also let me know! Note: I do NOT understand spanish! Thank you!