Wacom

From CBLFS
Revision as of 07:53, 2 July 2007 by Punkie (talk | contribs) (Added configuration for the Wacom graphical tablets)
Jump to navigationJump to search
Download Source: http://downloads.sourceforge.net/linuxwacom/linuxwacom-0.7.8.tar.bz2

Introduction to Wacom

The Linux Wacom Project manages the drivers, libraries, and documentation for configuring and running Wacom graphic tablets under the Linux operating system. It contains diagnostic applications as well as updated kernel drivers and XFree86/X11R6 XInput drivers.

Project Homepage: http://linuxwacom.sourceforge.net/

Dependencies

Caution.png

Note

The current version, 0.7.8, has problems when using xsetwacom if you have build your Xorg7 with XCB. You may want to refer to the home page for a new version that fixes these problems.
The driver also seems to interfere with the Synaptics Touchpad (device) and possibly other mice, trying to control it if the tablet is not plugged in when starting X.

Required

Recommended

  • Gtk2 using the ./configure option --with-xinput=yes

Configuration Information

Prior to building the driver, make sure the kernel is configured with support for HID and Input device support (INPUT_EVDEV). Newer kernels also contain support for the Wacom tablets; if you plan to use the kernel module available with the libwacom driver, make sure you have this option built as a module.

Non-Multilib

Compile the package:

./configure --prefix=/usr --enable-dlloader &&
make

Install the package:

make install

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" USE_ARCH=32 ./configure \
--prefix=/usr --x-libraries=/usr/lib --build=i686-pc-linux-gnu \
--host=i686-pc-linux-gnu --disable-xserver64 --enable-dlloader \
--with-arch=32 --with-xlib=/usr/lib --enable-wacom &&
make

Install the package:

make install

N32

To do

64Bit

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" USE_ARCH=64 ./configure \
--prefix=/usr --libdir=/usr/lib64 --x-libraries=/usr/lib64 \
--enable-xserver64 --enable-dlloader --with-arch=64 --with-xlib=/usr/lib64 \
--enable-wacom &&
make

Install the package:

make install

Configuring

To do after the concert: add UDEV rules, edit xorg.conf, GTK configuration, GIMP configuration, Synaptics configuration

Udev rules

If you are using udev, you may want to create a new rule to assign a static name to the device.

cat > /etc/udev/rules.d/10-wacom.rules << "EOF"
KERNEL=="event*", ATTRS{idVendor}=="056a", NAME="input/%k", SYMLINK="input/wacom%e"
EOF

Restart udev service:

/etc/rc.d/init.d/udev force-reload

X configuration

Edit the xorg.conf file and add the necessary configuration:

In the Section "ServerLayout" add:

InputDevice    "Stylus0" "SendCoreEvents"
InputDevice    "Eraser0" "SendCoreEvents"
InputDevice    "Cursor" "SendCoreEvents"

If you have an Intuos3, Cintiq 21UX, Graphire4, or Bamboo tablet, also add this line:

InputDevice    "Pad"

Create these new sections:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "eraser"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Cursor"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "cursor"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

If you have an Intuos3, Cintiq 21UX, Graphire4, or Bamboo tablet, also add this section:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Pad"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "pad"
 Option        "USB"           "on"                  # USB ONLY
EndSection

Restart X to use the new configuration.

GTK configuration

If you have not already done so, re-build Gtk2 with the option --with-xinput=yes.

GIMP configuration

Start GIMP and click on menu File, Preferences, select the section Input Devices and click the Configure Extended Input Devices button. For each device (Stylus0, Eraser0, Cursor and Pad, if you have it), select Mode Screen. This will allow you to use the devices outside the image's window; if you want to restrict the cursor to the image, choose Mode Window instead.

Customizing extra buttons

You can customize the extra buttons using the xsetwacom program:

xsetwacom Stylus0 Button2 "core key ctrl shift b"

(This will set the second button on the stylus to the keyboard shortcut Ctrl+Shift+B, which by default is mapped to the Brushes dialog in GIMP.)

Tip: By default, the tablet's whole area is mapped out to the screen. If your screen is not a 4:3 size, this will cause horizontal lines to be "stretched out" over a larger area than the area needed for the same vertical line. If you want a 1:1 mapping, you can reduce the tablet's area according to a simple calculation:

Screen's X resolution / Tablet's X resolution = X Ratio Screen's Y resolution / Tablet's Y resolution = Y Ratio

If X Ratio is bigger than Y Ratio, you want to reduce the Tablet's Y resolution:

Screen's Y resolution * Tablet's X resolution / Screen's X resolution = Tablet's Y new resolution

You can set it with

xsetwacom set Stylus0 BottomY <Tablet's Y new resolution>
xsetwacom set Eraser0 BottomY <Tablet's Y new resolution>

If the X Ratio is smaller, reduce the Tablet's X resolution with this formula:

Screen's X resolution * Tablet's Y resolution / Screen's Y resolution = Tablet's X new resolution

If you don't want to repeat these calculations/settings every time you start X, enter them in the xorg.conf file.

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
 Option        "BottomY"       "<Tablet's Y new resolution>" # If your X ratio is bigger
 Option        "BottomX"       "<Tablet's X new resolution>" # If your X ratio is smaller
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "eraser"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
 Option        "BottomY"       "<Tablet's Y new resolution>" # If your X ratio is bigger
 Option        "BottomX"       "<Tablet's X new resolution>" # If your X ratio is smaller
EndSection


Using several pen

If you have several pen, you can define them in xorg.conf, using the "Serial" option in each Stylus/Eraser device. First, change the Wacom driver's debug verbosity:

xsetwacom set Stylus0 CommonDBG 6

Approach the first pen to the tablet and read the end of the /var/log/Xorg.0.log, looking for the serial number of the pen. Write it down, then approach the second pen to the tablet and read the new serial number. Next, edit xorg.conf and add the configuration:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<first serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<first serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus1"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<second serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser1"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<second serial #>"
EndSection

Remember to enable it in GIMP's preferences also.

Contents

Installed Directories: /usr/include/wacomcfg
Installed Programs: wacdump, wacomcpl, wacomcpl-exec, xsetwacom
Installed Libraries: libwacomcfg.{a,so}, libwacomxi.{a,so}

Short Descriptions

wacomdmp is a program that dumps events from the tablet, useful for verifying your tablet works.
xsetwacom is a program that allows you to set and get the current configuration of the tablet on the fly, without modifying the X configuration file and restarting. - currently not working with XCB
wacomcpl,wacomcpl-exec Graphical GUI for changing the current configuration of the tablet on the fly. - currently not working with XCB
Retrieved from "?title=Wacom&oldid=10575"