summaryrefslogtreecommitdiff
path: root/docs/docs.html
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-08-03 12:52:26 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-08-03 13:06:17 +1000
commit0e7c5819592680b8f75e29ad3d97f85bf4fd8da0 (patch)
treec4d6be57eee7bdb6e4c0967e8c67ca4bde78aa90 /docs/docs.html
parent3b90a8c834ebd15b8d3bdabe46497080d820ce23 (diff)
downloadxf86-input-wacom-0e7c5819592680b8f75e29ad3d97f85bf4fd8da0.tar.gz
Purge all but the X driver from this repository.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'docs/docs.html')
-rw-r--r--docs/docs.html4729
1 files changed, 0 insertions, 4729 deletions
diff --git a/docs/docs.html b/docs/docs.html
deleted file mode 100644
index 4214b00..0000000
--- a/docs/docs.html
+++ /dev/null
@@ -1,4729 +0,0 @@
-<html><head>
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-
-<title>The Linux Wacom Project</title>
-<style><!--
- BODY { background: #FFFFFF; font: 10pt helvetica; color: black }
- .motd { font:12pt helvetica; color: navy }
- .allhead { font: bold 24pt helvetica; }
- .allsub { font: bold 16pt helvetica; }
- .tit { font: bold 24pt helvetica; color: navy }
- .diff { background: #EEEEFF }
- .nav { background: #EEEEEE }
- DIV.copy { font: 8pt helvetica; color: gray }
- TD.blkhead { font: bold 10pt helvetica; color: gray }
- TD.blkbody { font: 10pt helvetica; color: black }
- TD.head { background: #000000 }
- .title { font: bold 16pt helvetica; color: white }
- .menu { font: bold 8pt helvetica; color: white; background: #000066 }
- A.menu { text-decoration: none }
- A.menu:link { color: #FFFFFF }
- A.menu:hover { color: #FFFF00 }
- A.copy:link { color: gray }
- A.copy:visited { color: gray }
- /* Support /PRE scalability. For details, refer to */
- /* http://www.longren.org/2006/09/27/wrapping-text-inside-pre-tags */
- pre {
- white-space: pre; /* CSS2 */
- white-space: pre-wrap; /* css 2.1 */
- white-space: pre-line; /* CSS3 (and 2.1 as well, actually) */
- white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
- white-space: -pre-wrap; /* Opera 4-6 */
- white-space: -o-pre-wrap; /* Opera 7 */
- word-wrap: break-word; /* IE 5.5+ */
- /* IE only to re-specify in addition to word-wrap */
- _white-space: pre;
- width: 99%;
- }
---></style>
-</head><body topmargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tbody><tr><td class="head" align="center" valign="middle">
-<div class="title">The Linux Wacom Project </div>
-
-</td><td class="head" align="right" valign="middle" width="125"><a href="http://sourceforge.net/"><img src="docs_files/sflogo.png" alt="SourceForge.net Logo" border="0" height="37" width="125"></a></td></tr>
-</tbody></table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tbody><tr><td colspan="2" bgcolor="white"><img src="docs_files/null.gif" height="1" width="1"></td></tr>
-<tr><td colspan="2" bgcolor="#000066"><img src="docs_files/null.gif" height="4" width="1"></td></tr>
-<tr><td class="menu" align="center">
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/main">Main</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/news">News</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/faq">FAQ</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/dl">Downloads</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/help">Help</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://sourceforge.net/projects/linuxwacom">Development</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/toc">TOC</a>&nbsp;&nbsp; |
- &nbsp;&nbsp;<a class="menu" href="http://linuxwacom.sourceforge.net/index.php/all">All</a>&nbsp;&nbsp;
-</td><td class="menu" align="right">Apr 29, 2009</td></tr>
-<tr><td colspan="2" bgcolor="#000066"><img src="docs_files/null.gif" height="4" width="1"></td></tr>
-<tr><td colspan="2" bgcolor="#aaaaaa"><img src="docs_files/null.gif" height="2" width="1"></td></tr>
-</tbody></table>
-
-<br>
-
-<center><table border="0" width="80%"><tbody><tr><td>
-<center><h1>Linux Wacom Project HOWTO</h1></center><br><center class="nav">Navigation:
-<a href="http://linuxwacom.sourceforge.net/index.php/howto/main">MAIN</a>&nbsp;&nbsp;&nbsp;<a href="http://linuxwacom.sourceforge.net/index.php/howto/copy">NEXT</a>&nbsp;&nbsp;&nbsp;<a href="http://linuxwacom.sourceforge.net/index.php/howto/toc">INDEX</a>&nbsp;&nbsp;&nbsp;<a href="http://linuxwacom.sourceforge.net/index.php/howto/all"><b>ALL</b></a>&nbsp;&nbsp;&nbsp;</center><br><br>
-<a name="copy">
-</a><center>
-<a name="copy">Copyright (C) 2002-2009 - LinuxWacom<br>
-<br>
-Permission is granted to copy, distribute and/or modify this document<br>
-under the terms of the GNU GENERAL PUBLIC LICENSE as published by the<br>
-Free Software Foundation; either version 2 of the License, or <br>
-(at your option) any later version. A copy of the license is <br>
-included in the section entitled
-</a><a href="#lic">GNU Free Documentation License</a>.<br>
-</center>
-<br>
-<br>
-<a name="intro">
-</a><h1><a name="intro">1.0 - Introduction</a></h1>
-<p><a name="intro">This document began in November 2002 as a HOWTO for setting up a USB
-Wacom Intuos2 on Redhat 8.0. It has since grown to cover all Wacom
-tablets, USB and serial, running on various different Linux
-distributions. As of December 2002, this project has transformed into
-the Linux Wacom Project. Work on this
-document is on-going so if you find an error, have a question, or have
-something to add, please send an email to:
-</a><a href="mailto:linuxwacom-discuss@lists.sf.net?subject=LinuxWacom">linuxwacom-discuss@lists.sf.net</a>.<a name="howto">
-</a></p><h2><a name="howto">1.1 - How To Use This Document</a></h2>
-<p><a name="howto">In terms of document organization, if you have not figured it out already,
-you can browse the document one page at a time, or you can click on the
-</a><a href="http://linuxwacom.sourceforge.net/index.php/howto/all">ALL</a> link and view the entire
-thing in one long page.
-
-</p><blockquote><div class="diff">
-Where the guide differs between distributions or packages, I have added a
-comment which appears indented with a light blue background.
-</div></blockquote>
-
-<p>Also, it bears mentioning since it's a detail often missed: there are
-two drivers in the Linux Wacom Project- wacom.o and wacom_drv.o. The first
-driver is the USB kernel driver. The second driver is the XFree86 Wacom
-driver. Serial users need only be concerned with the wacom_drv.o driver.
-USB users need both. If you try to use the wacom_drv.o driver in place of
-the wacom.o kernel driver or visa-versa, things generally won't work.
-
-</p><p>Next, this document was written with the assumption that you are starting
-from scratch with a relatively recent distribution of the Linux kernel. Also,
-if you have already added lines to your XFree86/Xorg configuration file
-(XF86Config/XF86Config-4 or xorg.conf), you should comment them out and
-restart X. Since we'll be stepping through the entire process, we need X to
-ignore the tablet until we're ready. Otherwise, X will just get in the way.
-
-</p><p>Finally, if you know what you're doing, you can leave your X settings
-intact, print this out, switch to runlevel 3, and follow along from the
-console. An HTML version of this document can be found in the docs directory at <a href="http://linuxwacom.cvs.sourceforge.net/linuxwacom/linuxwacom-dev/docs/">docs.html</a>.
-<a name="theory">
-</a></p><h2><a name="theory">1.2 - Wacom Driver Theory of Operation</a></h2>
-<p><a name="theory">Wacom tablets are available in serial and USB configurations. They are
-also sold as embedded products in certain tablet PC's. I will cover all
-three types, but the serial case is the most straightforward,
-so we'll start there.
-
-<br><br>
-
-</a></p><p><a name="theory"><b>Serial Tablet Operation - The Short Story</b>
-
-</a></p><p><a name="theory">When a Wacom serial tablet is connected to a COM port, software can
-interact with it directly by opening the appropriate device, usually
-/dev/ttyS0. The XFree86 Wacom driver (wacom_drv.o) does precisely this,
-and all stylus movements are converted into XInput events for programs
-like the Gimp to turn into fluid brush strokes.
-
-</a></p><p><a name="theory">Wacom tablets are capable of handling a number of different data
-protocols, and the Linux Wacom Project code currently utilitizes two,
-Wacom Protocol IV and Protocol V. Each operates with a fixed-sized
-packet, the length of which depends on the model and ROM version.
-
-</a></p><p><a name="theory">When the serial tablet is reset, it defaults to a standard baud rate,
-often 9600 baud. From there, the device type can be queried, and if the
-tablet supports it, the baud rate increased to a higher value. Additionally,
-model parameters like tablet size can be queried directly to determine
-which features are available.
-
-</a></p><p><a name="theory">Once configured, the tablet streams data back to the application as
-tools are brought into and out of proximity, are pressed against the
-tablet surface, or are tilted or inverted.
-
-<br><br>
-
-</a></p><p><a name="theory"><b>USB Tablet Operation - The Long Story</b>
-
-</a></p><p><a name="theory">Initially at least, the USB Wacom tablet is an HID compliant device, and when
-first connected to the computer, will identify itself as such.
-Unfortunately, this is not what you want because in this mode, you will not
-get any of the fancy features. The hid-core.c, mousedev.c, and usbmouse.c kernel
-drivers contain exceptions for the wacom; when the device is detected, they ignore
-the tablet. In this way, the more sophisticated wacom driver has the
-opportunity to assume control.
-
-</a></p><p><a name="theory">The first thing that the driver does is register itself with the USB
-subsystem and wait for work to do. When the user plugs the device in, or
-the device is first detected, the USB subsystem shops the vendor and
-device identifier around, checking it against different drivers. The
-wacom driver takes responsibility for the tablet and then notifies the
-event system that it will be providing data. It then asks the tablet to
-switch from HID-compliant mode to "mode 2", a wacom-specific protocol which
-allows for values like pressure, Z rotation,
-and tilt. As information arrives, the wacom driver dutifully converts
-the data into real-world values and hands it on to the event system.
-
-</a></p><p><a name="theory">From here, any usermode application can get access to the event data
-by opening /dev/input/event0. A stream of events including mouse movements,
-clicks, and proximity updates can be read from the device. Similar to the
-serial case, XFree86's Wacom driver (wacom_drv.o) has the ability to read
-this device, and performs filtering on the data before convert the Linux
-input events into XInput events.
-
-</a></p><p><a name="theory">By breaking the responsibility for the data into three distinct levels,
-the kernel code remains simple and robust, the applications generalized,
-and the fancy features commonly accessible to all GUI applications in the
-X window system itself. This document walks down the entire data path from
-the USB kernel driver to the gimp application.
-
-<br><br>
-</a></p><p><a name="theory"><b>Embedded Device Operation - Tablet PC with Wacom Digitizer</b>
-
-</a></p><p><a name="theory">Refer to </a><a href="#tabletpc">Tablet PC</a> page for detail.
-
-<a name="starthere">
-</a></p><h1><a name="starthere">2.0 - Getting It Together</a></h1>
-<p><a name="starthere">This section is devoted to preparing your system for the installation.
-Every distribution handles kernel modules and file locations a bit differently,
-so the goal here is to return everything to a known state.
-
-</a></p><p><a name="starthere">USB users will need to pay specific attention to discussions related to
-kernel drivers and modules. Serial tablet users have it much easier, and
-can bypass this. Both users will need to make changes to the XFree86/Xorg
-configuration file.
-
-</a><a name="beforestart">
-</a></p><h2><a name="beforestart">2.1 - Before We Start</a></h2>
-<p><a name="beforestart">From the beginning, let's make certain that we are on the
-same page. First, if you have Wacom related lines in your
-XF86Config/XF86Config-4 or xorg.conf files already, you should
-comment them out or remove them. In particular, this includes InputDevice
-sections with a driver set to "wacom" and their corresponding InputDevice
-lines in ServerLayout. When that's done, restart X.<br>
-
-</a></p><p><a name="beforestart">It would be a wise idea at this time to check your XFree86 or Xorg log
-file for references to wacom, wcm, or tablet. If X persists in trying to
-interact with the tablet, things will only be problematic later. The log
-file is often found at /var/log/XFree86.0.log or /var/log/Xorg.0.log.
-
-</a></p><p><a name="beforestart">To be prepared for the coming steps, it would be nice if you know what
-X server and Linux kernel versions are running on your system. The <i>X -version</i>
-command reveals those information for you.
-
-</a></p><p><a name="beforestart">If you have a USB tablet, you need to check Wacom kernel drvier first
-</a><a href="#kernel">The USB Kernel Driver</a>.
-Serial tablet or Tablet PC users can go directly to the next section
-<a href="#download">Downloading the Code</a> page.
-<a name="download">
-</a></p><h2><a name="download">2.2 - Downloading the Code</a></h2>
-
-<p><a name="download">The file </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.2-2.tar.bz2">linuxwacom-0.8.2-2.tar.bz2</a> is the stable package and contains
-files that you will need to get your serial or USB tablet working. The
-current beta package <a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.3-3.tar.bz2">linuxwacom-0.8.3-3.tar.bz2</a> is also available and may be
-used by people who are willing to help test new features. I will never put a
-beta package on this site that I am not running myself on my primary
-development machine. So you can be certain that if there are any obvious
-show stoppers, they will be fixed before you get to see them.
-
-</p><p>Unpacking the tarball is usually a one-step process, but I show both
-steps in case the typical -jxf option doesn't work with tar.
-
-</p><blockquote><pre>[jej@ayukawa jej]$ bunzip2 linuxwacom-0.8.2-2.tar.bz2
-[jej@ayukawa jej]$ tar -xf linuxwacom-0.8.2-2.tar
-[jej@ayukawa jej]$ cd linuxwacom-0.8.2-2</pre></blockquote>
-
-Once in the package directory, you need only to configure and build the code.
-This is described in more detail as you continue. The executables and
-wacom_drv.o are installed automatically; the kernel drivers have different
-installation procedures depend on the kernel source you use.
-
-<p>If you are interested, the following tables contain the package contents
-and release dates. Otherwise, let's continue.
-
-
-</p><h3>Stable files included for linuxwacom-0.8.2-2:</h3>
-<table border="0" cellspacing="5">
-<tbody><tr><th align="left">File</th><th align="left">Comment</th></tr>
-<tr><td valign="top">configure</td><td valign="top">- configure script for distribution independent builds</td></tr>
-<tr><td valign="top">prebuilt/install</td><td valign="top">- installer for the executables and Wacom X driver to a system identical to the development system.</td></tr>
-<tr><td valign="top">prebuilt/uninstall</td><td valign="top">- unistaller for the executables</td></tr>
-<tr><td valign="top">prebuilt/wacom.4x.gz</td><td valign="top">- man page for Wacom driver</td></tr>
-<tr><td valign="top">prebuilt/32</td><td valign="top">- Wacom X driver and its utility programs for XFree86 and X11R6/Xorg on x86 systems</td></tr>
-<tr><td valign="top">prebuilt/64</td><td valign="top">- Wacom X driver and its utility programs for XFree86 and X11R6/Xorg on x86-64 systems</td></tr>
-<tr><td valign="top">src/util/wacdump.c</td><td valign="top">- a simple program for displaying tablet event data directly using ncurses</td></tr>
-<tr><td valign="top">src/util/xidump.c</td><td valign="top">- a diagnostic program for displaying XInput event data</td></tr>
-<tr><td valign="top">src/util/wacscrn.c</td><td valign="top">- curses library for wacdump</td></tr>
-<tr><td valign="top">src/util/wactablet.c</td><td valign="top">- wacom tablet library for wacdump</td></tr>
-<tr><td valign="top">src/util/wacusb.c</td><td valign="top">- wacom USB protocol library for wacdump</td></tr>
-<tr><td valign="top">src/util/wacserial.c</td><td valign="top">- wacom serial protocol library for wacdump</td></tr>
-<tr><td valign="top">src/util/wactablet.h</td><td valign="top">- wacom tablet library for wacdump</td></tr>
-<tr><td valign="top">src/util/wacusb.h</td><td valign="top">- wacom USB protocol library for wacdump</td></tr>
-<tr><td valign="top">src/util/wacserial.h</td><td valign="top">- wacom serial protocol library for wacdump</td></tr>
-<tr><td valign="top">src/util/xsetwacom.c</td><td valign="top">- a command line configuration tool for Wacom X driver</td></tr>
-<tr><td valign="top">src/util/wacomcfg.c</td><td valign="top">- configuration option library for xsetwacom</td></tr>
-<tr><td valign="top">src/util/wcmAction.c</td><td valign="top">- keystroke and modifier encoding/decoding</td></tr>
-<tr><td valign="top">src/util/wcmAction.h</td><td valign="top">- keystroke routine definitions</td></tr>
-<tr><td valign="top">src/util/hal-setup-wacom.c</td><td valign="top">- a HAL service program for Wacom devices</td></tr>
-<tr><td valign="top">src/util/10-linuxwacom.fdi</td><td valign="top">- a HAL script for Wacom devices</td></tr>
-<tr><td valign="top">src/include/Xwacom.h</td><td valign="top">- configuration options for xsetwacom</td></tr>
-<tr><td valign="top">src/2.6.x/wacom.c</td><td valign="top">- replacement kernel driver for kernel 2.6.x where x can be 9 and 10</td></tr>
-<tr><td valign="top">src/2.6.x/wacom_sys.c</td><td valign="top">- wacom kernel driver specific to each major kernel release, where x can be 11 to 28</td></tr>
-<tr><td valign="top">src/2.6.x/wacom_wac.c</td><td valign="top">- wacom kernel driver processes tablet specific information, where x can be 16 or 28</td></tr>
-<tr><td valign="top">src/2.6.x/wacom.h</td><td valign="top">- wacom kernel driver header specific to each major kernel release, where x can be 11 to 28</td></tr>
-<tr><td valign="top">src/2.6.16/wacom_wac.h</td><td valign="top">- part of wacom kernel driver header for tablet specific declaration and definitions </td></tr>
-<tr><td valign="top">src/2.6.x/hid-core.c</td><td valign="top">- replacement kernel driver for kernel 2.6.x where x can be 8 to 16, use only if needed</td></tr>
-<tr><td valign="top">src/xdrv/xf86Wacom.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Binary available in prebuilt directory.</td></tr>
-<tr><td valign="top">src/xdrv/xf86Wacom.h</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile.</td></tr>
-<tr><td valign="top">src/xdrv/wcmCommon.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Common to USB and serial tablets</td></tr>
-<tr><td valign="top">src/xdrv/wcmXCommand.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. APIs to xsetwacom.</td></tr>
-<tr><td valign="top">src/xdrv/wcmCompat.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. XFree86 4.x support</td></tr>
-<tr><td valign="top">src/xdrv/wcmConfig.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Configuration setup</td></tr>
-<tr><td valign="top">src/xdrv/wcmFilter.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Raw data filters</td></tr>
-<tr><td valign="top">src/xdrv/wcmFilter.h</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Raw data filters</td></tr>
-<tr><td valign="top">src/xdrv/wcmISDV4.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. General Tablet PC</td></tr>
-<tr><td valign="top">src/xdrv/wcmSerial.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Serial tablet support</td></tr>
-<tr><td valign="top">src/xdrv/wcmSerial.h</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Serial tablet support</td></tr>
-<tr><td valign="top">src/xdrv/wcmUSB.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. USB tablet support</td></tr>
-<tr><td valign="top">src/xdrv/wcmTilt2Rotation.c</td><td valign="top">- source for wacom_drv.o; requires XFree86/Xorg build environment to compile. Converting mouse tilt to rotation</td></tr>
-<tr><td valign="top">src/wacomxi/wacomcpl-exec</td><td valign="top">- a graphic configuration tool for wacom XFree86 driver</td></tr>
-<tr><td valign="top">src/wacomxi/wacomxi.c</td><td valign="top">- calibration library for xsetwacom</td></tr>
-<tr><td valign="top">src/wacomxi/wacomxi.h</td><td valign="top">- calibration library for xsetwacom</td></tr>
-<tr><td valign="top">GPL</td><td valign="top">- the GNU General Public License, in case you did not already have one lying around</td></tr>
-</tbody></table>
-
-<h3>Stable Packages by Version and Date:</h3>
-<table border="0" cellspacing="5">
-<tbody><tr><th align="left">File</th><th></th><th align="left">Date</th><th align="left">Comment</th></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.2-2.tar.bz2">linuxwacom-0.8.2-2.tar.bz2</a></td><td valign="top">-</td><td valign="top">2009-01-19</td><td valign="top">Support: USB Tablet PC with and without touch; kernels up to 2.6.28; Bamboo1 and Monarch; new wacomcpl features.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.0-3.tar.bz2">linuxwacom-0.8.0-3.tar.bz2</a></td><td valign="top">-</td><td valign="top">2008-05-23</td><td valign="top">Support:
-kernels up to 2.6.25; Keystrokes for both buttons and expresskeys; New
-tablets: Bamboo series and Cintiq 12WX &amp; 20WSX, and so much more
-that you can not afford to miss.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.8-3.tar.bz2">linuxwacom-0.7.8-3.tar.bz2</a></td><td valign="top">-</td><td valign="top">2007-08-15</td><td valign="top">Supports
-new tablet, Bamboo. Provides prebuilt Wacom X driver and its utility
-programs for x86_32 and x86_64 systems. Adds many new xsetwacom options.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.6-4.tar.bz2">linuxwacom-0.7.6-4.tar.bz2</a></td><td valign="top">-</td><td valign="top">2006-12-01</td><td valign="top">Updated xsetwacom and support kernel 2.6.17/18, Intuos3 4x6 and on-the-fly tablet rotation.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.4-3.tar.bz2">linuxwacom-0.7.4-3.tar.bz2</a></td><td valign="top">-</td><td valign="top">2006-06-19</td><td valign="top">Supports kernels 2.6.15/16, 2 new Intuos3 (12x12 and 12x19), and DTF 521.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.2.tar.bz2">linuxwacom-0.7.2.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-12-21</td><td valign="top">Updated configuration script and support kernel 2.6.13/14, Graphire4, PL710, DTF720, Intuos3 6x11 and Volito2 .</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.0-1.tar.bz2">linuxwacom-0.7.0-1.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-09-23</td><td valign="top">Updated wacomcpl and support 16 buttons for all tools.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.0-x86-64-1.tar.bz2">linuxwacom-0.7.0-x86-64-1.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-09-23</td><td valign="top">Updated wacomcpl and support 16 buttons for all tools.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2">linuxwacom-0.6.8.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-05-05</td><td valign="top">Support Cintiq 21UX and kernel 2.6.11.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.6.tar.bz2">linuxwacom-0.6.6.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-12-01</td><td valign="top">Build .ko locally and support kernel 2.6.10.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.4.tar.bz2">linuxwacom-0.6.4.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-08-06</td><td valign="top">Updated wacusb.c and fixed USB tablet protocol V dual input bug.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.3.tar.bz2">linuxwacom-0.6.3.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-05-25</td><td valign="top">Fixed tool on tablet and relative speed bugs.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.2.tar.bz2">linuxwacom-0.6.2.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-04-02</td><td valign="top">Fixed DoubleSpeed, DoubleRadius, and TwinView issues.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.1.tar.bz2">linuxwacom-0.6.1.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-03-02</td><td valign="top">added wacomcpl, support kernel 2.4.24 and 2.6.2/3</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.0.tar.bz2">linuxwacom-0.6.0.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-02-04</td><td valign="top">added wacomcpl, support kernel 2.4.22 and 2.6.0</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.4.1.tar.gz">linuxwacom-0.4.1.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-03-22</td><td valign="top">added xidump, checks for ncurses</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.4.0.tar.gz">linuxwacom-0.4.0.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-01-31</td><td valign="top">production release from 0.3.7-beta</td></tr>
-</tbody></table>
-<h3>Beta Packages by Version and Date:</h3>
-<table border="0" cellspacing="5">
-<tbody><tr><th align="left">File</th><th></th><th align="left">Date</th><th align="left">Comment</th></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.3-3.tar.bz2">linuxwacom-0.8.3-3.tar.bz2</a></td><td valign="top">-</td><td valign="top">2009-04-27</td><td valign="top">Support Inutos4 tablets. Support kernel upto 2.6.29. Support Xorg 1.6. Updated multi-monitor suppport</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.1-6.tar.bz2">linuxwacom-0.8.1-6.tar.bz2</a></td><td valign="top">-</td><td valign="top">2008-10-24</td><td valign="top">Support USB Tablet PC with and without touch. Support kernel 2.6.27</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.9-11.tar.bz2">linuxwacom-0.7.9-11.tar.bz2</a></td><td valign="top">-</td><td valign="top">2008-04-11</td><td valign="top">Support
-kernel 2.6.22 &amp; 2.6.24. Temporary workaround for Xorg 7.3. Support
-Bamboo series and Cintiq 12WX &amp; 20WSX. Updated wacomcpl for
-keystrokes. Support serial Tablet PC with touch.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.7-12.tar.bz2">linuxwacom-0.7.7-12.tar.bz2</a></td><td valign="top">-</td><td valign="top">2007-06-15</td><td valign="top">Support
-Bamboo. Updated installer under prebuilt directory to install X driver
-as well as its associated utilities. Support non-overlapped multi-areas
-for same InputDevice. Support pad with button and keystroke events
-through xsetwacom</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.5-4.tar.bz2">linuxwacom-0.7.5-4.tar.bz2</a></td><td valign="top">-</td><td valign="top">2006-09-29</td><td valign="top">Support kernel 2.6.17/18, Intuos3 4x6, and tablet detach/attach as well as rotation while X running. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.3-1.tar.bz2">linuxwacom-0.7.3-1.tar.bz2</a></td><td valign="top">-</td><td valign="top">2006-04-07</td><td valign="top">Support kernel 2.6.15/16, Intuos3 12x12 and 12x19. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.7.1-2.tar.bz2">linuxwacom-0.7.1-2.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-12-06</td><td valign="top">Support kernel 2.6.13/14, Graphire4, PL710, DTF720, Intuos3 6x11 and Volito2. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.9.tar.bz2">linuxwacom-0.6.9.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-08-08</td><td valign="top">Support tablet orentation rotation. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.9-x86-64.tar.bz2">linuxwacom-0.6.9-x86-64.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-08-08</td><td valign="top">Support x86-64 system. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.7.tar.bz2">linuxwacom-0.6.7.tar.bz2</a></td><td valign="top">-</td><td valign="top">2005-03-28</td><td valign="top">Added Cintiq 21UX and kernel 2.6.11 support. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.5.tar.bz2">linuxwacom-0.6.5.tar.bz2</a></td><td valign="top">-</td><td valign="top">2004-11-05</td><td valign="top">Added Intuos3 support. </td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.4-beta.tar.bz2">linuxwacom-0.5.4-beta.tar.bz2</a></td><td valign="top">-</td><td valign="top">2003-12-22</td><td valign="top">General Tablet PC support. 2.6.0 kernel support.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.3-beta.tar.gz">linuxwacom-0.5.3-beta.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-11-12</td><td valign="top">Added wacomcpl utility. 2.4.22 kernel support. TwinView support.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.2-beta.tar.gz">linuxwacom-0.5.2-beta.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-07-10</td><td valign="top">Fixed Intuos filter code. 2.5 kernel support. Minor bug fixes.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.1-beta.tar.gz">linuxwacom-0.5.1-beta.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-06-15</td><td valign="top">Completely refactored data path, configurability.</td></tr>
-<tr><td valign="top"><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.0-beta.tar.gz">linuxwacom-0.5.0-beta.tar.gz</a></td><td valign="top">-</td><td valign="top">2003-02-12</td><td valign="top">Updated PL code. Numerous tweaks.</td></tr>
-</tbody></table>
-<a name="root">
-</a><h2><a name="root">2.3 - The Root Account</a></h2>
-<p><a name="root">If you are comfortable with the root account, paths, the /sbin directory,
-and programs like <i>modprobe</i>, you can skip this section. This is largely
-to clarify some things for people who are new to Linux and get tripped up
-with the root account and paths. This is not meant to be a tutorial, so if
-this is over your head, I would recommend reading a book on Linux command line
-usage. All examples in this document assume the bash shell.
-
-</a></p><p><a name="root"> Many of the procedures in this document need root access, and the
-commands that are executed are located in places on the system that are
-not normally accessed by typical users. In order to run the <i>modprobe</i>
-command, for instance, you must have root access. Additionally, if the
-/sbin directory which contains <i>modprobe</i> does not appear in your
-path, you must specify the full pathname, /sbin/modprobe, to run the command.
-Here is an example of the problem, followed by solutions.
-
-</a></p><blockquote><pre><a name="root">[jej@ayukawa jej]$ modprobe foo
-bash: modprobe: command not found
-[jej@ayukawa jej]$ locate modprobe
-/sbin/modprobe
-[jej@ayukawa jej]$ echo $PATH
-/bin:/usr/bin: ... :/home/jej/bin
-</a></pre></blockquote>
-
-<a name="root">Normal users do not have /sbin in their path, so running <i>modprobe</i>
-directly fails. Running the program using the full pathname (/sbin/modprobe)
-will solve this, as will adding /sbin to the path. But there is another
-problem, as we will see:
-
-</a><blockquote><pre><a name="root">[jej@ayukawa jej]$ /sbin/modprobe foo
-foo.o: create_module: Operation not permitted
-</a></pre></blockquote>
-
-<a name="root">Normal users are not allowed to run this command. For that, we need
-to be root. The <i>su</i> command stands for "substitute user" since
-it can be used to become <i>any</i> user on the system, but it is generally
-known by the incorrect but very memorable mnemonic "superuser."
-
-</a><blockquote><pre><a name="root">[jej@ayukawa jej]$ su
-Password:
-[<b>root</b>@ayukawa jej]# whoami
-root
-</a></pre></blockquote>
-
-<p><a name="root">Note the change to the root account, and the additional change from
-$ to # on the prompt. I maintain this convention in all the examples in
-this document, so if you get an "access denied" error, check the prompt.
-You probably need to be root.
-
-</a></p><p><a name="root">Now that we have root access, is /sbin in our path? No. We have only
-been granted the privileges of root; we are not really in the root
-account's environment. Most notably, the home directory ($HOME) changes,
-but the path ($PATH) stays the same. Thus, becoming root is not sufficient to
-run <i>modprobe</i> without the full pathname, but does solve the access
-problem.
-
-</a></p><blockquote><pre><a name="root">[root@ayukawa jej]# modprobe foo
-bash: modprobe: command not found
-[root@ayukawa jej]# export PATH=$PATH:/sbin
-[root@ayukawa jej]# modprobe foo
-[root@ayukawa jej]#
-</a></pre></blockquote>
-
-<p><a name="root">In this example, the user adds the /sbin directory to the path and can run
-<i>modprobe</i> normally. <i>export</i> is a bash shell command that changes
-aspects of your environment; in this case, /sbin is appended to the path. In
-the highly unlikely event that you are using a different shell, which for
-novice users seems unwise to me, you would need to use a different command.
-Redhat, Mandrake, and similar distributions all use bash by default, so it is
-unlikely that you would be using anything else.
-
-</a></p><p><a name="root">At any rate, changing the path is a reasonably good solution, if you can
-remember the syntax of the <i>export</i> command.
-
-</a></p><p><a name="root">Another approach to this problem is to do more than just "be root," but to
-run in the root account's environment. This is accomplished with the
-"su -" command and provides you with root's normal path, including the /sbin
-directory. The unfortunate side-effect is that you wind up in root's home
-directory, requiring you to <i>cd</i> back to the original directory in
-which you were working.
-
-</a></p><blockquote><pre><a name="root">[jej@ayukawa src]$ pwd
-/home/jej/src/linuxwacom/src
-[jej@ayukawa src]$ su -
-[root@ayukawa root]# cd /home/jej/src/linuxwacom/src
-[root@ayukawa src]# echo $PATH
-/bin:<b>/sbin</b>:/usr/bin: ... :/root/bin
-</a></pre></blockquote>
-
-<p><a name="root">Here, the user starts in the package's src directory, but upon invoking
-"su -" is magically shuttled off to root's home directory. A quick
-<i>cd</i> back to the package directory and all is better. And, as
-demonstrated above, the path conveniently contains /sbin.
-
-</a></p><p><a name="root">So that leaves you with two immediate options, and one potential
-long-term option:
-
-</a></p><p><a name="root">Option One: Become root and add /sbin to the path.
-
-</a></p><blockquote><pre><a name="root">[jej@ayukawa src]$ su
-[jej@ayukawa src]# export PATH=$PATH:/sbin
-</a></pre></blockquote>
-
-<a name="root">Option Two: Become root using root's environment and <i>cd</i> back.
-
-</a><blockquote><pre><a name="root">[jej@ayukawa src]$ su -
-[root@ayukawa root]# cd /home/jej/src/linuxwacom/src
-</a></pre></blockquote>
-
-<a name="root">Option Three (recommended): Add /sbin to your personal account's path
-
-</a><blockquote><pre><a name="root">[jej@ayukawa src]$ export PATH=$PATH:/sbin
-[jej@ayukawa src]$ su
-[root@ayukawa src]# echo $PATH
-/bin:/usr/bin: ... :/home/jej/bin:<b>/sbin</b>
-</a></pre></blockquote>
-
-<p><a name="root">By adding the path early in the session, it becomes available every time
-you <i>su</i> to root later on. You could also add the <i>export</i>
-command to the .bash_profile file in your home directory and have the
-path set automatically when you log in.
-
-</a></p><p><a name="root">To exit from the root account and return to your normal account, you can
-use the <i>exit</i> command or type Ctrl-D on an empty line.
-
-</a></p><blockquote><pre><a name="root">[root@ayukawa src]# exit
-[jej@ayukawa src]$
-</a></pre></blockquote>
-
-<p><a name="root">If any of this is not explained clearly, drop me a line and let me know
-where you got stuck. I'd be happy to clarify directly and update this page
-for future readers.
-</a><a name="install">
-</a></p><h2><a name="install">2.4 - Install from Prebuilt </a></h2>
-
-<p><a name="install">We have created 2 sets of prebuilt Wacom X driver and its utility programs under
-linuxwacom-0.8.2-2/prebuilt; one for x86-32 systems, the other for x86-64 systems.
-
-</a></p><p><a name="install">If you don't plan to change anything in the driver, following steps will install the prebuilt files for you:
-
-</a></p><p><a name="install"><b>Note:</b> Please remove the existing linuxwacom package first if your system has one.
-
-</a></p><blockquote><pre><a name="install">[jej@ayukawa jej]$ cd linuxwacom-0.8.2-2/prebuilt
-[jej@ayukawa prebuilt]$ su
-[jej@ayukawa prebuilt]# ./uninstall
-[jej@ayukawa prebuilt]# ./install
-</a></pre></blockquote>
-
-<p><a name="install">Serial tablet (most Tablet PCs are serial) users can skip the rest
-sections and go to </a><a href="#wacdump">Viewing Wacom Data (wacdump)</a> page for details on viewing the tablet output now.
-
-</p><p>If you use an older USB tablet and your running kernel was released 6 months later than
-your tablet was first seen in market, you most probably can skip next section of this chapter
-and the whole chapter 4 too. If you would like to make certain, continue to next section.
-<a name="config">
-</a></p><h2><a name="config">2.5 - Configuring the Package</a></h2>
-
-<p><a name="config">This section describes how to configure the package. You can run
-the configure script now as the samples below demonstrate, or later
-when you reach the section of the document that explains what
-specifically needs to be configured and why. This page is provided
-largely as a reference.
-
-</a></p><p><a name="config">By default, xidump, wacdump, xsetwacom, wacom_drv.o, and wacomcpl
-are built. Additional options include replacement of kernel drivers
-for hid, mousedev, evdev, and usbmouse as well as building the
-XFree86/Xorg driver from scratch. Lastly, remember that for every
---enable option, there is also an equivalent --disable option.
-
-</a></p><p><a name="config">The configuration options are listed on this page. You can also
-see the online list by issuing <i>./configure -help</i> under
-linuxwacom's base directory.
-
-</a></p><p><a name="config"><b>Note: </b> You should remove the existing linuxwacom package on
-your system before installing the drivers and utilities from this project.
-
-</a></p><h3><a name="config">Building Kernel Modules - USB Only</a></h3>
-
-<p><a name="config">In order to build kernel modules, you will need the kernel source
-installed on your system. If you are running on Redhat or Mandrake,
-you can get it by installing the kernel-source RPM.
-
-</a></p><p><a name="config">The kernel source directory is assumed to be in /usr/src/linux-2.4,
-/usr/src/linux, /usr/src/linux-2.6, /usr/src/linux-`uname -r`, or
-/lib/modules/`uname -r`/source. If your kernel sources are elsewhere,
-you will need to specify the directory with the --with-kernel option
-described below.
-
-</a></p><p><a name="config">For older 2.6 kernels, you need to configure the kernel modules (wacom
-and hid) under your kernel source directory before configuring linuxwacom.
-
-</a></p><p class="diff"><a name="config">Note, for kernel 2.6.18 and later, no need to build hid
-any more. Refer to </a><a href="#testtablet">Testing Tablet Detection</a> to see if you need to build hid or not.</p>
-
-<h3>Module Versioning - USB Only</h3>
-
-<p>The script attempts to discover if the kernel is using module
-versioning by detecting the presence of version numbers in the hid.o
-module of the currently active kernel. Recent package versions also
-check for hid.o.gz which exist on Mandrake systems. The configure
-script may not be able to determine if kernel module versioning
-should be enabled or not, in which case it will say "unknown,
-assuming no."
-
-</p><p>If module versioning is disabled when it should be enabled, depmod
-will complain about missing symbols but otherwise, things will probably
-work fine. If it is enabled when it should be disabled, the code may
-not compile, and it almost certainly will not load properly. If the
-configure script fails to determine the correct value, the default
-action of disabling module versioning is the better choice, and you can
-allows enable it manually and rebuild if depmod complains.
-
-</p><h3>The XFree86/Xorg XInput Driver - USB and Serial</h3>
-
-<p>Generally, you will not need to build wacom_drv.o since it ships in
-binary form in the prebuilt directory. There are prebuilt binaries for
-XFree86 and Xorg corresponding to x86 and x86-64 systems, respectively.
-If no one works for you, building from source may be your only option.
-See the <a href="#builddrv">Building wacom_drv.o from Scratch</a>
-page for more information.
-
-</p><h3>Library Dependencies - ncurses and XLib</h3>
-
-<p>Various utilities in the linuxwacom package require not only specific
-libraries, but their development header files as well. The ncurses
-package is one such example. Most distributions install the ncurses
-libraries by default, but the header files are often located in a
-separate package. You will need both. On Redhat 8.0, they can be
-found in the ncurses-devel RPM.
-
-</p><p>Similarly, if you wish to test your tablet using xidump to view
-XFree86/Xorg input events, you will need the XFree86/Xorg development
-headers. On Redhat/Fedore Core, they are contained in the XFree86-devel/xorg-sdk package.
-
-</p><p>If any packages are missing, the configuration will warn you and
-disable building any programs that depend on them.
-
-</p><h3>Processor Type</h3>
-
-<p>The processor type is determined by the script and used to build the
-kernel modules. If it guesses incorrectly, or you would prefer a
-different setting, use the --with-arch option described below.
-
-</p><h3>Linux Specific Features</h3>
-
-<p>The Linux wacom driver uses the Linux input subsystem, as does the
-USB portions of the XFree86/Xorg driver. Consequently, if you are
-building on a non-Linux system, the USB code will not work for you.
-This is detected, and a comment to that effect is added to the
-configuration summary. I recognize that FreeBSD and similar systems
-have USB support; however, until someone can bridge the gap between
-the FreeBSD kernel and the XFree86/X.org driver, the problem is largely
-unsolved. Contributions are of course welcome. The Linux-specific
-features can be enabled/disabled using the --with-linux argument.
-
-</p><h3>Configuration Options</h3>
-
-The following options are provided as reference. Normally, you will
-only need a few of these options. Some obscure systems or you want to
-build a driver for another platform may need all of them. Each section
-of the document identifies which options are needed and when.<br><br>
-
-<table border="0" cellspacing="5">
-<tbody><tr><th align="left">Option</th><th align="left">Default</th>
- <th align="left">Builds</th></tr>
-<tr><td>--enable-wacom</td><td><b>no</b></td>
- <td>wacom.o kernel driver</td></tr>
-<tr><td>--enable-wacdump</td><td><b>yes</b></td>
- <td>wacdump LinuxInput event monitor</td></tr>
-<tr><td>--enable-xidump</td><td><b>yes</b></td>
- <td>xidump XInput event monitor</td></tr>
-<tr><td>--enable-libwacomcfg</td><td><b>yes</b></td>
- <td>libwacomcfg Dynamic library for xsetwacom</td></tr>
-<tr><td>--enable-libwacomxi</td><td><b>yes</b></td>
- <td>libwacomxi Dynamic library for wacomcpl</td></tr>
-<tr><td>--enable-xsetwacom</td><td><b>yes</b></td>
- <td>xsetwacom XFree86 wacom driver configuration
- comannd</td></tr>
-<tr><td>--enable-quirk-tablet-rescale</td><td>best guess</td>
- <td>Enable tablet to screen rescale code. <b> Note: </b>
- If you have TwinView setup running on a X server 1.4 and later,
- and your mappping doesn't properly, enable this option may
- resolve the issue.</td></tr>
-<tr><td>--enable-quirk-Uninit-called</td><td>best guess</td>
- <td>Enable Uninit called</td></tr>
-<tr><td>--enable-hid</td><td>no</td>
- <td>hid.o replacement kernel driver (not normally
- needed)</td></tr>
-<tr><td>--enable-usbmouse</td><td>no</td>
- <td>usbmouse.o replacement kernel driver (not
- normally needed)</td></tr>
-<tr><td>--enable-evdev</td><td>no</td>
- <td>evdev.o replacement kernel driver (not
- normally needed)</td></tr>
-<tr><td>--enable-mousedev</td><td>no</td>
- <td>mousedev.o replacement kernel driver (not
- normally needed)</td></tr>
-<tr><td>--enable-wacomdrv</td><td><b>yes</b></td>
- <td>wacom_drv.o XFree86/Xorg driver (binary is
- available in prebuilt directory)</td></tr>
-<tr><td>--enable-modver=yes|no</td><td>best guess</td>
- <td>enables kernel module versioning; usually
- guesses correctly, but can be enabled or
- disabled if not</td></tr>
-<tr><td>--with-kernel=dir</td><td>best guess</td>
- <td>Specifies the kernel source directory if
- configure cannot guess correctly.</td></tr>
-<tr><td>--with-x-src=dir</td><td>best guess</td>
- <td>Specifies the X driver build source
- directory</td></tr>
-<tr><td>--with-xorg-sdk=dir</td><td>best guess</td>
- <td>Specifies the Xorg SDK directory</td></tr>
-<tr><td>--with-tcl=dir</td><td>/usr</td>
- <td>Specifies the tcl directory. The tcl's include
- and lib directories should be under this directory.
- If tcl.h is not in dir/include, it will be searched
- under dir directly</td></tr>
-<tr><td>--with-tk=dir</td><td>/usr</td>
- <td>Specifies the tk directory. If tk is under the
- same directory as tcl, this option can be
- eliminated. Otherwise, the tk's include and lib
- directories should be under this directory. If tk.h
- is not in dir/include, it will be searched under
- dir directly</td></tr>
-<tr><td>--with-arch=arch</td><td>best guess</td>
- <td>Specifies the architecture if configure guesses
- incorrectly</td></tr>
-<tr><td>--enable-xserver64=yes|no</td><td>best guess</td>
- <td>enables 64-bit X server. You probably need to
- define xlib directory by adding option
- --with-xlib=xlib-dir so compiler can link with
- the right Xlib.</td></tr>
-<tr><td>--with-linux=yes|no</td><td>best guess</td>
- <td>Specifies if compiled on a Linux system; USB
- code is Linux specific</td></tr>
-<tr><td>--with-xlib=yes|no</td><td>best guess</td>
- <td>Specifies if building xlib-based programs;
- xidump uses XInput headers</td></tr>
-<tr><td>--enable-dlloader=yes|no</td><td>best guess</td>
- <td>Enable dlloader build option and built
- wacom_drv.so instead of wacom_drv.o</td></tr>
-<tr><td>--with-xmoduledir=dir</td><td>best guess</td>
- <td>Specify wacom_drv path explicitly.
- Implies --enable-dlloader</td></tr>
-</tbody></table>
-
-<h3>Configuration Samples</h3>
-
-<p>Here is a sample output of the script on a Fedora Core 5 system:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure
-checking for a BSD-compatible install... /usr/bin/install -c
-checking whether build environment is sane... yes
-...
-checking for arch type... <b>i386-redhat-linux</b>
-checking for kernel type... <b>Linux</b>
-checking for linux-based kernel... <b>yes</b>
-checking for kernel sources... <b>/lib/modules/2.6.20-1.2320.fc5/source</b>
-checking for kernel module support... <b>yes</b>
-checking for kernel module versioning... <b>yes</b>
-checking for valid Xorg SDK... <b>ok</b>
-checking for X... <b>libraries , headers</b>
-...
-checking for X lib directory... <b>found</b>
-checking for tclsh... <b>/usr/bin/tclsh</b>
-checking for tcl version... <b>8.4</b>
-checking for tcl header files... <b>/usr/include/</b>
-checking for tk header files... <b>found</b>
-checking ncurses.h usability... <b>yes</b>
-checking ncurses.h presence... <b>yes</b>
-checking for ncurses.h... <b>yes</b>
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i386-redhat-linux
- linux kernel - yes 2.6.19
- module versioning - yes -DCONFIG_MODVERSIONS -DMODVERSIONS -include /lib/modules/2.6.20-1.2320.fc5/source/include/linux/modversions.h
- kernel source - yes /lib/modules/2.6.20-1.2320.fc5/source
- Xorg SDK - yes /usr/include/xorg
- XSERVER64 - no
- dlloader - yes
- XLib - yes /usr/lib
- TCL - yes /usr/include
- TK - yes /usr/include
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - no
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.so - yes /usr/lib/xorg/modules/input
- wacom_drv.o - no
- wacom*_drv quirks - libc-wrapper key-events dixScreenOrigins
-----------------------------------------
-</pre></blockquote>
-
-<p>If the configure script fails to find something that it is looking
-for, it may disable some options that you previously enabled on the
-command-line. If this happens, check the output for a warning like the
-following:
-
-</p><blockquote><pre>checking for valid XFree86/X.org build environment... xf86Version.h missing
-Tried /usr/programs/Xserver/hw/xfree86 and /usr/xc/programs/Xserver/hw/xfree86
-...
-***
-*** WARNING:
-*** Unable to compile wacom_drv.{o,so}
-*** without Xorg SDK or XFree86 build environment
-*** wacom_drv.o will not be built
-***
-</pre></blockquote>
-
-<p>In this particular case, the X driver was enabled. The
---with-x-src option was not specified. And the configure can not find
-the header file, xf86Version.h, under any of the predefined paths.
-Without the build environment, the module cannot be compiled and was consequently disabled.
-
-
-</p><p>The following sample command-line will build everything but wacdump
-while disabling module versioning. It also has a user-specified kernel
-source directory:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure --enable-wacom \
- --enable-hid --enable-usbmouse --enable-evdev \
- --enable-moudedev --enable-input --disable-modver \
- --with-x-src=/usr/src/redhat/BUILD/XFree86-4.2.0 \
- --with-kernel=/home/jej/src/linux \
- --disable-wacdump --with-tcl=/usr/local/ActiveTcl
-checking for a BSD-compatible install... /usr/bin/install -c
-checking whether build environment is sane... yes
-...
-checking for processor type... i686
-checking for kernel module versioning... <b>yes</b>
-checking for kernel sources... /usr/src/linux-2.4
-checking for valid XFree86 build environment... <b>ok</b>
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - yes 2.4
- module versioning - <b>no</b>
- kernel source - <b>yes /home/jej/src/linux</b>
- XFree86 - <b>yes /usr/src/redhat/BUILD/XFree86-4.2.0</b>
- XLib - yes /usr/X11R6/lib
- TCL - <b>yes /usr/local/ActiveTcl</b>
- TK - <b>yes /usr/local/ActiveTcl</b>
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - <b>yes</b>
- wacdump - <b>no</b>
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - <b>yes</b>
- usbmouse.o - <b>yes</b>
- evdev.o - <b>yes</b>
- mousedev.o - <b>yes</b>
- input.o - <b>yes</b>
- tabletdev.o - no
- wacom_drv.so - no
- wacom_drv.o - <b>yes</b>
- wacom*_drv quirks - libc-wrapper key-events
-----------------------------------------
-</pre></blockquote>
-
-<p>Notice that the configure script guessed module versioning was
-enabled by default, but was disabled by the command-line option
---disable-modver. Similarly, the wacdump program which is enabled
-by default was also disabled. All the kernel modules and the
-XFree86 wacom driver are enabled.
-
-
-</p><p>Here is another sample from Red Hat Enterprise Linux ES v.4:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom-x86-64]$ ./configure \
- --enable-wacom --enable-hid \
- --with-xf86=/home/jej/Desktop/X11R6.8 \
- --with-tcl=/usr/local/ActiveTcl \
- <b>--enable-xserver64 \
- --with-xlib=/usr/X11R6/lib64 </b>
-checking for a BSD-compatible install... /usr/bin/install -c
-checking whether build environment is sane... yes
-...
-checking build system type... x86_64-redhat-linux-gnu
-checking host system type... x86_64-redhat-linux-gnu
-checking for ld used by g++... /usr/bin/ld -m elf_x86_64
-...
-
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - <b>x86-64</b>
- linux kernel - yes 2.6.9
- module versioning - yes -DCONFIG_MODVERSIONS -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h
- kernel source - yes /usr/src/linux
- XFree86 - yes /home/jej/Desktop/X11R6.8
- XSERVER64 - <b>yes</b>
- XLib - <b>yes /usr/X11R6/lib64</b>
- TCL - yes /usr/local/ActiveTcl
- TK - yes /usr/local/ActiveTcl
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - yes
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - yes
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.so - no
- wacom_drv.o - yes
- wacom*_drv quirks - libc-wrapper key-events
-----------------------------------------
-</pre></blockquote>
-
-<a name="kernel">
-</a><h1><a name="kernel">3.0 - The USB Kernel Driver</a></h1>
-<p><a name="kernel">Serial tablet users rejoice: you can skip this entire section. Please
-go to the </a><a href="#wacdump">Viewing Wacom Data (wacdump)</a> page for details on viewing the tablet output.
-USB users stay put; we need to tweak your kernel.
-
-</p><p>Kernel modules must be recompiled for each new kernel so I can't
-just provide binaries. By the time you read this, my present kernel
-will be entirely out of date with yours. </p>
-
-<p>In any event, many new features are available in the latest drivers
-from the Linux Wacom Project, so I wholly recommend using them over the
-drivers provided by your standard distribution. Rest assured, continuous
-efforts are being made to get these changes merged back into the Linux
-kernel. However, the changes can normally only merged into the next
-kernel release, instead of the current one. </p>
-
-<p>For those who don't like upgrading kernels, here is a safe statement:
-if you are not using a newly released tablet model and you are running a
-recently released kernel version, chances are that you don't need to
-update your kernel driver from linuxwacom.</p>
-
-<p><b>Note:</b> If your system is running a 2.4 kernel and you don't have
-any application required to run on kernel 2.4, upgrading to version 2.6
-(preferablely 2.6.18 or later) may save you the steps to update wacom
-kernel related modules. </p>
-<a name="testtablet">
-</a><h2><a name="testtablet">3.1 - Testing Tablet Detection</a></h2>
-
-<p><a name="testtablet">In this section we will determine which driver, if any, claims control
-over the tablet. There are at least three drivers that are interested: <br>
-1) (usb)hid.o which may think it is an HID device, <br>
-2) usbmouse.o which may think it is an HID mouse (for kernel 2.4), and <br>
-3) the wacom driver which should identify the tablet as its own. <br>
-
-</a></p><p><a name="testtablet">To see which driver is driving the tablet, issuing <i>more /proc/bus/usb/devices</i>
-should list something similiar to the following:
-
-</a></p><blockquote><pre><a name="testtablet">[jej@ayukawa wacom]$more /proc/bus/usb/devices
-T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
-D: Ver= 1.10 Cls=00(&gt;ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
-P: <b>Vendor=056a ProdID=0042</b> Rev= 1.15
-S: Manufacturer=Tablet
-S: Product=XD-0608-U
-C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=140mA
-I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 <b>Driver=wacom</b>
-E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=5ms
-</a></pre></blockquote>
-
-<p><a name="testtablet">where <b>Vendor=056a</b> indicates a Wacom device. <b>Driver=wacom</b>
-means Wacom driver is in control of the tablet. If you see anything other
-than <b>wacom</b> after <b>Driver=</b>, at least hid-core.c needs to be
-updated.
-
-</a></p><p><a name="testtablet">On newer 2.6 systems, <i>more /proc/bus/input/devices</i> gives you
-
-</a></p><blockquote><pre><a name="testtablet">[jej@ayukawa wacom]$more /proc/bus/input/devices
-I: Bus=0003 <b>Vendor=056a Product=0042</b> Version=1.15
-N: <b>Name="Wacom Intuos2 6x8"</b>
-P: Phys=usb-0000:00:1d.1-2/input0
-H: Handlers=event3
-B: EV=1f
-B: KEY=1cff 0 1f00ff 0 0 0 0 0 0 0 0
-B: REL=100
-B: ABS=f00017b
-B: MSC=1
-</a></pre></blockquote>
-
-<p><a name="testtablet">where, again, <b>Vendor=056a</b> indicates a Wacom device. <b>Name="Wacom
- Intuos2 6x8"</b> means an Intuos2 6x8 tablet reported to /dev/input/event3.
-If there is no <b>Wacom</b> after <b>Name=</b>, you need to update wacom.c.
-
-
-</a></p><p><a name="testtablet">On kernel 2.4 or older 2.6 systems, unplug then replug your tablet after
-issuing <i>tail -f /var/log/messages</i>, you should see a flurry of activity.
-The exact output depends a lot on your particular kernel and distribution.
-
-</a></p><blockquote><pre><a name="testtablet">This is Redhat 8.0 (2.4.18-17.8.0):<br>
-[jej@ayukawa usb]# tail /var/log/messages
-Apr 29 21:26:11 ayukawa kernel: hub.c: USB new device connect on bus2/2, assigned device number 2
-Apr 29 21:26:11 ayukawa kernel: <b>input0: Wacom Intuos2 12x12</b> on usb2:2.0
-Apr 29 21:26:11 ayukawakernel: <b>wacom.c: Setting tablet report for tablet data</b>
-Apr 29 21:26:11 ayukawa kernel: <b>wacom.c: input1: Wacom Intuos2 12x12</b> on usb1:6.0
-Apr 29 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup wacom hid for USB product <b>56a/44</b>/115
-Apr 29 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup mousedev for USB product <b>56a/44</b>/115
-</a></pre>
-<pre class="diff"><a name="testtablet">And here it is again on Redhat 7.2 (2.4.18-17.7.x):<br>
-[jej@sasami root]# tail /var/log/messages
-Apr 29 21:28:38 sasami kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
-Apr 29 21:28:38 sasami kernel: <b>input0: Wacom Intuos2 12x12</b> on usb1:2.0
-Apr 29 21:28:39 sasami kernel: usb.c: registered new driver hiddev
-Apr 29 21:28:39 sasami kernel: usb.c: registered new driver hid
-Apr 29 21:28:39 sasami kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik &lt;vojtech@suse.cz&gt;
-Apr 29 21:28:39 sasami kernel: hid-core.c: USB HID support drivers
-Apr 29 21:28:39 sasami kernel: mice: <b>PS/2 mouse</b> device common for all mice
-</a></pre>
-</blockquote>
-
-<p><a name="testtablet">If all went well like above, the USB device was successfully detected and
-handled by the wacom driver. This presumably means that information like
-pressure and tilt will be received on /dev/input/event0. You are ready to
-configure the X driver </a><a href="#download">Downloading the Code</a>.
-
-</p><p>If instead you got any of the following lines in your log, the wacom
-driver <i>did not get control</i>. Either hid or usbmouse did.
-
-</p><blockquote><pre> <b>input0,hiddev0: USB HID v1.00 Mouse [Tablet XD-1212-U]</b> on usb1:5.0
- <b>input0: Tablet XD-1212-U</b> on usb1:5.0
-<pre></pre></pre></blockquote>
-<a name="newwacom">
-</a><h2><a name="newwacom">3.2 - Updated wacom.c</a></h2>
-<p><a name="newwacom">The wacom kernel driver (wacom_wac.c and wacom_sys.c) that is available
-in </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.2-2.tar.bz2">linuxwacom-0.8.2-2.tar.bz2</a> supports USB Tablet PC, Bamboo1 Medium, and
-Monarch, which will be available in kernel version 2.6.28.
-
-</p><p>You can link Wacom USB tablet to "/dev/input/wacom". It can be done
-by adding the following rules in /etc/udev/rules.d/60-wacom.rules. Some
-distributions use a different number for the file name. Please look for
-proper one with wacom under /etc/udev/rules.d.
-
-</p><p>Below are examples from Debian GNU/Linux distribution:
-
-</p><p><b>60-wacom.rules on systems using ATTRS</b>
-
-</p><p><b>1. </b>Systems with only one Wacom device
-
-</p><div class="diff">
-<blockquote><pre># udev rules for wacom tablets.
-
-KERNEL!="event[0-9]*", GOTO="wacom_end"
-
-# Multiple interface support for stylus and touch devices.
-DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
-DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
-
-# Convenience links for the common case of a single tablet. We could do just this:
-#ATTRS{idVendor}=="056a", SYMLINK+="input/wacom-$env{WACOM_TYPE}"
-# but for legacy reasons, we keep the input/wacom link as the generic stylus device.
-ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
-ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
-
-# Check and repossess the device if a module other than the wacom one
-# is already bound to it.
-ATTRS{idVendor}=="056a", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"
-
-LABEL="wacom_end"
-
-</pre></blockquote>
-</div>
-
-<p><b>2. </b>Systems with more than one Wacom devices
-
-</p><div class="diff">
-<blockquote><pre># udev rules for wacom tablets.
-# These rules were compiled for the Debian GNU/Linux distribution,
-# but others may, and indeed are encouraged to, use them also.
-#
-# Should you do so, PLEASE CO-ORDINATE ANY CHANGES OR ADDITIONS
-# of new devices with Ron <ron@debian.org> so that we can try
-# to present users with a standard set of device nodes
-# which they can rely on across the board.
-
-KERNEL!="event[0-9]*", GOTO="wacom_end"
-
-# Port specific link for users of multiple tablets of the same type.
-# The ID_PATH variable is set by the "path_id" script in an earlier rule file.
-ATTRS{idVendor}=="056a", ENV{ID_PATH}=="?*", SYMLINK="input/by-path/$env{ID_PATH}-wacom"
-
-# Multiple interface support for stylus and touch devices.
-DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
-DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
-
-# Type-named links for multiple tablets. If you want to use multiple
-# tablets of the _same_ type, you will probably need to use the links
-# from /dev/input/by-path to identify which is plugged into what usb
-# port. For different tablet types though, just pick your links from
-# the list below.
-#
-# We override SYMLINK for tabletpc devices because the by-path link
-# is not required with such devices, there will only ever be one.
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0000", SYMLINK+="input/tablet-penpartner"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0003", SYMLINK+="input/tablet-cintiq_partner"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0010", SYMLINK+="input/tablet-graphire"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0011", SYMLINK+="input/tablet-graphire2-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0012", SYMLINK+="input/tablet-graphire2-5x7"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0013", SYMLINK+="input/tablet-graphire3"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0014", SYMLINK+="input/tablet-graphire3-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0015", SYMLINK+="input/tablet-graphire4-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0016", SYMLINK+="input/tablet-graphire4-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0017", SYMLINK+="input/tablet-bamboofun-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0018", SYMLINK+="input/tablet-bamboofun-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0019", SYMLINK+="input/tablet-bamboo1-medium"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0020", SYMLINK+="input/tablet-intuos-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0021", SYMLINK+="input/tablet-intuos-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0022", SYMLINK+="input/tablet-intuos-9x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0023", SYMLINK+="input/tablet-intuos-12x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0024", SYMLINK+="input/tablet-intuos-12x18"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0030", SYMLINK+="input/tablet-pl400"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0031", SYMLINK+="input/tablet-pl500"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0032", SYMLINK+="input/tablet-pl600"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0033", SYMLINK+="input/tablet-pl600sx"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0034", SYMLINK+="input/tablet-pl550"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0035", SYMLINK+="input/tablet-pl800"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0037", SYMLINK+="input/tablet-pl700"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0038", SYMLINK+="input/tablet-pl510"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0039", SYMLINK+="input/tablet-dtu710"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="003f", SYMLINK+="input/tablet-cintiq21ux"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0041", SYMLINK+="input/tablet-intuos2-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0042", SYMLINK+="input/tablet-intuos2-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0043", SYMLINK+="input/tablet-intuos2-9x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0044", SYMLINK+="input/tablet-intuos2-12x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0045", SYMLINK+="input/tablet-intuos2-12x18"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0047", SYMLINK+="input/tablet-intuos2-6x8a"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0060", SYMLINK+="input/tablet-volito"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0061", SYMLINK+="input/tablet-penstation2"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0062", SYMLINK+="input/tablet-volito2-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0063", SYMLINK+="input/tablet-volito2-2x3"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0064", SYMLINK+="input/tablet-penpartner2"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0065", SYMLINK+="input/tablet-bamboo"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0069", SYMLINK+="input/tablet-bamboo1"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0081", SYMLINK+="input/tablet-graphire_bt-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0090", SYMLINK="input/tablet-tpc90"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0093", SYMLINK="input/tablet-tpc93-$env{WACOM_TYPE}"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="009a", SYMLINK="input/tablet-tpc9a-$env{WACOM_TYPE}"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b0", SYMLINK+="input/tablet-intuos3-4x5"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b1", SYMLINK+="input/tablet-intuos3-6x8"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b2", SYMLINK+="input/tablet-intuos3-9x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b3", SYMLINK+="input/tablet-intuos3-12x12"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b4", SYMLINK+="input/tablet-intuos3-12x19"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b5", SYMLINK+="input/tablet-intuos3-6x11"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b7", SYMLINK+="input/tablet-intuos3-4x6"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b8", SYMLINK+="input/tablet-intuos4-4x6"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b9", SYMLINK+="input/tablet-intuos4-6x9"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00ba", SYMLINK+="input/tablet-intuos4-8x13"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bb", SYMLINK+="input/tablet-intuos4-12x19"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c0", SYMLINK+="input/tablet-dtf521"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c4", SYMLINK+="input/tablet-dtf720"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c5", SYMLINK+="input/tablet-cintiq20wsx"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c6", SYMLINK+="input/tablet-cintiq12wx"
-ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c7", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/tablet-dtu1931"
-
-# Convenience links for the common case of a single tablet. We could do just this:
-#ATTRS{idVendor}=="056a", SYMLINK+="input/wacom-$env{WACOM_TYPE}"
-# but for legacy reasons, we keep the input/wacom link as the generic stylus device.
-ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
-ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
-
-# Check and repossess the device if a module other than the wacom one
-# is already bound to it.
-ATTRS{idVendor}=="056a", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"
-
-LABEL="wacom_end"
-
-
-</ron@debian.org></pre></blockquote>
-</div>
-
-<p><b>60-wacom.rules on systems using SYSFS</b>
-
-</p><p><b>1. </b>Systems with only one Wacom device
-
-</p><div class="diff">
-<blockquote><pre># udev rules for wacom devices
-# will create:
-# /dev/input/wacom
-# /dev/input/wacom-touch
-BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
-BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
-
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
-</pre></blockquote>
-</div>
-
-<p><b>2. </b>Systems with more than one Wacom devices
-
-</p><div class="diff">
-<blockquote><pre># udev rules for wacom devices
-# will create:
-# /dev/input/wacom
-# /dev/input/wacom-tablets/<model>
-# /dev/input/wacom-tablets/<model>-<device id="">
-#
-# The last rule is intended for cases when you have more than one tablet
-# of the same model. The id is usb port dependent.
-#
-BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
-BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
-
-# Type-named links for multiple tablets. If you want to use multiple
-# tablets of the _same_ type, you will probably need to use the links
-# from /dev/input/wacom-tablets to identify which is plugged into what usb
-# port. For different tablet types though, just pick your links from
-# the list below.
-#
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0000", SYMLINK+="input/wacom-tablets/penpartner input/wacom-tablets/penpartner-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0010", SYMLINK+="input/wacom-tablets/graphire input/wacom-tablets/graphire-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0011", SYMLINK+="input/wacom-tablets/graphire2-4x5 input/wacom-tablets/graphire2-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0012", SYMLINK+="input/wacom-tablets/graphire2-5x7 input/wacom-tablets/graphire2-5x7-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0013", SYMLINK+="input/wacom-tablets/graphire3 input/wacom-tablets/graphire3-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0014", SYMLINK+="input/wacom-tablets/graphire3-6x8 input/wacom-tablets/graphire3-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0015", SYMLINK+="input/wacom-tablets/graphire4-4x5 input/wacom-tablets/graphire4-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0016", SYMLINK+="input/wacom-tablets/graphire4-6x8 input/wacom-tablets/graphire4-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0017", SYMLINK+="input/wacom-tablets/bamboofun-4x5 input/wacom-tablets/bamboofun-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0018", SYMLINK+="input/wacom-tablet/bamboofun-6x8 input/wacom-tablets/bamboofun-6x8"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0019", SYMLINK+="input/wacom-tablet/bamboo1-medium input/wacom-tablets/bamboo1-medium"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0060", SYMLINK+="input/wacom-tablets/volito input/wacom-tablets/volito-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0061", SYMLINK+="input/wacom-tablets/penstation2 input/wacom-tablets/penstation2-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0062", SYMLINK+="input/wacom-tablets/volito2-4x5 input/wacom-tablets/volito2-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0063", SYMLINK+="input/wacom-tablets/volito2-2x3 input/wacom-tablets/volito2-2x3-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0064", SYMLINK+="input/wacom-tablets/penpartner2 input/wacom-tablets/penpartner2-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0020", SYMLINK+="input/wacom-tablets/intuos-4x5 input/wacom-tablets/intuos-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0021", SYMLINK+="input/wacom-tablets/intuos-6x8 input/wacom-tablets/intuos-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0022", SYMLINK+="input/wacom-tablets/intuos-9x12 input/wacom-tablets/intuos-9x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0023", SYMLINK+="input/wacom-tablets/intuos-12x12 input/wacom-tablets/intuos-12x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0024", SYMLINK+="input/wacom-tablets/intuos-12x18 input/wacom-tablets/intuos-12x18-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0030", SYMLINK+="input/wacom-tablets/pl400 input/wacom-tablets/pl400-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0031", SYMLINK+="input/wacom-tablets/pl500 input/wacom-tablets/pl500-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0032", SYMLINK+="input/wacom-tablets/pl600 input/wacom-tablets/pl600-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0033", SYMLINK+="input/wacom-tablets/pl600sx input/wacom-tablets/pl600sx-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0034", SYMLINK+="input/wacom-tablets/pl550 input/wacom-tablets/pl550-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0035", SYMLINK+="input/wacom-tablets/pl800 input/wacom-tablets/pl800-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0037", SYMLINK+="input/wacom-tablets/pl700 input/wacom-tablets/pl700-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0038", SYMLINK+="input/wacom-tablets/pl510 input/wacom-tablets/pl510-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0039", SYMLINK+="input/wacom-tablets/dtu710 input/wacom-tablets/dtu710-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00c0", SYMLINK+="input/wacom-tablets/dtf521 input/wacom-tablets/dtf521-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00c4", SYMLINK+="input/wacom-tablets/dtf720 input/wacom-tablets/dtf720-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0003", SYMLINK+="input/wacom-tablets/cintiq_partner input/wacom-tablets/cintiq_partner-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0041", SYMLINK+="input/wacom-tablets/intuos2-4x5 input/wacom-tablets/intuos2-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0042", SYMLINK+="input/wacom-tablets/intuos2-6x8 input/wacom-tablets/intuos2-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0043", SYMLINK+="input/wacom-tablets/intuos2-9x12 input/wacom-tablets/intuos2-9x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0044", SYMLINK+="input/wacom-tablets/intuos2-12x12 input/wacom-tablets/intuos2-12x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0045", SYMLINK+="input/wacom-tablets/intuos2-12x18 input/wacom-tablets/intuos2-12x18-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b0", SYMLINK+="input/wacom-tablets/intuos3-4x5 input/wacom-tablets/intuos3-4x5-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b1", SYMLINK+="input/wacom-tablets/intuos3-6x8 input/wacom-tablets/intuos3-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b2", SYMLINK+="input/wacom-tablets/intuos3-9x12 input/wacom-tablets/intuos3-9x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b3", SYMLINK+="input/wacom-tablets/intuos3-12x12 input/wacom-tablets/intuos3-12x12-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b4", SYMLINK+="input/wacom-tablets/intuos3-12x19 input/wacom-tablets/intuos3-12x19-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b5", SYMLINK+="input/wacom-tablets/intuos3-6x11 input/wacom-tablets/intuos3-6x11-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="003f", SYMLINK+="input/wacom-tablets/cintiq21ux input/wacom-tablets/cintiq21ux-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0047", SYMLINK+="input/wacom-tablets/intuos2-6x8a input/wacom-tablets/intuos2-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b7", SYMLINK+="input/wacom-tablets/intuos3-4x6 input/wacom-tablets/intuos3-4x6-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b8", SYMLINK+="input/wacom-tablets/intuos4-4x6 input/wacom-tablets/intuos4-4x6-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00b9", SYMLINK+="input/wacom-tablets/intuos4-6x9 input/wacom-tablets/intuos4-6x9-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00ba", SYMLINK+="input/wacom-tablets/intuos4-8x13 input/wacom-tablets/intuos4-8x13-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00bb", SYMLINK+="input/wacom-tablets/intuos4-12x19 input/wacom-tablets/intuos4-12x19-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0065", SYMLINK+="input/wacom-tablets/bamboo input/wacom-tablets/bamboo-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00c6", SYMLINK+="input/wacom-tablets/cintiq12wx input/wacom-tablets/cintiq12wx-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00c5", SYMLINK+="input/wacom-tablets/cintiq20wsx input/wacom-tablets/cintiq20wsx-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="00c7", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom-tablets/dtu1931 input/wacom-tablets/dtu1931-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0069", SYMLINK+="input/wacom-tablets/bamboo1 input/wacom-tablets/bamboo1-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0081", SYMLINK+="input/wacom-tablets/graphire_bt-6x8 input/wacom-tablets/graphire_bt-6x8-%b"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0090", SYMLINK="input/wacom-tablets/tpc90"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0093", SYMLINK="input/wacom-tablets/tpc93-$env{WACOM_TYPE}"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="009a", SYMLINK="input/wacom-tablets/tpc9a-$env{WACOM_TYPE}"
-
-# Convenience links for the common case of a single tablet. We could do just this:
-#SYSFS{idVendor}=="056a", SYMLINK+="input/wacom-$env{WACOM_TYPE}"
-# but for legacy reasons, we keep the input/wacom link as the generic stylus device.
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
-BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
-
-</device></model></model></pre></blockquote>
-</div>
-
-
-<div class="diff">
-Newer Mandriva Linux (Mandriva 2007 Spring and later) has an application called
-mousedrake which takes care of the setup and configuration of linuxwacom driver.
-If you use Mandriva Linux and you see InputDevice sections for Wacom device in
-your Xorg.conf, chances are your Wacom tablet is ready for you to draw.
-</div>
-
-<a name="buildwacom6">
-</a><h2><a name="buildwacom6">3.3 - Building wacom.c</a></h2>
-
-<a name="buildwacom6">To build the wacom.ko kernel module, you need to configure wacom as a kernel
-module under your kernel source tree first. The kernel sources are required
-as described on the </a><a href="#config">configuration</a> page.
-
-<p>Then, you need to configure the package with --enable-wacom option.
-Here's how the configuration should generally look:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure --enable-wacom
-...
-checking for valid kernel source tree... <b>ok</b>
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - <b>yes 2.6.9</b>
- module versioning - yes
- kernel - <b>yes /usr/src/linux</b>
- XFree86 - no
- XLib - yes /usr/X11R6
- TCL - yes /usr
- TK - yes /usr
- ncurses - yes
- GTK - 2.0.6
-
- BUILD OPTIONS:
- wacom.o - <b>yes</b>
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.o - no
-----------------------------------------
-</pre></blockquote>
-
-<p>As shown above, the kernel directory was detected and the wacom.o
-module will be built. If the kernel option shows "no", you will need
-to specify the --with-kernel option and the correct directory.
-
-</p><blockquote><div class="diff">For those who feel comfortable to
-build everything from the source tree, please skip the make and install
-steps below. Scroll down to the end of this page to see the steps with
-light blue background.
-</div></blockquote>
-
-<p>To build the driver, just run <i>make</i>.
-
-</p><p>If everything works properly, you'll see the following from the make:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ make
-...
-Making all in 2.6.9
-make[3]: Entering directory `/home/jej/linuxwacom/src/2.6.9'
- Building linuxwacom drivers for 2.6 kernel.
-make -C /usr/src/linux M=/home/jej/linuxwacom/src/2.6.9
-make[4]: Entering directory `/home/jej/linux-2.6.9'
- LD /home/jej/linuxwacom/src/2.6.9/built-in.o
- CC [M] /home/jej/linuxwacom/src/2.6.9/wacom.o
- Building modules, stage 2.
- MODPOST
- CC /home/jej/linuxwacom/src/2.6.9/wacom.mod.o
- LD [M] /home/jej/linuxwacom/src/2.6.9/wacom.ko
-make[4]: Leaving directory `/usr/src/linux'
-make[3]: Leaving directory `/home/jej/linuxwacom/src/2.6.9'
-...
-</pre></blockquote>
-
-<p></p><div class="diff">This part is for those who want to manually
-build the wacom kernel driver in source tree. If you already followed
-the steps above, you can move on to next page. <p>Please backup wacom.c in your kernel tree first. Then copy wacom.c
-(or wacom_wac.c, wacom_wac.h, wacom_sys.c, and wacom.h if defined) from
-the related linuxwacom directory to the source tree (if 4 files were
-copies, you need to add <b>wacom-objs := wacom_sys.o wacom_wac.o </b>
-to the Makefile under your kernel source input directory) and rebuild
-the kernel. An example for kernel 2.6.9 is as following: </p><blockquote><pre>
- [jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/usb/input/wacom.c /usr/src/linux/drivers/usb/input/wacom.c.2.6.9
- [jej@ayukawa linuxwacom]$ cp src/2.6.9/wacom.c /usr/src/linux/drivers/usb/input/
- [jej@ayukawa linuxwacom]$ cd /usr/src/linux
- [jej@ayukawa linux]$ make
- [jej@ayukawa linux]$ su
- [jej@ayukawa linux]#make install
- [jej@ayukawa linux]#make modules_install
- [jej@ayukawa linux]#reboot
- </pre></blockquote>
- </div>
-<a name="testwacom">
-</a><h2><a name="testwacom">3.4 - Testing If wacom.(k)o Will Load</a></h2>
-<p><a name="testwacom">Before we install the wacom driver, we need to test that it will load
-properly. We do this by loading the driver manually. We will also
-</a><a href="#root">need to be root</a> to do this.
-
-</p><p>WARNING: there is a small chance that this will bomb your kernel,
-so we run <i>sync</i> to write all the stale buffers to the disk. People
-using ext3 have little to worry about, but it's always good to be prepared
-for the worst. At the very least, save your work.
-
-</p><blockquote><pre>[root@ayukawa linuxwacom]# sync
-</pre></blockquote>
-
-<p>From the package's associated kernel directory, we unload any previous modules and
-load the new one. The following example is from a kernel 2.4.22 system.
-
-</p><pre class="diff">
-<p>For Kernel 2.6.x, replace wacom.o with wacom.ko where it is used.
-
-</p><p>Kernel 2.6.11 and 2.6.12 are in src/2.6.11. Kernels 2.6.15 and 2.6.17 are handled in src/2.6.16.
-</p></pre>
-
-<blockquote><pre>[root@ayukawa linuxwacom]# cd src/2.4.22
-[root@ayukawa 2.4.22]# /sbin/rmmod wacom
-[root@ayukawa 2.4.22]# /sbin/insmod ./wacom.o # for those about to rock, we salute you.
-</pre></blockquote>
-
-<p>Well, if you did not bomb, then good. And if you did, well, sorry. So
-far, we have not had any reports of this happening, so please send in yours.
-
-</p><p>Incidentally, if you run "/sbin/insmod wacom.o" and happen to be in the
-wrong directory, the old driver reloads, sometimes without warning. I
-therefore changed this to read "/sbin/insmod ./wacom.o" which seems to prevent
-this from happening. To be certain, you can check the log file for the
-correct version number.
-
-</p><blockquote><pre>[root@ayukawa src]# tail /var/log/messages
-Apr 29 20:34:41 ayukawa kernel: usb.c: registered new driver wacom
-Apr 29 20:34:41 ayukawa kernel: Reporting max 30480, 31680
-Apr 29 20:34:41 ayukawa kernel: wacom.c: Setting tablet report for tablet data
-Apr 29 20:34:41 ayukawa kernel: input0: Wacom Intuos2 12x12 on usb2:3.0
-Apr 29 20:34:41 ayukawa kernel: wacom.c: <b>$1.43-0.8.2-2</b> Vojtech Pavlik &lt;vojtech@suse.cz&gt;
-Apr 29 20:34:41 ayukawa kernel: wacom.c: USB Wacom Graphire and Wacom Intuos tablet driver
-
-</pre></blockquote>
-
-<p>The important detail is the version number. A version number like
-"1.46"
-is an original kernel version and not from the linuxwacom package. The
-correct version should also have the -j#.# or -pc#.# portion as well.
-This is to help differentiate between the stock kernel driver and those
-available from the Linux Wacom Project.
-</p><p>If you get errors inserting the module, then you may need to reconfigure
-and build with module versioning disabled. If it loads without a hitch,
-move on to the next part.
-<a name="installwacom">
-</a></p><h2><a name="installwacom">3.5 - Installing wacom.(k)o</a></h2>
-
-<pre class="diff"><p><a name="installwacom">For Kernel 2.4.x, replace wacom.ko with wacom.o where it is used.
-</a></p></pre>
-
-<p><a name="installwacom">To install or not to install, that is the question.
-Since the driver is in memory, you can pretty much use it this way
-throughout the rest of this document. Anywhere you see
-"modprobe wacom", you'll instead need to "insmod ./wacom.ko".
-You'll also need to be careful that you are in the package's src directory.
-If you instead use the less-specific command "insmod wacom.ko" from a
-directory other than the package's src directory, <i>insmod</i> will load
-the driver from the kernel modules directory instead. The result is that
-you'll be using the wrong driver.
-
-</a></p><p><a name="installwacom">Why would you not install the driver? Well, for one, you may be building
-a driver against a wrong kernel source, and if the system crashes (you get
-an Oops or things come unglued in other ways), it would be nice to reboot
-and have the original drivers load instead.
-
-</a></p><p><a name="installwacom">When should I install the driver? When you're comfortable that the
-driver will not crash your system. If you really know what you're doing,
-just load the drivers manually like in the previous section </a><a href="#testwacom">Testing If wacom.(k)o Will Load</a>.
-
-</p><p class="diff">On some distributions, Mandriva (a.k.a Mandrake) included, the
-wacom.ko driver that appears in the kernel modules directory appears to be
-compressed. If you cannot find wacom.ko using the method below, try locating
-wacom.ko.gz instead. People who encountered this problem were able to run
-gzip on the module and copy that instead.</p>
-
-<p>Installing the driver requires knowing where it belongs. A little research
-will help here. By using the <i>locate</i> command, you can find all copies
-of the original driver on the computer.</p>
-
-<blockquote><pre>jej@ayukawa wacom]$ locate wacom.ko
-/lib/modules/2.6.17-1.2157_FC5/kernel/drivers/usb/input/<b>wacom.ko</b>
-/lib/modules/2.6.17-1.2174_FC5/kernel/drivers/usb/input/<b>wacom.ko</b>
-
-[jej@ayukawa wacom]$ uname -r
-<b>2.6.17-1.2157_FC5</b>
-</pre></blockquote>
-
-On this computer, there are two kernels installed. <i>uname</i> identifies
-the currently active kernel as 2.6.17-1.2157_FC5. The correct driver to
-replace is therefore at /lib/modules/2.6.17-1.2157_FC5/kernel/drivers/usb/input/wacom.ko.
-You will need to be root to replace this file, and it is a very good idea to
-make a backup copy.
-
-<blockquote><pre>[jej@ayukawa wacom]$ su -
-[jej@ayukawa root]# cd /lib/modules/2.6.17-1.2157_FC5/kernel/drivers/usb/input
-[jej@ayukawa usb]# cp <b>wacom.ko</b> /home/jej/linuxwacom/src/2.6.16/<b>wacom_old.ko</b>
-[jej@ayukawa usb]# cp /home/jej/linuxwacom/src/2.6.16/<b>wacom.ko</b> <b>wacom.ko</b>
-</pre></blockquote>
-
-Here, I've saved the original to wacom_old.ko and copied my new driver over it.
-You should substitute directory names as appropriate.
-
-<p><b>NOTE: Don't leave the backup copy in the same directory as the
-original.</b> <i>depmod</i> will treat both as valid drivers, regardless
-of their names. Copy the original somewhere outside of the kernel module
-directory to ensure that this does not happen. In at least one case,
-the backup driver was loaded instead of the new one due to a curious
-dependency issue.
-
-</p><p>Finally, it is always a good thing to update the module dependencies.
-This is where you find out if the module was compiled without kernel module
-versioning. The following command, even if it generates errors is relatively
-benign. If it fails, then there is no harm done. It just means that you will
-have to load modules in the correct order since the system will not be able to
-guess for you.
-
-</p><blockquote><pre>[jej@ayukawa usb]# depmod -e
-</pre></blockquote>
-
-<p>If you get no errors and no output, everything is fine, and the module was
-compiled, linked, and installed properly. If you received unresolved symbols
-like usb_set_idle or printk, then you need to reconfigure with module
-versioning enabled and recompile.
-
-
-</p><pre class="diff"><p>Here is an example from a 2.6.12 system on Mandriva.
-
-</p><blockquote><pre>jej@ayukawa wacom]$ locate wacom.ko.gz
-/lib/modules/2.6.12-12mdksmp/kernel/drivers/usb/input/<b>wacom.ko.gz</b>
-/lib/modules/2.6.12-12mdksmp/kernel/drivers/usb/input/<b>wacom.ko.gz</b>
-
-[jej@ayukawa wacom]$ uname -r
-<b>2.6.12-12mdksmp</b>
-</pre></blockquote>
-
-
-</pre>
-<a name="loadwacom">
-</a><h2><a name="loadwacom">3.6 - Loading the wacom Driver</a></h2>
-
-<pre class="diff"><p><a name="loadwacom">For Kernel 2.6.x, replace wacom.o with wacom.ko where it is used.
-</a></p></pre>
-
-<p><a name="loadwacom">If you have installed the driver, now is the time to test whether it will
-load when needed. If you have not installed it, but are instead using insmod,
-substitute <i>insmod mydir/src/wacom.o</i> where you see
-<i>modprobe wacom</i> below. It is important that you use the correct
-wacom.o file, the one you just built, since insmod may load the old driver
-if it cannot find the one you have specified.
-
-</a></p><blockquote><pre><a name="loadwacom">[jej@ayukawa usb]# rmmod wacom
-[jej@ayukawa usb]# modprobe usb-uhci (or usb-ohci)
-<span class="diff">[jej@ayukawa usb]# modprobe input</span>
-<span class="diff">[jej@ayukawa usb]# modprobe mousedev</span>
-[jej@ayukawa usb]# modprobe wacom (or insmod mydir/src/wacom.o)
-[jej@ayukawa usb]# modprobe evdev
-</a></pre></blockquote>
-
-<p><a name="loadwacom">Check the system log for status messages pertaining to the wacom.
-Here's a copy of the messages from my version of the driver.
-
-</a></p><blockquote><pre><a name="loadwacom">[jej@ayukawa usb]# grep -i wacom /var/log/messages | tail
-Apr 29 21:23:35 ayukawa kernel: usb.c: registered new driver wacom
-Apr 29 21:23:35 ayukawa kernel: wacom.c: <b>v1.43-0.8.2-2</b> Vojtech Pavlik &lt;vojtech@suse.cz&gt;
-Apr 29 21:23:35 ayukawa kernel: wacom.c: USB Wacom Graphire and Wacom Intuos tablet driver (MODIFIED)
-</a></pre></blockquote>
-
-<p><a name="loadwacom">The original driver was version 1.43. This version number
-is 1.43-0.8.2-2 so the correct driver was loaded.</a></p>
-<a name="buildhid6">
-</a><h2><a name="buildhid6">3.7 - Building (usb)hid.ko</a></h2>
-
-<p><a name="buildhid6">In the </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.2-2.tar.bz2">linuxwacom-0.8.2-2.tar.bz2</a>
-file, you will find hid-core.c, which have special exceptions for
-wacom. This file is not built by default, so you will need to
-reconfigure the package and run make again. </p><p class="diff">Note, for kernel 2.6.18 and later, no need to build hid any more. For other kernels, refer to <a href="#testtablet">Testing Tablet Detection</a> to see if you need to build hid or not.</p>
-
-<p>You need to configure usbhid as a module under your kernel source tree before configuring linuxwacom.
-
-</p><p class="diff">On some distributions, Mandrake or Mandriva
-included, the (usb)hid.ko driver that located in the kernel modules
-directory appears to be compressed. You need to run gzip on the module
-and copy (usb)hid.ko.gz instead.</p>
-
-<blockquote><pre>[jej@ayukawa wacom]$./configure --enable-hid --with-kernel=your-kernel-src-dir
-...
- BUILD OPTIONS:
- hid.o - <b>yes</b>
-...
-</pre></blockquote>
-
-<p>Kernel 2.6.11 and 2.6.12 are in src/2.6.11. Kernels 2.6.16 and
-2.6.17 are handled in src/2.6.16. Kernels 2.6.18/19/20/21/22 are in
-src/2.6.18. All the other kernels are processed in its own src/2.6.x.
-New 2.6 directories will be created when compatibility issue occurs.
-</p><blockquote><div class="diff">For those who like to build everything from
-the source tree, please skip the make and install steps below. Scroll down to the end of this
-page to see the steps with light blue background.
-</div></blockquote>
-
-<p>If everything works properly, you'll see the following from the make:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ make
-...
-Making all in 2.6.9
-make[3]: Entering directory `/home/jej/linuxwacom/src/2.6.9'
- Building linuxwacom drivers for 2.6 kernel.
-make -C /usr/src/linux M=/home/jej/linuxwacom/src/2.6.9
-make[4]: Entering directory `/home/jej/linux-2.6.9'
- LD /home/jej/linuxwacom/src/2.6.9/built-in.o
- CC [M] /home/jej/linuxwacom/src/2.6.9/hid-core.o
- CC [M] /home/jej/linuxwacom/src/2.6.9/hid-input.o
- LD [M] /home/jej/linuxwacom/src/2.6.9/usbhid.o
- Building modules, stage 2.
- MODPOST
- CC /home/jej/linuxwacom/src/2.6.9/usbhid.mod.o
- LD [M] /home/jej/linuxwacom/src/2.6.9/usbhid.ko
-make[4]: Leaving directory `/usr/src/linux'
-...
-</pre></blockquote>
-
-<p>Then, use the following steps to install the driver:
-
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$su
-[jej@ayukawa linuxwacom]#cd src/2.6.9
-[jej@ayukawa 2.6.9]#cp usbhid.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb/input
-[jej@ayukawa 2.6.9]#reboot
-</pre></blockquote>
-
-<p></p><div class="diff">This part is for those who want to manually build the kernel drivers from source tree.
-If you already followed the steps above, you can move on to next page.
-
-<p>Please backup your related kernel files first then copy the source from the related linuxwacom
-directory to the source tree and rebuild the kernel. An example for kernel 2.6.9 is as following:
-
-</p><blockquote><pre>[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/usb/input/hid-core.c /usr/src/linux/drivers/usb/input/hid-core.c.2.6.9
-[jej@ayukawa linuxwacom]$ cp src/2.6.9/hid-core.c /usr/src/linux/drivers/usb/input/
-[jej@ayukawa linuxwacom]$ cd /usr/src/linux
-[jej@ayukawa linux]$ make
-[jej@ayukawa linux]$ su
-[jej@ayukawa linux]# make install
-[jej@ayukawa linux]# make modules_install
-[jej@ayukawa linux]# reboot
-</pre></blockquote>
-</div>
-
-<a name="newtablet">
-</a><h2><a name="newtablet">3.8 - Unknown Tablet?</a></h2>
-<a name="newtablet">To determine whether your device is listed in the driver, we need to determine
-the device identifier. It can be discovered by issuing <i>more /proc/bus/usb/devices</i>:
-
-</a><blockquote><pre><a name="newtablet">[jej@ayukawa linuxwacom]# more /proc/bus/usb/devices
-T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
-D: Ver= 1.10 Cls=00(&gt;ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
-P: <b>Vendor=056a ProdID=0044</b> Rev= 1.15
-S: Manufacturer=Tablet
-S: <b>Product=XD-1212-U</b>
-C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=140mA
-I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=wacom
-E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=5ms
-</a></pre></blockquote>
-
-<p><a name="newtablet">In this case, the tablet identifier is in Vendor=056a ProdID=<b>0044</b>.
-The model (<b>Product=XD-1212-U</b>) is determined by ProdID; the Intuos2 12x12 is 0x44 for instance.
-
-</a></p><p><a name="newtablet">In the wacom.c (kernel 2.6.9/10) or wacom_wac.c (kernels 2.6.11 or later) file under linuxwacom/src/2.6.x,
-you will find a table called "wacom_ids". Look for your device identifier. Only the identifiers listed are
-handled by the wacom driver, so if it is missing, it needs to be added. Also look for routine usb_hid_configure()
-in hid-core.c if you are running a kernel older than 2.6.18. At the beginning of the routine, we added the
-following lines to let HID driver ignore all Wacom devices:
-
-</a></p><blockquote><pre><a name="newtablet"> /* ignore all Wacom devices */
- if (dev-&gt;descriptor.idVendor == USB_VENDOR_ID_WACOM)
- return NULL;
-</a></pre></blockquote>
-
-<p><a name="newtablet">If you've gotten this far, and still cannot get it to work, email me
-with your device identifier and as much of an explanation of where things did and did not work as
-described. I'll see what I can do about at least finding out why it did not work. Then we can
-go on to solutions.
-
-</a></p><p><a name="newtablet">The next section assumes you have things working up to this point.
-
-</a><a name="viewdata">
-</a></p><h2><a name="viewdata">3.11 - Viewing the Raw Data (xxd)</a></h2>
-<p><a name="viewdata">View the raw data from the tablet, by returning to the /dev/input
-directory and streaming the data directly from the device. Be patient
-here because this is where a lot of people are getting stuck.
-
-</a></p><blockquote><pre><a name="viewdata">[root@ayukawa usb]# cd /dev/input
-[root@ayukawa input]# xxd event0
-0000000: e65d c33d 597d 0100 0100 4101 0100 0000 .].=Y}....A.....
-0000010: e65d c33d 5c7d 0100 0400 0000 b701 2800 .].=\}........(.
-0000020: e65d c33d d9bb 0100 0100 4101 0000 0000 .].=......A.....
-0000030: e65d c33d dcbb 0100 0400 0000 b701 2800 .].=..........(.
-(Ctrl-C)
-</a></pre></blockquote>
-
-<p><a name="viewdata">First off, you have to move the mouse or tap the pen to get any output.
-If the tablet is mapped to event0, a continuously data stream will be
-displayed while you move the mouse or pen on the tablet. Second, you
-might not get anything at all. Don't panic. This seems to happen
-occasionally. If absolutely no output occurs, try event1 and event2.
-<span class="diff">It is reported on Fedora Core 2 the event0 used for
-kernel 2.4 is represented as event2 when switching to kernel 2.6.1-1.65.</span>
-
-If no output occurs on those ports, reload the drive:
-
-</a></p><blockquote><pre><a name="viewdata">[jej@sasami root]# /sbin/rmmod wacom
-[jej@sasami root]# /sbin/modprobe wacom (or /sbin/insmod mydir/src/wacom.o)
-[jej@sasami root]# tail /var/log/messages
-Apr 29 17:31:31 sasami kernel: usb.c: deregistering driver wacom
-Apr 29 17:31:34 sasami kernel: usb.c: registered new driver wacom
-Apr 29 17:31:35 sasami kernel: input0: Wacom Intuos2 12x12 on usb1:2.0
-Apr 29 17:31:35 sasami kernel: wacom.c: v1.43-0.8.2-2 Vojtech Pavlik &lt;vojtech@suse.cz&gt;
-</a></pre></blockquote>
-
-<p><a name="viewdata">The device driver and the tablet occassionally get out of
-sync with the tablet thinking it's still in HID mode when in fact it
-should be in "mode 2." By unloading and reloading the driver manually,
-the initialization code has another opportunity to get it right. Try the
-<i>xxd /dev/input/event0</i> again. This time, it
-<i>should</i> work. If not, send me some email.
-
-</a></p><p><a name="viewdata">Incidentally, if you have a program running that is connected to
-/dev/input/event0 (like X or wacdump for instance), it is possible that
-the tablet will not reattach back to the same event. I have seen the
-wacom reattach to /dev/input/event1 when unloading and reloading the
-wacom driver with wacdump running for instance. So, try xxd on event1
-or event2 if event0 fails.
-
-</a></p><p><a name="viewdata">You should also try running <i>xxd</i> on /dev/input/mouse0.
-You should get streams of data when the mouse and pen are moved
-around the surface of the tablet. It is this device that X will
-look at for mouse movement. Use Ctrl-C to exit xxd.
-</a><a name="wacdump">
-</a></p><h1><a name="wacdump">4.0 - Viewing Wacom Data (wacdump)</a></h1>
-<p><a name="wacdump">The wacdump program parses and displays raw data from the Linux event
-subsystem or serial port. It is very handy for verifying that your
-tablet works without having to hassle with X server. Generally, you
-must be root to run it unless you've set the permissions on the
-appropriate device such that you can read them.
-
-</a></p><p><a name="wacdump"><b>Running wacdump</b>
-
-</a></p><p><a name="wacdump">In the case of USB tablets, this program can run simultaneously with X,
-but it's best if X has not been configured for the tablet yet. X will
-not share the serial port with wacdump, so serial users should comment out the
-wacom InputDevice sections from XF86Config (or xorg.conf) before
-using. Alternatively, you could move your serial tablet to COM2 and
-try /dev/ttyS1 instead.
-
-</a></p><p><a name="wacdump">The command line usage of wacdump is pretty simple:
-
-</a></p><blockquote><pre><a name="wacdump">Usage: wacdump [options] device
-Options:
- -h, --help - usage
- -c, --class device_cls - use specified class (see below)
- -f, --force device_name - use specified device (see below)
- -l, --list - list all supported devices
- -v, --verbose - increase log output; multiple OK
- -V, --version - display version number
- --logfile log_file - output log to file
-
-Example devices:
- /dev/input/event0 - usb tablet device
- /dev/ttyS0 - serial tablet on com1
- /dev/ttyUSB0 - serial tablet on USB adapter
-
-Supported device classes:
- serial, usb
-Supported device names:
- serial: art, art2, dig, dig2, pp, gr, pl, int, int2, c100
- usb: pp, gr, gr2, int, int2, pl, vol
-</a></pre></blockquote>
-
-<p><a name="wacdump">Older versions of wacdump assumed the device to be /dev/input/event0.
-This is now deprecated. You should instead specify which device to use
-on the command line directly. If you get an end-of-file error or the
-device does not exist, then the wacom may be attached to a different event.
-Serial users may experience a timeout error which indicates that either
-the tablet is not responding or X server has it open. Access denied errors
-probably indicate that
-</a><a href="#root">you are not root</a>.
-If you get different types of errors, let me know so we can get them
-documented.
-
-</p><p>Serial users are advised that now is a good time to plug in your tablet,
-if you haven't already.
-
-</p><p>Let's run wacdump. Here are some command line examples:
-
-</p><blockquote><pre>[jej@ayukawa src]$ ./wacdump /dev/input/event0 # typical USB tablet
-[jej@ayukawa src]$ ./wacdump /dev/input/event1 # USB tablet on event1
-</pre></blockquote>
-
-<p>When you run wacdump, it will attempt to initialize and query the tablet.
-For a number of reasons, it may not display anything immediately, but if you
-place a mouse or pen near the surface, the screen should update.
-You will then be presented with a screen similar to the following:
-
-</p><blockquote><pre>wacdump v0.4.0
-MODEL=Wacom Intuos2 12x12 ROM=1.1-5
-CLS=USB VNDR=Wacom DEV=Intuos2 SUB=XD-1212-U
-
-TOOLTYPE=NONE SERIAL=0x00000000
- IN_PROX=+00000 (+00000 .. +00000) BUTTON=+00000 (+00000 .. +00000)
- POS_X=+00000 (+00000 .. +30480) POS_Y=+00000 (+00000 .. +31680)
- ROT_Z=+00000 (-00900 .. +00899) DISTANCE=+00000 (+00000 .. +00015)
-PRESSURE=+00000 (+00000 .. +01023) TILT_X=+00000 (+00000 .. +00127)
- TILT_Y=+00000 (+00000 .. +00127) ABSWHEEL=+00000 (+00000 .. +01023)
-RELWHEEL=+00000 (-00001 .. +00001) THROTTLE=+00000 (-01023 .. +01023)
-
- LEFT= MIDDLE= RIGHT= EXTRA=
- SIDE= TOUCH= STYLUS= STYLUS2=
-</pre></blockquote>
-
-<p>The top portion identifies the tablet, and unless you specifically
-override the device type with the -f option, it should be auto-detected
-from the tablet directly. In this case, the model is XD-1212-U, a USB
-Intuos2 12x12.
-
-</p><p>The next section describes the dynamic attributes of the tablet,
-including the current position of the pointer, the type of tool in proximity
-to the surface, its pressure, and tilt. Some tablets (Protocol V tablets,
-such as Intuos 1, 2, and 3 as well as Cintiq 21UX) provide serial numbers
-for their tools. When a button is pressed, the button heading will change
-to something like "STYLUS=DOWN".
-
-</p><p> Some tablet tools report wheel movements as single increments forward
-and reverse, while others provide absolute positions. The 4D mouse has a
-throttle instead of a wheel. All three cases are reported independently.
-
-</p><p>Different tablets will have different options. Here is the lowly
-ArtPadII for comparison.
-
-</p><blockquote><pre>wacdump v0.4.0
-MODEL=Wacom ArtPadII 4x5 ROM=1.3-6
-CLS=Serial VNDR=Wacom DEV=ArtPadII SUB=KT-0405-R
-
-TOOLTYPE=NONE IN_PROX=+00000 (+00000 .. +00000)
- BUTTON=+00000 (+00000 .. +00000) POS_X=+00000 (+00000 .. +06400)
- POS_Y=+00000 (+00000 .. +04800) PRESSURE=+00000 (+00000 .. +00255)
-
- LEFT= MIDDLE= RIGHT= EXTRA=
- SIDE= TOUCH= STYLUS= STYLUS2=
-</pre></blockquote>
-
-<p>Notice that this tablet has no tilt, and the pressure range is
-considerably reduced. This version of wacdump does not distinguish
-between tablets with mice, so the left, right, and middle buttons are
-present, even though the tablet itself has no mouse.
-<a name="x11">
-</a></p><h1><a name="x11">5.0 - Configuring X11</a></h1>
-<a name="x11">Two steps must be completed to get X to recognize your tablet. First,
-you need to add some lines to XF86Config/xorg.conf to inform X of the tablet's
-existence. Second, you need to update the XInput driver that pertains
-to the tablet since the one that ships with XFree86/Xorg is not very functional.
-Neither driver holds a candle to the windows driver though, so you'll
-have to take what you get for the time being. Updates to the XFree86/Xorg driver
-are available in the stable and beta releases on the
-</a><a href="#download">Downloading the Code</a> page.
-<a name="inputdev">
-</a><h2><a name="inputdev">5.1 - Adding the InputDevices</a></h2>
-
-<p><a name="inputdev">The X Window system identifies the stylus (tip and side switches
-of your pen), eraser (the other end of your pen if it is clickable),
-cursor (your Wacom mouse), and pad (buttons, strips and rings on
-your tablet if your tablet has any) as XInput devices. Most settings,
-such as stylus pressure level and system cursor movement mode can be
-done in /etc/X11/XF86Config or /etc/X11/xorg.conf configuration
-file before X server starts or live through command-line
-</a><a href="#xsetwacom">xsetwacom</a>
-or the simple GUI control panel <a href="#wacomcpl">wacomcpl</a> while Wacom driver is running.
-
-</p><p>However, adding the InputDevice sections to your XF86Config/
-xorg.conf file for Wacom devices is required. You should add these
-devices to the <a href="#srvlayout">ServerLayout</a> section of your XF86Config/xorg.conf
-file too.
-
-</p><p>We assume you are running Either XFree86 4.2 or later Or Xorg.
-<span class="diff">On some distributions, this file is called XF86Config-4.
-Notice that the serial and USB configurations are different, so only
-include the appropriate lines. The default serial and USB devices are given.
-For Tablet PCs, options "Device" and "ForceDevice" should be included. You
-should also change the device (e.g. ttyS0) to the correct one for your
-tablet. Tablet PC and Cintiq/PL/DTF models don't support cursor type.
-</span> All the new driver options are listed in the manual page below.
-
-
-</p><blockquote><pre>Section "InputDevice"
- Driver "wacom"
- Identifier "stylus"
- <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
- <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
- Option "Type" "stylus"
- <b>Option "USB" "on" # USB ONLY</b>
- <b>Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY</b>
-EndSection
-
-Section "InputDevice"
- Driver "wacom"
- Identifier "eraser"
- <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
- <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
- Option "Type" "eraser"
- <b>Option "USB" "on" # USB ONLY</b>
- <b>Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY</b>
-EndSection
-
-Section "InputDevice"
- Driver "wacom"
- Identifier "cursor"
- <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
- <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
- Option "Type" "cursor"
- <b>Option "USB" "on" # USB ONLY</b>
- <b>Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY</b>
-EndSection
-
-<b># This section is for Intuos3, CintiqV5, Graphire4, or Bamboo</b>
-Section "InputDevice"
- Driver "wacom"
- Identifier "pad"
- <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
- <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
- Option "Type" "pad"
- <b>Option "USB" "on" # USB ONLY</b>
-EndSection
-
-<b># This section is for the TabletPC that supports touch</b>
-Section "InputDevice"
- Driver "wacom"
- Identifier "touch"
- <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
- <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
- Option "Type" "touch"
- <b>Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY</b>
- <b>Option "USB" "on" # USB ONLY</b>
-EndSection
-</pre></blockquote>
-
-<p>The above four sections identify the stylus, eraser, cursor, touch, and pad devices
-to XInput. Notice that all four reference the same device /dev/ttyS0 or
-/dev/input/event0 depending on whether its a serial or USB tablet.
-
-</p><p>The configuration options listed by your system's man page may be way out of date.
-Below is an updated wacom man page which will be installed by default when you issue
-<i>make install</i>. </p>
-
-<blockquote><pre>WACOM(4) WACOM(4)
-
-NAME
- wacom - Wacom input driver
-
-SYNOPSIS
- Section "InputDevice"
- Identifier "idevname"
- Driver "wacom"
- Option "Device" "devpath"
- ...
- EndSection
-
-DESCRIPTION
- wacom is an X input driver for Wacom devices.
-
- The wacom driver functions as a pointer input device, and may be used
- as the X server's core pointer.
-
-SUPPORTED HARDWARE
- This driver supports the Wacom IV and Wacom V protocols. Serial tablets
- only need this driver. USB tablet support is available on some Linux
- platforms. USB tablets needs wacom Linux kernel driver being loaded
- before this driver starts. Please check linuxwacom.sf.net for latest
- updates of Wacom X and kernel drivers.
-
-CONFIGURATION DETAILS
- Please refer to xorg.conf(5x) for general configuration details and for
- options that can be used with all input drivers. This section only
- covers configuration details specific to this driver.
-
- Multiple instances of the Wacom devices can cohabit. It can be useful
- to define multiple devices with different active zones. Each device
- supports the following entries:
-
- Option "Type" "stylus"|"eraser"|"cursor"|"touch"|"pad"
- sets the type of tool the device represents. This option is
- mandatory. The core options, such as "SendCoreEvents" or
- "AlwaysCore", are unnecessary in Gimp if you don't need to
- move system cursor outside of Gimp drawing area. "pad" is
- for Intuos 3 and CintiqV5 ExpressKeys and menu strips, or
- Graphire 4 and Bamboo tablet buttons and wheel/ring. It is
- required for Intuos3, CintiqV5, Graphire 4, or Bamboo if
- you want to use keystroke features. "pad" is reported as a
- second tool in the driver. "touch" is for the tablet with
- touch support. Right now only a few Tablet PCs have this
- feature.
-
- Option "Device" "path"
- sets the path to the special file which represents serial
- line where the tablet is plugged. You have to specify it
- for each subsection with the same value if you want to have
- multiple devices with the same tablet. This option is
- mandatory.
-
- Option "USB" "on"
- tells the driver to dialog with the tablet the USB way.
- This option is mandatory for USB tablets.
-
- Option "ForceDevice" "ISDV4"
- tells the driver to dialog with the tablet the serial
- Tablet PC way. It is a special Wacom IV protocol, called
- ISDV4 protocol. This option is mandatory for serial Tablet
- PCs only.
-
- Option "DeviceName" "name"
- sets the name of the X device.
-
- Option "Suppress" "number"
- sets the position increment under which not to transmit
- coordinates. This entry must be specified only in the
- first Wacom subsection if you have multiple devices for one
- tablet. The default value is 2. If you don't specify this
- entry or your value is less than the default vaule or
- greater than 100, the default value will be used. To
- disable suppression, the entry should be specified as 0.
- When suppress is defined, an event will be sent only when
- at least one of the following conditions is met:
-
- the change between the current X coordinate and the
- previous one is greater than suppress;
-
- the change between the current Y coordinate and the
- previous one is greater than suppress;
-
- the change between the current pressure and the previous
- one is greater than suppress;
-
- the change between the current degree of rotation and
- the previous one of the transducer is greater than suppress;
-
- the change between the current absolute wheel value and the
- previous one is equal to or greater than suppress;
-
- the change between the current tilt value and the previous
- one is equal to or greater than suppress (if tilt is
- supported);
-
- relative wheel value has changed;
-
- button value has changed;
-
- proximity has changed.
-
- Option "Mode" "Relative"|"Absolute"
- sets the mode of the device. The default value for stylus
- and eraser is Absolute; cursor is Relative; pad mode is
- decided according to its core option due to its nature of
- not moving system cursor: Relative if it is a core device;
- Absolute, otherwise.
-
- Option "TopX" "number"
- X coordinate of the top corner of the active zone.
- Default to 0.
-
- Option "TopY" "number"
- Y coordinate of the top corner of the active zone.
- Default to 0.
-
- Option "BottomX" "number"
- X coordinate of the bottom corner of the active zone.
- Default to width of the tablet.
-
- Option "BottomY" "number"
- Y coordinate of the bottom corner of the active zone.
- Default to height of the tablet.
-
- Option "ButtonsOnly" "on"|"off"
- disables the device's motion events. Default to off.
-
- Option "ButtonM" "AC"
- reports an action AC when button M is pressed, where M is
- one of the device supported button numbers, it can be 1 to
- 32. The default action reported to Xinput is mouse button M
- click. To ignore the button click, i.e., to not report any
- button click event to Xinput, use "0" or "button 0".
-
- Option "TPCButton" "on"|"off"
- enables the stylus buttons as Tablet PC buttons, i.e.,
- reports stylus button event only when its tip is pressed.
- Default to "on" for Tablet PCs; "off" for all other models.
-
- Option "Touch" "on"|"off"
- enables the touch device for models that support touch
- feature. Default to "on" for tablets with touch; "off" for
- all other models.
-
- Option "Capacity" "number"
- sets touch sensitivity level for capacitive touch device,
- where number can be an integer from -1 to 5. Default is 3
- for capacitive tools and -1 for none capacitive tools.
-
- Option "Speed" "Rspeed"
- sets the cursor's relative movement speed to Rspeed. The
- default value is 1.0. A Rspeed greater than 1.0 will speed
- up the cursor's relative movement. A Rspeed less than 1.0
- but greater than 0 will slow down the cursor's relative
- movement. A Rspeed too close to 0 is not recommanded.
-
- Option "Twinview" "horizontal"|"vertical"|"leftof"|"aboveof"|"none"
- sets the orientation of TwinView to map the tablet to one
- screen and to be able to move the screen cursor from one
- screen to the other when tool reaches the edge of the
- tablet. The cursor can be constrained in a specific screen
- if "ScreenNo" option is added. If you want to map the
- tablet to the whole desktop, you should NOT add this
- option. The default is "none".
-
- Option "TVResolution" "res1,res2"
- specifies different resolutions for the two screens in
- TwinView setup. For example, if the resolution of screen 1
- (res1) is 1024x768 and screen 2 (res2) is 1280x1024, the
- option will be set to:
- Option "TVResolution" "1024x768,1280x1024"
-
- This option is used only when TwinView option is not none.
- It is unnecessary to add this option if your screens are
- displaying in the same resolutions.
-
- Option "ScreenNo" "n"
- In a multi-monitor environment, specifies the screen number
- in which the cursor can move.
-
- Option "MMonitor" "on"|"off"
- turns on/off across monitor movement on a non-TwinView
- multi-monitor desktop. If you have specific tablet mappings,
- i.e. TopX/Y or BottomX/Y were set, the mapping will be
- applied before rotation. The default is "on".
-
- Option "Rotate" "CW"|"CCW"|"HALF"|"NONE"
- rotates the tablet orientation counterclockwise (CCW) or
- clockwise (CW) or 180 degrees (HALF). The default is "NONE".
-
- Option "PressCurve" "x1,y1,x2,y2"
- sets pressure curve by control points x1, y1, x2, and y2.
- Their values are in range from 0..100. The input for
-
- linear curve (default) is "0,0,100,100";
- slightly depressed curve (firmer) might be "5,0,100,95";
- slightly raised curve (softer) might be "0,5,95,100".
-
- Option "KeepShape" "on"
- When this option is enabled, the active zone begins
- according to TopX and TopY. The bottom corner is adjusted
- to keep the ratio width/height of the active zone the same
- as the screen while maximizing the area described by TopX,
- TopY, BottomX, BottomY.
-
- Option "DebugLevel" "number"
- sets the level of debugging info reported for the defined
- device. There are 12 levels in use, specified by the
- integers between 1 and 12. Once it is defined, all the
- debug messages with a level less than or equal to the
- "number" will be logged into /etc/X11/XFree86.0.log or
- /etc/X11/Xorg.0.log.
-
- Option "CommonDBG" "number"
- sets the level of debugging info for all devices defined
- for the same tablet. There are 12 levels in use, specified
- by the integers between 1 and 12. Once it is defined, all
- the debug messages with a level less than or equal to the
- "number" will be logged into /etc/X11/XFree86.0.log or
- /etc/X11/Xorg.0.log.
-
- Option "CursorProx" "number"
- sets the max distance from tablet to stop reporting
- movement for cursor in relative mode. Default for Intuos
- series is 10, Graphire series (including Volitos) is 42.
-
- Option "Serial" "number"
- sets the serial number associated with the physical device.
- This allows to have multiple devices of the same type (i.e.
- multiple pens). This option is only available on wacom V
- devices (Intuos series and Cintiq 21UX). To see the serial
- number associated with a device, run <i><a href="#xsetwacom">xsetwacom</a></i>.
-
- Option "Threshold" "number"
- sets the pressure threshold used to generate a button 1
- events of stylus. The default is MaxPressure*3/50.
-
-SEE ALSO
- Xorg(1x), xorg.conf(5x), xorgconfig(1x), Xserver(1x), X(7).
-
-AUTHORS
- Frederic Lepied &lt;lepied@xfree86.org&gt;, Ping Cheng &lt;pingc@wacom.com&gt;,
- John E. Joganic &lt;jej@jâ&#8364;&#144;arkadia.com&gt;, Magnus Vigerlöf &lt;Magnus.Vigerlof@ipbo.se&gt;
-
-X Version 11 linuxwacom 0.8.0 WACOM(4)
-</pre></blockquote>
-<a name="mouse1">
-</a><h2><a name="mouse1">5.2 - Mouse1 (for some 2.6 systems)</a></h2>
-<p><a name="mouse1">This section largely deals with interaction problems between the mouse1
-device, PS/2 mouse, and USB tablets. Serial users can ignore this part.
-
-</a></p><p></p><div class="diff"><a name="mouse1">Starting from linuxwacom-0.7.1, this is not a problem
-for most kernel 2.6 systems. If you use kernel 2.6 and a driver newer than 0.7.1,
-you may ignore this page. However, it has been reported that on some vendors 2.6
-systems, the information detailed on this page still applies. So, if you tried
-all the other steps and the tablet still has issues, you may want to apply this
-page to elminate the /dev/input/mice issue.</a></div>
-
-<p><a name="mouse1">If you have a USB mouse or PS/2 mouse and are also using a USB tablet,
-there are two solutions here for you: you may either change your
-mouse1 or PS/2 InputDevice section to something other than /dev/input/mice
-or build mousedev.o from this project for your kernel, which will ignore
-Wacom tablets as USB mice. The wacom tablet appears as a mouse to the Linux
-kernel, and consequently, the "mice" device combines the input from all your
-mice, including the tablet. This will not give you the behavior you want.
-A better choice is to specify the precise USB device or PS/2 mouse from which
-you want to receive mouse events, namely /dev/input/mouse0 or /dev/input/mouse1
-or /dev/psaux.
-
-</a></p><p><a name="mouse1">If you do not have a USB mouse, adding the Mouse1 device
-is <i>probably not something you want to do</i>.
-Despite this, Redhat's Anaconda program will do it for you if
-you boot the machine with the tablet plugged in. You'll need to be
-careful about this.
-
-</a></p><p><a name="mouse1">When you use the mouse1 input device, the data flows from the USB wacom
-kernel driver, through the event subsystem, down into the mousedev driver,
-out the /dev/input/mouse0 device, and finally into the XInput mouse driver.
-You effectively lose all your absolute positioning information because the
-mousedev driver converts it into relative data. Additionally, the XFree86
-wacom driver does not get control of the cursor because mouse1 is providing
-those events.
-
-</a></p><p><a name="mouse1">Therefore, if you have a Mouse1 section, leave it. Redhat 8.0 at least,
-expects it to be there; however, if you do not have a USB mouse and you
-are using a USB tablet, you will not be using this section, so make
-certain that it is commented out of the ServerLayout section covered next.
-
-</a></p><p><a name="mouse1">There is one exception however. If you have no other mouse
-device in your ServerLayout section, <i>do not</i> remove Mouse1. XFree86
-will not start without at least one core pointer, and the tablet
-does not count unless it is specifically identified as a "CorePointer"
-rather than merely "SendCoreEvents."
-
-</a><a name="srvlayout">
-</a></p><h2><a name="srvlayout">5.3 - ServerLayout</a></h2>
-<p><a name="srvlayout">The ServerLayout section describes what devices the X server will use.
-Modify the ServerLayout section to reflect the new devices. Make certain
-to comment out the Mouse1 device if determined necessary from the previous
-page.
-
-</a></p><blockquote><pre><a name="srvlayout">Section "ServerLayout"
- Identifier "Default Layout"
- Screen 0 "Screen0" 0 0
- InputDevice "Mouse0" "CorePointer"
- InputDevice "Keyboard0" "CoreKeyboard"
- <b>InputDevice "stylus" "SendCoreEvents"
- InputDevice "eraser" "SendCoreEvents"
- InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only
- InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this type
- InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets</b>
-EndSection
-</a></pre></blockquote>
-
-<p><a name="srvlayout">This section determines which devices are actually used by the server.
-In the case above, the cursor, stylus, eraser, touch, and pad devices are selected.
-At present, this is the correct configuration for proper
-operation of the tablet whether you are using the beta package or the production package.
-
-</a></p><p><a name="srvlayout">You can configure one of your Wacom devices as a Core Pointer if you don't
-have a regular mouse on your system. However, you lose the Wacom specific
-functions, such as pressure sensitivity and absolute mode when you use that device.
-
-</a></p><p><a name="srvlayout">You have completed the
-XF86Config/xorg.conf file changes. But aware that if you reboot
-your computer with the Wacom plugged in and Redhat's Anaconda program
-notices,
-it may treat the tablet as a USB mouse and reconfigure this file
-incorrectly.
-You may need to go back and check the file to ensure that everything is
-still correct afterwards. Rebooting with the device detached is not
-recommended since X server doesn't properly support hotplugging yet. My
-recommendation is to tell Anaconda to ignore the tablet until the
-device
-detection works properly.
-</a><a name="restartx">
-</a></p><h2><a name="restartx">5.4 - Restart X</a></h2>
-<p><a name="restartx">Finally, restart X. You may wish to do this from runlevel 3 for
-testing purposes.
-
-</a></p><blockquote><pre><a name="restartx">[root@ayukawa root]# init 3
-...processes starting and stopping...
-[root@ayukawa root]# startx
-</a></pre></blockquote>
-
-<a name="restartx">If the X server dies, you can always back-out the
-changes to the XF86Config or xorg.conf file and try again. But first,
-look at the X log file (XFree86.0.log for XFree86 and Xorg.0.log for
-Xorg) for clues.
-You might want to do this even if everything works correctly. When
-things
-are running right, the following lines appear in my log file.
-</a><blockquote><pre><a name="restartx">[root@ayukawa root]# grep -i wacom /var/log/XFree86.0.log
-(II) LoadModule: "wacom"
-(II) Loading /usr/X11R6/lib/modules/input/wacom_drv.o
-(II) Module wacom: vendor="The XFree86 Project"
-(II) Wacom driver level: <b>47-0.8.2-2</b> $
-(II) XINPUT: Adding extended input device "eraser" (type: Wacom Eraser)
-(II) XINPUT: Adding extended input device "stylus" (type: Wacom Stylus)
-(II) XINPUT: Adding extended input device "cursor" (type: Wacom Cursor)
-(==) Wacom Kernel Input device name: "Wacom Intuos2 12x12"
-(==) Wacom tablet maximum X=30480 maximum Y=30480 X resolution=0 Y resolution=0
-suppress=0
-(==) Wacom Cursor top X=0 top Y=0 bottom X=30480 bottom Y=30480
-(==) Wacom Stylus top X=0 top Y=0 bottom X=30480 bottom Y=30480
-(==) Wacom Eraser top X=0 top Y=0 bottom X=30480 bottom Y=30480
-</a></pre></blockquote>
-
-<a name="restartx">Notice the driver version 47-0.8.2-2 above. This is the new stable
-wacom_drv.o driver. The beta driver is currently 47-0.8.3-3.
-
-</a><p><a name="restartx">First things first, you should lift the mouse off the tablet and place it
-back down. This seems to help reset things internally. When you replace the
-mouse, the cursor should jump to that portion of the screen. If everything is
-working correctly, the mouse should work in absolute mode with the four
-corners of the tablet corresponding with the four corners of the screen. If
-the cursor stops short of an edge, then the kernel driver limits are probably
-incorrect. Please let me know so that I can update the driver.
-
-</a></p><p><a name="restartx">Next, remove the mouse and try using the eraser end of the stylus.
-Hovering over the surface of the tablet should move the cursor. Touching
-the eraser tip to the surface should generate a click. If you invert the
-pen and use the stylus tip, you should get a similar result. If the pen
-tip generates spurious touch events, you will need to increase the
-threshold value in the InputDevice section. Wacdump is useful for
-determining the appropriate value.
-
-</a></p><p><a name="restartx">Lastly, if you would like more logging, the parameter "DebugLevel" (for
-individual tools) and "CommonDBG" (for all tools associated with the same
-tablet) can be set to values between 1 and 12, with 12 being way too much,
-and 1 being fairly useful.
-
-</a></p><p><a name="restartx">If X server failed to start and you are running the prebuilt wacom_drv.(s)o, you may have to go back to </a><a href="#config">Configuring the Package</a> page to build the driver on your system.
-
-<a name="ptrstat">
-</a></p><h2><a name="ptrstat">5.5 - Check the Pointer Status</a></h2>
-<p><a name="ptrstat">You can check the XInput pointer status by using <i>xsetpointer</i>
-as below. The man page states that calling xsetpointer with the name of
-a particular device will set it as the primary pointing device.
-
-</a></p><blockquote><pre><a name="ptrstat">[root@ayukawa log]# xsetpointer -l
-"eraser" [XExtensionDevice]
-"stylus" [XExtensionDevice]
-"cursor" [XExtensionDevice]
-"Mouse0" [XPointer]
-"keyboard" [XKeyboard]
-</a></pre></blockquote>
-
-<a name="xidump">
-</a><h1><a name="xidump">6.0 - Viewing XInput Events (xidump)</a></h1>
-<p><a name="xidump">The xidump program is similar to wacdump, but it parses and displays
-event data from the XFree86 XInput extension rather than from the tablet
-itself. This is useful for seeing what programs like gimp and gsumi are
-receiving from X.
-
-</a></p><p><a name="xidump">Presently, xidump will display proximity and motion events for
-the stylus, cursor, eraser, and pad input devices. xidump supports
-different display modes with "curses" and "raw" modes already
-implemented and a GTK-based graphical mode in the works. The curses
-mode is probably the most useful in terms of verifying that the tablet
-is functioning correctly in the XFree environment; however, the raw
-mode has the additional benefit of being able to verify the order,
-timing, and history of events.
-
-</a></p><p><a name="xidump">Since xidump uses the same XInput interface that gimp and gsumi use
-to get tablet data, the values displayed in xidump should be identical
-to what they are receiving. If you are having trouble with pressure in
-gimp, chances are that xidump will demonstrate the same problem.
-xidump does not require root access to use.
-
-</a></p><p><a name="xidump"><b>Running xidump</b>
-
-</a></p><p><a name="xidump">xidump takes one argument, the input device specified in your
-XF86Config/xorg.conf file. It is the Identifier entry in the
-InputDevice section. Normally they are either stylus, cursor, eraser,
-touch, or pad. You can get a complete list by running xidump
-with the list option '-l'. xidump has the additional feature of dumping all
-the device capabilities by specifying the verbose option '-v'. Both are
-demonstrated below.
-
-</a></p><p><a name="xidump">Note: The device identifiers (input_device) are case sensitive.
-
-</a></p><blockquote><pre><a name="xidump">[jej@ayukawa src]$ ./xidump -l
-eraser extension
-stylus extension
-cursor extension
-Mouse0 disabled
-keyboard keyboard
-
-[jej@ayukawa src]$ ./xidump -l -v eraser
-eraser extension
- key: min=8, max=39, num=32
- btn: num=1
- val: axes=6 mode=abs buf=0
- axis[0]: res=2540, min=0, max=30480
- axis[1]: res=2540, min=0, max=30480
- axis[2]: res=1, min=0, max=1023
- axis[3]: res=1, min=-64, max=63
- axis[4]: res=1, min=-64, max=63
- axis[5]: res=1, min=0, max=1023
-</a></pre></blockquote>
-
-<p><a name="xidump">In the first dump, we see the eraser, stylus, and cursor with the
-additional Mouse0 pointer and keyboard. Only the first three are
-"extension" devices. Using xidump on the keyboard or mouse pointer
-will generate an error since neither are XInput devices.
-
-</a></p><p><a name="xidump">The second dump shows the capabilities of the eraser device including the
-number of keys (32), buttons (1), and axes (6). It also shows the
-mode to be absolute. In order, the axes are: x, y, pressure, tilt-x,
-tilt-y, and wheel. When the cursor is used, axis 3 becomes z-rotation
-instead of tilt-x.
-
-</a></p><p><a name="xidump">You should be aware that xidump and gimp must take ownership of the device
-in order to get real-time data. This creates a conflict if you are running
-both of them simultaneously. gimp is the more clever of the two programs in
-that it only "grabs" the input device if you are hovering over the gimp
-drawing window. xidump is less friendly. In order to display the absolute
-position across the entire screen, it creates a small "listening window,"
-grabs the device immediately, and does not release it until you quit the
-program. Neither program should fail, but you will not be able to draw
-in gimp and run xidump at the same time if they are both using the same
-input device.
-
-</a></p><p><a name="xidump">We will run xidump in raw mode for the first time to see the stylus
-events directly. A small window will appear on the desktop while xidump
-runs; you can safely ignore it. Closing it will kill the application.
-
-</a></p><blockquote><pre><a name="xidump">[jej@ayukawa src]$ ./xidump -u raw stylus
-14.56291895: Proximity In
-14.56305595: Motion: x= +5978 y=+28728 p= 0 tx= +64 ty= +64 w= +0 ID: 2323 Serial: -60
-...
-16.87158095: Motion: x= +4941 y=+27842 p= 225 tx= +41 ty= +67 w= +0 ID: 2323 Serial: -60
-16.87164395: Button: 1 DOWN
-16.87169595: Motion: x= +4964 y=+27844 p= 398 tx= +42 ty= +66 w= +0 ID: 2323 Serial: -60
-...
-17.27328395: Motion: x= +5261 y=+27543 p= 3 tx= +48 ty= +64 w= +0 ID: 2323 Serial: -60
-17.27334395: Button: 1 UP
-17.27515995: Motion: x= +5348 y=+27451 p= 4 tx= +48 ty= +63 w= +0 ID: 2323 Serial: -60
-...
-17.35933795: Motion: x= +7089 y=+27061 p= 4 tx= +48 ty= +63 w= +0 ID: 2323 Serial: -60
-17.37444395: Proximity Out
-&lt;Ctrl-C&gt;
-</a></pre></blockquote>
-
-<p><a name="xidump">The timestamp on the left is seconds elapsed; the next field is the
-event type. Mostly, you will encounter motion events although I've trimmed
-many of them out of this listing. As you can see from the above, the first line
-is a "proximity in" event which indicates the stylus came in range of the
-tablet. The last event was a "proximity out." At 16.87 seconds, I tapped
-the stylus to the tablet surface as recorded by the "Button: 1 DOWN" and
-subsequent "UP" message. Raw mode is useful for verifying the order and
-timing of messages, but is not particularly clean. The ncurses mode works
-much better.
-
-</a></p><blockquote><pre><a name="xidump">[jej@ayukawa src]$ ./xidump stylus
-InputDevice: stylus
-Valuators: Absolute ID: 2323 Serial Number: -60
-
- x-axis y-axis pressure x-tilt y-tilt wheel
- data: +10826 +09919 +00084 +00058 +00065 +00000
- min: +00000 +00000 +00000 -00064 -00064 +00000
- max: +30480 +30480 +01023 +00063 +00063 +01023
- res: +00000 +00000 +00039 +00001 +00001 +00001
-
-********
-Proximity: IN
- Focus:
- Buttons: 1-DOWN
- Keys:
-</a></pre></blockquote>
-
-<p><a name="xidump">All of the ranges are displayed above, include their resolutions which as
-far as I know are not normally used. Only the proximity, focus, valuator,
-and button events are currently implemented.
-
-</a></p><p><a name="xidump">For completeness sake, here are the command line options:
-
-</a></p><blockquote><pre><a name="xidump">Usage: xidump [options] input_device
- -h, --help - usage
- -v, --verbose - verbose
- -V, --version - version
- -l, --list - list available input devices
- -u, --ui ui_type - use specified ui, see below
-
-Use --list option for input_device choices
-UI types: curses, raw
-</a></pre></blockquote>
-
-<p><a name="xidump">There are not many options, but the --list option is helpful for
-identifying devices, and the --ui option allows you to switch between
-curses and raw modes. Adding the --verbose option increases the amount of output, and
-when used in conjunction with --list, displays the device capabilities.
-
-</a><a name="tabletpc">
-</a></p><h1><a name="tabletpc">7.0 - Tablet PC</a></h1>
-
-<p><a name="tabletpc">The Wacom digitizers embedded in Tablet PCs
-utilitizes a special protocol IV, ISDV4. Most of them are serial
-tablets. There are a few Wacom USB tablet PC OEMs on the market
-recently. However, we don't support USB tablet PC yet. This page is for
-serial Tablet PC only. </a></p><p><a name="tabletpc">Similar to the conventional serial
-tablets, serial tablet PCs use a serial controller (UART). But,
-normally, they are not set to any serial ports. They are effectively
-serial devices, but require special configuration (setserial) under
-Linux. </a></p><div class="diff">
-<p><a name="tabletpc">You can use <i>xxd</i> to see if your tablet has been mapped onto a serial port or not. To do so, follow the steps below:
-
-</a></p><blockquote><pre><a name="tabletpc">[jej@ayukawa ~]$su
-Password:
-[jej@ayukawa ~]# xxd /dev/ttyS0
-</a></pre></blockquote>
-
-<p><a name="tabletpc">Move your pen on your tabletPC. If you see output
-from the terminal while you move the pen, your tablet has been mapped
-to port 1. Quit xxd by Ctrl+c. Then ignore the rest of this page and go
-to(see </a><a href="http://linuxwacom.sourceforge.net/index.php/howto/x11">Configuring X11</a>) page. Otherwise, apply xxd to port 1 to 4. If none of them show output, you need to manually map the tablet to a serial port.
-</p></div>
-
-<p>Here is a sample command. The IO port may be different for your Tablet PC.
-
-</p><blockquote><pre>[jej@ayukawa src]$ setserial /dev/ttyS2 port 0x93f8 autoconfig
-</pre></blockquote>
-
-<p>This command needs to be excuted with each reboot before X server starts.
-</p><p>You can add the command into one of your favorite start script. I normally
-add it into /etc/rc.d/rc.local. Here is my rc.local:
-
-</p><blockquote><pre>#!/bin/sh
-#
-# This script will be executed *after* all the other init scripts.
-# You can put your own initialization stuff in here if you don't
-# want to do the full Sys V style init stuff.
-
-touch /var/lock/subsys/local
-setserial /dev/ttyS2 port 0x93f8 autoconfig
-</pre></blockquote>
-
-<p>After installing wacom_drv.o and other programs, such as wacomcpl and wacdump,
-restart X server. Now you can view raw tablet data by:
-
-
-</p><blockquote><pre>[jej@ayukawa util]$ ./wacdump -f tpc /dev/ttyS2 # Wacom digitizer on fake COM3
-
-<div class="diff">
-If your wacdump is from linuxwacom version 0.7.5 or older, issue
-[jej@ayukawa util]$ ./wacdump -f c100 /dev/ttyS2
-</div>
-</pre></blockquote>
-
-<p>If everything looks right from wacdump (see <a href="http://linuxwacom.sourceforge.net/index.php/howto/wacdump">Using wacdump</a>),
-you can update /etc/X11/XF86Config or /etc/X11/xorg.conf to load wacom X driver
- (see <a href="http://linuxwacom.sourceforge.net/index.php/howto/x11">Configuring XFree86/X11R6</a>).
-
-</p><p>Please notice that in Wacom InputDevice section, the following 2 options are
-required for Tablet PC:
-
-</p><blockquote><pre> <b>Option "Device" "/dev/ttyS2" # SERIAL ONLY</b>
- <b>Option "ForceDevice" "ISDV4" # Tablet PC ONLY</b>
-</pre></blockquote>
-
-<p>Refer to <a href="http://linuxwacom.sourceforge.net/index.php/howto/inputdev">Adding the InputDevices</a> for details.
-
-</p><blockquote><div class="diff">
-
-<p>Some HP Tablet PCs require you explicitly run the following program before setserial. This
-is due to the fact that Wacom Digitizer on HP Tablet PCs are not mapped to any serial
-port by default.
-
-</p><p>Please compile tc1100ts.c as mentioned below and copy the executable (tc1100ts)
-to /usr/sbin. Then add the following two lines to the end of your /etc/rc.d/rc.local:
-
-</p><p>/usr/sbin/tc1100ts
-</p><p>setserial /dev/ttyS2 port 0x03e8 autoconfig
-
-</p><pre><b>Mapping Wacom Digitizer to /dev/ttyS2 for HP Tablet PC</b>
-
-
-/*
- * HP TC1100 Touchscreen Enable
- * Copyright (c) 2004 Hewlett-Packard Co.
- *
- * Compile with `cc -O2 -o tc1100ts tc1100ts.c',
- * and run as root with `./tc1100ts'.
- *
- * This standalone program enables the Serial Port 1
- * (SP1) of the NS LPC Super I/O, where the Wacom
- * Digitizer is connected to on the HP TC1100 Tablet PC.
- *
- * The serial device is mapped to 0x3e8 IRQ0-4 to match
- * the default /dev/ttyS2 port and IRQ mapping on Linux.
- *
- * To proof that the Wacom Digitizer is enabled by this
- * standalone, do the following:
- * - Change to superuser mode, i.e. root
- * - setserial /dev/ttyS2
- * it should return:
- * /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
- * - ./tc1100ts
- * - setserial /dev/ttyS2 autoconfig
- * - setserial /dev/ttyS2
- * now returns:
- * /dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 4
- *
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <sys io.h="">
-#include <stdlib.h>
-
-const int cfgindex = 0x4e;
-const int cfgdata = 0x4f;
-
-#define wsio(i,d) {outb(i,cfgindex); outb(d,cfgdata);}
-
-int main()
-{
- /* Get access to the ports */
- if (iopl(3)) {perror("iopl"); exit(1);}
-
- // See the SuperIO Specificatio for details of each register
- wsio(0x07,0x03); // Select Logical Device - Serial Port 1
- wsio(0x30,0x00); // De-activate Logical Device
- wsio(0x60,0x03); // I/O Port Base [15-08]
- wsio(0x61,0xe8); // I/O Port Base [07-00]
- wsio(0x70,0x14); // Enables Wake-up on IRQ4
- wsio(0x71,0x03); // Level IRQ Req, Hi priority
- wsio(0x74,0x04); // DMA Channel Select 0 - no DMA
- wsio(0x75,0x04); // DMA Channel Select 1 - no DMA
- wsio(0x30,0x01); // Activate Logical Device
-
- /* We don't need the ports anymore */
- if (iopl(0)) {perror("iopl"); exit(1);}
-
- exit(0);
-}
-
-/* end of tc1100ts.c */
-</stdlib.h></sys></unistd.h></stdio.h></pre>
-
-</div></blockquote>
-
-<a name="wacomcpl">
-</a><h1><a name="wacomcpl">8.0 - GUI-Based (tcl/tk) Wacom Control Panel(wacomcpl)</a></h1>
-<p><a name="wacomcpl">wacomcpl is a simple graphic Wacom driver configuration tool. It
-changes the pressure sensitivity, click threshold, button functions,
-cursor mode, speed, mapping, etc. without having to manually modify
-XF86Config/xorg.conf file. For Cintiq and Tablet PC users, it is
-also a tool to calibrate the tablet. wacomcpl should be launched
-when you login as yourself since .xinitrc (or .xsession), a file
-under your home directory, will be updated locally each time you
-run wacomcpl. The .xinitrc (or .xsession) stores the preferences
-you selected through wacomcpl for your next login. The goal is to
-give each user a chance to use his/her own preference on a shared system.
-
-</a></p><div class="diff">
-<p><a name="wacomcpl">If you want all users on one system to share some settings, you can
-copy those lines started with xsetwacom in ~/.xinitrc (or ~/.xsession)
-to /etc/X11/xinit/xinitrc (/etc/X11/xinit/Xsession).
-
-</a></p><p><a name="wacomcpl">If your system doesn't execute .xinitrc (or .xsession) at login, each
-time after exiting from wacomcpl, you will need to copy those xsetwacom
-lines in .xinitrc (or .xsession) to a startup script (.bashrc, .cshrc,
-.profile, etc.) that your system launches. You can also modify wacomcpl-exec
-to automate this step.
-
-</a></p><p><a name="wacomcpl">However, it is reported that there are older systems on which can not run
-wacomcpl due to some XFree86 interface error. The workaround is to add the
-configuration options to your X config file, refer to </a><a href="#x11">Configuring X11</a> page for details.
-</p></div>
-
-<p><b>Running wacomcpl</b>
-
-</p><p>If wacom_drv.(s)o was running while installing wacomcpl, wacomcpl can be
-launched immediately after <i>make install</i> and <i>exit</i>.
-
-</p><p>If wacom_drv.(s)o is installed by the same <i>make install</i>
-as wacomcpl is, restarting X server is required to use the newly built
-wacom_drv.(s)o. We strongly recommand to build and install the
-wacom_drv.(s)o and wacomcpl from the same release package since the out
-of sync wacom_drv.(s)o and wacomcpl may crash your X server.
-<a name="xsetwacom">
-</a></p><h1><a name="xsetwacom">9.0 - Command Line Configuration Interface (xsetwacom)</a></h1>
-<p><a name="xsetwacom">The xsetwacom is a command-line Wacom driver configuration tool. It
-changes the pressure sensitivity, click threshold, button functions,
-cursor mode and speed, and much more without having to manually modify
-XF86Config or xorg.conf file.
-
-</a></p><p><a name="xsetwacom">The basic usage and options can be viewed by issuing <i>xsetwacom</i>.
-
-</a></p><p><a name="xsetwacom"><b>Note: </b>The device identifiers (dev_name) are case sensitive. You should
-use the dev_name exactly the same as <i>xsetwacom list</i> shows. The examples
-below assume that Stylus, cursor, and pad are used.
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom
-Usage: xsetwacom [options] [command [arguments...]]
-Options:
- -h, --help - usage
- -v, --verbose - verbose output
- -V, --version - version info
- -d, --display disp_name - override default display
- -s, --shell - generate shell commands for 'get'
- -x, --xconf - generate X.conf lines for 'get'
-
-Commands:
- list [dev|param] - display known devices, parameters
- list mod - display supported modifier and specific keys for keystokes
- set dev_name param [values...] - set device parameter by name
- get dev_name param [param...] - get current device parameter(s) value by name
- getdefault dev_name param [param...] - get device parameter(s) default value by name
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">xsetwacom supports 3 forms of get/getdefault commands: <i>xsetwacom get</i>
-returns the parameter's raw value; <i>xsetwacom -x get</i> returns the value in Xorg.conf
-form; and <i>xsetwacom -s get</i> returns the value in shell command form.
-
-</a></p><p><a name="xsetwacom">The most used xsetwacom command is <i>xsetwacom set dev_name param [values...]</i>,
-where param is an option which will be set to values in wacom_drv.o after excuting xsetwacom.
-To better understand the use of this command, let's see some examples. Assume that you use
-<i>Stylus</i> as your Wacom tool's Identifier, which is considered as dev_name in xsetwacom command.
-
-</a></p><p><a name="xsetwacom">If you want to change <i>Stylus's</i> mode from absolute (default) to relative, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus mode relative
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to change button 2 to left-double-click, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus button2 "dblclick 1"
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to change button 2 to button 5, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus Button2 "button 5"
-or
-[jej@ayukawa linuxwacom]$xsetwacom set Stylus Button2 5
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to change button 3 to ModeToggle, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus button3 modetoggle
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to know what the current (or default) pressure sensitivity setting is, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom -s get Stylus PressCurve (output in xsetwacom format)
-xsetwacom set stylus PressCurve "0 15 85 100"
-or
-[jej@ayukawa linuxwacom]$xsetwacom -x get Stylus PressCurve (output in xorg.conf Option format)
- Option "PressCurve" "0,15,85,100"
-
-[jej@ayukawa linuxwacom]$xsetwacom -x getdefault Stylus PressCurve
- Option "PressCurve" "0,0,100,100"
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to set the pressure sensitivity a bit softer, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus PressCurve 0 15 85 100
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want the buttons behave the Tablet PC way, i.e., sending button event only when
-button1 (the tip) is pressed, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set Stylus TPCButton on
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to change <i>pad's</i> button 1 to ctrl alt F2, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set pad Button1 "core key ctrl alt F2"
-</a></pre></blockquote>
-
-<p><a name="xsetwacom">If you want to change <i>pad's</i> button 2 to ctrl alt backspace, then:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa linuxwacom]$xsetwacom set pad Button2 "core key ctrl alt backspace"
-</a></pre></blockquote>
-
-<div class="diff"><a name="xsetwacom"><b>Note:</b> keystrokes and modifiers are only supported for Xorg 6.8 or later.
-</a></div>
-
-
-<p><a name="xsetwacom"><b>xsetwacom supported parameters</b>
-
-</a></p><p><a name="xsetwacom">Below is a list of the parameters and their values used by <i>xsetwacom</i> command (a similar
-output can be viewed by <i>xsetwacom list param</i>. All functions apply to the associated tool
-unless explicitly stated otherwise):
-
-</a></p><blockquote><pre><a name="xsetwacom"> param [values...] results
-------------------------------------------------------------------
- Mode Relative|Absolute sets the mode of the device
- TopX integer sets the X coordinate of the top corner of the active zone
- TopY integer sets the Y coordinate of the top corner of the active zone
- BottomX integer sets the X coordinate of the bottom corner of the active zone
- BottomY integer sets the Y coordinate of the bottom corner of the active zone
- STopX<i>i</i> integer returns screen <i>i</i> left coordinate in pixels
- STopY<i>i</i> integer returns screen <i>i</i> top coordinate in pixels
- SBottomX<i>i</i> integer returns screen <i>i</i> right coordinate in pixels
- SBottomY<i>i</i> integer returns screen <i>i</i> bottom coordinate in pixels
- Button<i>M</i> integer|keystroke sets button <i>M</i> to button integer click or keystroke
- Button<i>M</i> 0 ignores button <i>M</i> click
- RelWUp integer|keystroke sets relative wheel up to button click or keystroke
- RelWDn integer|keystroke sets relative wheel down to button click or keystroke
- AbsWUp integer|keystroke sets absolute wheel up to button click or keystroke
- AbsWDn integer|keystroke sets absolute wheel down to button click
- StripLUp integer|keystroke sets left strip up to button click or keystroke
- StripLDn integer|keystroke sets left strip down to button click or keystroke
- StripRUp integer|keystroke sets right strip up to button click or keystroke
- StripRDn integer|keystroke sets right strip down to button click or keystroke
- PressCurve i1 i2 i3 i4 sets the pressure bezier curve, where i1+i4=100; i2+i3=100
- DebugLevel integer (0 - 12) sets the level of debugging trace for the specified tool
- CommonDBG integer (0 - 12) sets the level of debugging trace for all tools
- associated with the same tablet.
- Suppress integer (0 - 100) number of data trimmed for the tools associated
- with the same tablet.
- Screen_No integer (-1 - 5) sets screen number the tablet is mapped to.
- TwinView none|vertical|horizontal
- |leftof|aboveof sets the mapping to TwinView. Tablet mappings applied after
- this command will be based on the new tablet orientation.
- TVResolution0 width x height sets MetaModes option for TwinView Screen 0.
- TVResolution1 width x height sets MetaModes option for TwinView Screen 1.
- SpeedLevel integer (1 - 11) sets relative cursor movement speed
- ClickForce integer (1 - 21) sets tip/eraser pressure threshold with clickforce scale
- Threshold integer sets tip/eraser pressure threshold directly to the pressure
- xyDefault resets the bounding coordinates to default in tablet units
- mmonitor on|off turns on/off across monitor movement on (non-TwinView)
- multi-monitor desktop
- TPCButton on|off turns on/off the buttons as Tablet PC buttons
- Touch on|off turns on/off Touch events (default is enable/on for tablets with touch).
- Capacity integer (-1 - 5) sets the touch sensitivity level for capacitive touch device
- (default is 3 for capacitive tools, -1 for none capacitive tools).
- CursorProx integer (distance) sets cursor distance margin for proximity-out
- in distance from the tablet surface
- Rotate none|cw|ccw|half sets the rotation of the tablet.
- ToolID returns the ID of the associated device.
- ToolSerial returns the serial number of the associated device.
- GetTabletID/TabletID returns the tablet ID of the associated device.
- NumScreen returns number of screens configured for the desktop.
-------------------------------------------------------------------
-
-Event description format:
-[CORE] [EVENT TYPE] [MODIFIERS] [CODE]
- CORE: Emit core events irrespective of the SendCoreEvents setting
- EVENT TYPE: the type of event to emit:
- KEY: Emit a key event
- BUTTON: Emit a button event
- DBLCLICK: Emit a double-click button event
- MODETOGGLE: Toggle absolute/relative tablet mode
- DISPLAYTOGGLE: Toggle cursor movement among screens
- for the selected tool except pad which
- applies to all tools asssociated with the tablet
- MODIFIERS: use "xsetwacom list mod"
- to see a list of modifiers and specific keys
- CODE: Button number if emit a button event
- or specific keys and any other keys not listed as mod
-
-</a></pre></blockquote>
-
-
-<p><a name="xsetwacom"><b>Associating parameters to physical devices</b>
-
-</a></p><p><a name="xsetwacom">Following is a list of the parameters that are associated with the elements of devcies.
-
-</a></p><blockquote><pre><a name="xsetwacom"> param tools
---------------------------------------------------------------------------
-Button# All Wacom styli/pucks buttons
- Tablet ExpressKeys
-RelWUp/RelWDn Graphire4 tablet wheel
- Wacom puck Fingerwheel
-AbsWUp/AbsWDn Intuos puck Thumbwheel
- Intuos Airbrush Fingerwheel
- Bamboo tabelt Touch Ring
-StripLUp/StripLUp Left Touch Strip on Intuos3 and V5 Cintiq (Cintiq 21UX/12WX/20WSX) tablets
-StripRUp/StripRUp Right Touch Strip on Intuos3 and V5 Cintiq (Cintiq 21UX/12WX/20WSX) tablets
---------------------------------------------------------------------------
-
-</a></pre></blockquote>
-
-
-<p><a name="xsetwacom"><b>Automatically excuting predefined xsetwacom commands at logging in</b>
-
-</a></p><p><a name="xsetwacom">The xsetwacom commands can be added to the .xinitrc under your home directory so next time when
-you login as yourself, the driver will be set to the options you choose.
-
-</a></p><p><a name="xsetwacom">Below is an example of my .xinitrc:
-
-</a></p><blockquote><pre><a name="xsetwacom">[jej@ayukawa jej]$ more .xinitrc
-xsetwacom set Stylus TopX 10
-xsetwacom set Stylus TopY 67
-xsetwacom set Stylus BottomX 7170
-xsetwacom set Stylus BottomY 5778
-xsetwacom set Stylus TPCButton 1
-# run the primary system script
-. /etc/X11/xinit/xinitrc
-</a></pre></blockquote>
-
-<div class="diff">
-<p><a name="xsetwacom">To see what's under your home directory, use <i>ls -al ~</i>.
-
-</a></p><p><a name="xsetwacom">If your system doesn't execute .xinitrc at login, you can add those xsetwacom commands into the
-startup script (.bashrc, .cshrc, .profile, etc.) that your system launches, for example, you should
-use .Xsession instead of .xinitrc on Debian.
-
-</a></p><p><a name="xsetwacom">It has been reported that xsetwacom can not run on some older systems due to a XFree86 interface
-error. A generic solution to this issue is directly adding your configuration options to the
-/etc/X11/XF86Config file. Please refer to </a><a href="#x11">Configuring X11</a> for details.
-</p></div>
-
-<p><b>More examples</b>
-
-</p><p>If you are confused with the usages above, let's see some more confusing examples.
-
-</p><p> <b>1.</b> Usage of keystroke and modifiers
-
-</p><p>keystroke and modifiers can be used through buttons, ExpressKeys, wheels, Touch Strips, and
-Touch Ring. A list of supported modifiers and special keys can be viewed through
-<i>xsetwacom list mod</i>. Special keys are symbols that go together to represent one XInput key event.
-
-</p><p>In the following example, <b>Up</b> represents the <b>up arrow</b> key:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set cursor button4 "key core Up"
-</pre></blockquote>
-
-<p>When you press button4 on your Wacom puck, Xinput will receive an <b>up arrow</b> event.
-
-</p><p>If you want to send the <b>Up</b> keystroke, the universal escape character <b>\</b> has to be used:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set cursor button4 "key core \Up"
-</pre></blockquote>
-
-<p>If you press button4 on your Wacom puck, Xinput will receive an <b>U</b> and a <b>p</b> events,
-i.e., <b>Up</b> would be displayed on your active console or application.
-
-</p><p>Sending <b>down arrow</b> event when button5 is pressed:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set cursor button5 "key core Down"
-</pre></blockquote>
-
-<p>Sending <b>PageUp</b> event when tablet wheel scrolls up:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set pad RelWUp "key core pgup"
-</pre></blockquote>
-
-<p>Sending <b>PageDown</b> event when tablet wheel scrolls down:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set pad RelWDn "key core pgdn"
-</pre></blockquote>
-
-<p>The same functions work for parameters AbsWUp, AbsWDn, StripLUp,
-StripLDn, StripRUp, and StripRDn.
-
-</p><p> <b>2.</b> Changing debug level while driver is running
-
-</p><p>xsetwacom supports 2 ways of enabling/disabling debugging information, for individual device
-and/or for all tools associated with the same tablet, through parameters DebugLevel and CommonDBG. For example,
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set cursor DebugLevel 10
-</pre></blockquote>
-
-<p>Turns debugger on to level 10 for device "cursor" only. Other devices
-will not report information to Xorg.0.log file.
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom set cursor CommonDBG 3
-</pre></blockquote>
-
-<p>Turns debugger on to level 3 for all devices associated with the same
-tablet as "cursor" does. But only common debug information will be
-reported.
-
-</p><p> <b>3.</b> Configuring TwinView setup while system running
-
-</p><p>TwinView parameter sets the mapping of TwinView to
-horizontal/vertical/none. The current TwinView setup can be retrieved
-by the corresponding get command. For example:
-
-</p><blockquote><pre>[jej@ayukawa jej]$ xsetwacom -x get cursor TwinView
- Option "TwinView" "none"
-[jej@ayukawa jej]$
-</pre></blockquote>
-
-which means device <b>cursor</b> was not set to TwinView display.
-
-<p>Two other parameters, TVResolution0 and TVResolution1, made the change of MetaModes option
-in TwinView setup possible when system is running. TVResolution0 sets MetaModes option for
-TwinView Screen 0, while TVResolution1 sets MetaModes option for TwinView Screen 1.
-However, you need to make sure that the MetaModes you are going to set is the same as
-the TwinView setup in your xorg.conf for Nvidia Graphic card driver.
-
-</p><p> <b>4.</b> Changing Suppress and RawSample to filter the raw data
-
-</p><p>Use of Suppress will reduce the number of raw data we process in the driver. So, unless
-you know what you are doing, changing Suppress is not recommended. Valid values for Suppress
-is 0 to 100, where 0 means raw data is used as is. Suppress less than 101 means data will
-be used only when its change compared to the last processed event is larger than Suppress in
-points. Default is 2.
-
-</p><p>RawSample was originally introduced to smooth x/y coordinates to a certain degree.
-A four-points averaging was tested and convinced to be effective. In 0.7.8, we made
-RawSample changeable through xsetwacom. However, same as with Suppress, changing
-RawSample is not recommended. The maximum value can be as large as 20.
-But the default stays at 4.
-
-</p><p>Both Suppress and RawSample apply to the devices on the same tablet, that is,
-it is global to all devices associated with the same tablet.
-
-<a name="gimp">
-</a></p><h1><a name="gimp">10.0 - Working With Gimp</a></h1>
-<div class="diff"><a name="gimp">It has been suggested that gimp should be recompiled from
-source (v1.2.3) on Mandrake 9.0. This does not seem to be true for Redhat
-8.0.
-
-It is also reported that Slackware didn't configure gtk with xinput support.
-So, when you rebuild gtk, please make sure to configure the package with
-xinput=xfree option, i.e., use <i>./configure --with-xinput=xfree</i>. As of
-March 23, 2004, newer Slackware shipping with gtk2 has configured with
-xinput. </a></div>
-
-<p><a name="gimp">Bring up <i>gimp</i> and select "File -&gt; Dialogs -&gt; Input Devices" if
-using 1.x or "File -&gt; Preferences -&gt; Input Devices -&gt; Configure Extended
-Input Devices" if using 2.x. You will see a drop-down list with all
-devices present. After enabling them, you can see their respective statuses
-by calling up "File -&gt; Dialogs -&gt; Device Status". It has been recommended
-that the devices be set to "Screen" mode rather than "Window".
-
-</a></p><p><a name="gimp">I have successfully been able to use gimp with several different pens,
-including the tips and erasers. Tilt does not appear to be used by gimp
-at present, but pressure works fine. If the pressure is too coarse, or
-doesn't kick in until too late, you may need to lower your threshold value.
-The pressure curve setting can be changed through graphic tool, wacomcpl,
-and command line tool, xsetwacom.
-
-</a></p><p><a name="gimp">Also, a useability note with Gimp: Each input device (stylus,cursor,eraser)
-has a completely different set of attributes in Gimp, and in theory, you can
-even assign a unique serial number to different pens to get even
-more granularity. You will experience this when
-you try to use your eraser for the first time. Rather than selecting the
-eraser tool, you get the rectangle selection tool instead. This is by design,
-believe it or not. Gimp does not care that its an eraser, just that it's not
-the pen you were just using. If you choose the eraser tool now, it will
-remember that for the next time you try to use it. On the plus side, you
-can set the eraser to be anything, including the Airbrush tool or Clone tool.
-
-</a></p><p><a name="gimp">If you change the tool's mapping area while
-Gimp was running, you need to relaunch Gimp to use the new settings.
-Otherwise, the tool tip will be off from the drawing point.
-</a></p><p><a name="gimp">One tablet user has pointed out that deleting his .gimp directory and
-rerunning gimp was necessary before his airbrush worked correctly. If you
-are having trouble, it's worth a shot.
-
-</a></p><p><a name="gimp">Good luck!
-</a><a name="multimonitor">
-</a></p><h1><a name="multimonitor">11.0 - Tablet-Screen Mapping</a></h1>
-
-<p><a name="multimonitor">This page explains how multi-monitor settings
-are supported and how to use the InputDevices options to setup your
-desired tablet-to-screen mapping. </a></p><p><a name="multimonitor">Linux Wacom X driver (wacom_drv.so)
-mainly supports three types of dual/multi-monitor setup in use with X
-server on Linux: TwinView, Xinerama, as well as non-TwinView and
-non-Xinerama case, where you normally can move the cursor from one
-screen to the other, but you can not move an application window, such
-as a terminal, from one screen to the other.
-</a></p><p><a name="multimonitor"><b>TwinView setup </b>
-
-</a></p><p><a name="multimonitor">By TwinView setup, we mean the two screens are configured in such a way that X "thinks" it only has one screen.
-
-</a></p><p><a name="multimonitor">There are three kinds of tablet-to-screen mappings in this setup:
-
-</a></p><p><a name="multimonitor">1. map the tablet to the whole desktop;
-</a></p><p><a name="multimonitor"> In this case, there is no extra
-option required in the InputDevices section for Wacom driver in your
-X11's configuration file. So this is the default state for TwinView
-setup.
-</a></p><p><a name="multimonitor">2. map the tablet to one screen at a time, but can switch screens at wish;
-</a></p><p><a name="multimonitor"> Option "TwinView" is used in the InputDevices section of the X11's configuration file to configure Wacom driver.
-
-</a></p><p><a name="multimonitor"> This feature was initially supported
-by Dreamwork developers. Their idea was to maximize the accuracy of the
-tablet on one screen and be able to move the cursor between screens
-without issuing a command (such as xsetwacom) or press a button (such
-as display toggle). The tradeoff is that you lost about 60 tablet count
-of points on the side that enables the screen switch. </a></p><p><a name="multimonitor">3. map the tablet to a specific screen.
-</a></p><p><a name="multimonitor"> Option "TwinView", "TVResolution0",
-"TVResolution1", and "ScreenNo" are used in the InputDevices section of
-the X11's configuration file to configure Wacom driver . Detailed use
-of these options can be found by "man wacom".
-</a></p><div class="diff">
-<p><a name="multimonitor">I've seen displays with Xinerama in their
-xorg.conf files in fact fall into TwinView setup since the whole
-desktop is reported as one screen. Use <i>xsetwacom get stylus NumScreen</i>
-to see how many screen you have. You need to use this command without
-adding any screen mapping related options in your xorg.conf file for
-Wacom device.
-</a></p></div>
-
-<a name="multimonitor"><b>Xinerama setup </b>
-
-</a><p><a name="multimonitor">1. map the tablet to the whole desktop;
-</a></p><p><a name="multimonitor"> No extra option required in the
-InputDevices section for Wacom driver in your X11's configuration file
-to support this setup. It is the default state.
-</a></p><p><a name="multimonitor">2. map the tablet to one screen at a time, but can switch screens with the regular mouse or a user defined button/app;
-</a></p><p><a name="multimonitor"> Option "MMonitor" "off" is used in
-the InputDevices section of the X11's configuration file to configure
-Wacom driver. The cursor will stay in the screen where you started to
-use the configured Wacom device. You can change screens by moving the
-cursor with another device/app, such as system mouse or another Wacom
-device which is not configured with "MMonitor" "off", then use the
-configured Wacom device in that screen.
-</a></p><p><a name="multimonitor">3. map the tablet to a specific screen.
-</a></p><p><a name="multimonitor"> Only option "ScreenNo" is needed to configure Wacom driver in this setting.
-
-</a></p><p><a name="multimonitor"><b>non-TwinView and non-Xinerama setup </b>
-
-</a></p><p><a name="multimonitor">In this setup, we only support tablet
-to a specific screen mapping, that is, you have to map the tablet to a
-specific screen by option "ScreenNo". Otherwise, your tablet may be
-mapped half on the first screen and the other half on the second
-screen. </a></p><p><a href="#inputdev">X11 InputDevices Options</a> details all options for your Wacom device that we mentioned above.
-
-
-<a name="contact">
-</a></p><h1><a name="contact">12.0 - Contacts</a></h1>
-<p><a name="contact">Ping Cheng can be contacted at the following email address:
-</a><a href="mailto:%20pingc@wacom.com?SUBJECT=WACOM">pingc@wacom.com</a>.
-<a name="appendix">
-</a></p><h1><a name="appendix">13.0 - Appendix</a></h1>
-<p><a name="appendix">This section is for everything that is either not critical or simply
-too complex to describe in the document above without becoming overly
-distracting.
-</a><a name="dump">
-</a></p><h2><a name="dump">13.1 - Building wacdump and xidump</a></h2>
-
-<p><a name="dump"><b>Building wacdump</b>
-
-</a></p><p><a name="dump">wacdump is enabled by default in the configure script, so let's do that now:
-
-</a></p><blockquote><pre><a name="dump">[jej@ayukawa linuxwacom]$ ./configure
-...
-----------------------------------------
- BUILD OPTIONS:
- wacom.o - no
- wacdump - <b>yes</b>
- hid.o - no
- usbmouse.o - no
- wacom_drv.o - no
-----------------------------------------
-</a></pre></blockquote>
-
-<p><a name="dump">As shown above, the build options indicate that wacdump will be built.
-If not, then scroll back through the configuration to see if there aren't
-any errors or warnings that would explain this.
-
-</a></p><p><a name="dump">Next, run <i>make</i>. The output will be a file called wacdump in the
-linuxwacom package's src/util directory. Running <i>make install</i>, will
-install it under /usr/local/bin.
-
-</a></p><p><a name="dump"><b>Building xidump</b>
-
-</a></p><p><a name="dump">xidump builds by default so if you've configured and built the project
-in previous steps, you probably have it already. If not, we can build it now.
-
-</a></p><p><a name="dump">xidump requires the XLib and XInput header files to be present on
-the system. On Redhat 8.0, these files are located in the XFree86-devel
-RPM package. Other distributions may be organized differently, and
-people who build X from source probably get them by default. When
-configuring, check that XLib is detected in the build environment,
-and if not, refer to the warnings and "checking for" messages for
-additional clues.
-
-</a></p><p><a name="dump">The preferred display mode for xidump uses ncurses. To compile it, you
-will need the ncurses header files. On Redhat 8.0, these files are located
-in the ncurses-devel package. Without ncurses, xidump defaults to raw mode
-automatically.
-
-</a></p><blockquote><pre><a name="dump">[jej@ayukawa linuxwacom]$ ./configure
-checking for XLib include directory... <b>found</b>
-checking for XLib header files... <b>found</b>
-checking for ncurses.h... <b>yes</b>
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- ...
- <b>XLib - yes</b>
- <b>ncurses - yes</b>
- ...
-
- BUILD OPTIONS:
- ...
- <b>xidump - yes</b>
- ...
-----------------------------------------
-
-</a></pre></blockquote>
-
-<p><a name="dump">The configuration above indicates that the XLib and ncurses header files
-were found and xidump will be built. If ncurses.h is not found, xidump
-will still build, but it will also warn you that ncurses will not be
-available. If you encounter warnings, it is most likely that your
-development environment is missing some packages.
-
-</a></p><p><a name="dump">When you run <i>make</i>, the xidump program will be built along with any
-other programs that are specified in the build options. The output file is
-called 'xidump' and is located in the linuxwacom package's src/util directory.
-It is installed by running <i>make install</i>.
-</a><a name="xset">
-</a></p><h2><a name="xset">13.2 - Building xsetwacom</a></h2>
-
-<p><a name="xset"><b>Building xsetwacom</b>
-
-</a></p><p><a name="xset">xsetwacom uses libwacomcfg.so to communicate with Wacom X (XFree86 or
-Xorg) driver, wacom_drv.(s)o. So, libwacomcfg.so should be built and
-installed.
-
-</a></p><p><a name="xset">libwacomcfg.so relies on Xlib. In the
-configure script, it will default the Xlib path to /usr/X11R6 or
-/usr/lib (/usr/X11R6/lib64 or /usr/lib64 if --enable-xserver64 option
-is set) by checking the existence of xf86Version.h. If your Xlib is not
-installed under /usr/X11R6 or /usr/lib, you'll need to specify the path
-(dir) by <i>--with-xlib=dir</i>. Let's see
-what we get from configure:
-
-</a></p><blockquote><pre><a name="xset">[jej@ayukawa linuxwacom]$./configure
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - yes 2.4
- module versioning - yes -DONFIG_MODVERSIONS -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h
- kernel source - yes /usr/src/linux
- XFree86 - no
- XSERVER64 - no
- dlloader - no
- XLib - yes /usr/X11R6
- TCL - yes /usr
- TK - yes /usr
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - no
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.so - no
- wacom_drv.o - no
-----------------------------------------
-</a></pre></blockquote>
-
-<p><a name="xset">As shown above, the build options indicate that libwacomcfg and xsetwacom
-will be built. If not, then scroll back through the configuration to see
-if there aren't any errors or warnings that would explain this.
-
-</a></p><p><a name="xset">Next, run <i>make</i>. The output will be stored in the linuxwacom
-package's src/util and src/util/.libs directory. They will be installed by running
-<i>make install</i> (you need to switch to superuser to run this command).
-
-</a></p><p><a name="xset">If wacom_drv.(s)o was running while installing xsetwacom, xsetwacom can be
-launched immediately after <i>make install</i> and <i>exit</i>.
-
-</a></p><p><a name="xset">If wacom_drv.o is installed by the same <i>make install</i> as xsetwacom
-is, restarting X server is required to use the newly built wacom_drv.(s)o. We
-strongly recommand to build and install wacom_drv.(s)o and xsetwacom from
-the same release package since the out of sync wacom_drv.(s)o and xsetwacom
-may crash your X server.
-</a><a name="cpl">
-</a></p><h2><a name="cpl">13.3 - Building wacomcpl</a></h2>
-
-<p><a name="cpl">wacomcpl is written in tcl/tk. It uses libwacomxi.so and xsetwacom to
-communicate with Wacom XFree86/Xorg driver, wacom_drv.(s)o. So, to run
-wacomcpl, tcl/tk should be installed, libwacomxi.so and xsetwacom should
-be built and installed.
-
-</a></p><p><a name="cpl">libwacomxi.so and xsetwacom are enabled by
-default in the configure script. By default, the script will assume
-that tcl/tk is installed under /usr. That is, tcl.h and tk.h should be
-under /usr/include; libtcl.so.0 and libtk.so.0 should be under
-/usr/lib. Let's see what we get from configure:
-</a></p><blockquote><pre><a name="cpl">[jej@ayukawa linuxwacom]$./configure
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - yes 2.4
- module versioning - yes
- kernel source - yes /usr/src/linux
- XFree86 - no
- XLib - yes /usr/X11R6
- TCL - yes /usr
- TK - yes /usr
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - no
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.o - no
-----------------------------------------
-</a></pre></blockquote>
-
-<p><a name="cpl">As shown above, the build options indicate that libwacomxi and xsetwacom
-will be built. If not, then scroll back through the configuration to see
-if there aren't any errors or warnings that would explain this.
-
-</a></p><p><a name="cpl">For example, on another system, I have installed tcl/tk under /usr/local/ActiveTcl.
-That is, tcl.h and tk.h are under /usr/local/ActiveTcl/include. If I run configure
-without options, I get:
-
-</a></p><blockquote><pre><a name="cpl">[jej@ayukawa linuxwacom]$./configure
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - yes 2.4
- module versioning - yes
- kernel source - yes /usr/src/linux
- XFree86 - no
- XLib - yes /usr/X11R6
- TCL - no
- TK - no
- ncurses - yes
- GTK - 2.0.6
-
- BUILD OPTIONS:
- wacom.o - no
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - no
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.o - no
-----------------------------------------
-</a></pre></blockquote>
-
-<p><a name="cpl">The build options show that libwacomxi will not be built. When I scroll
-back through the configuration, I see:
-
-</a></p><blockquote><pre><a name="cpl">...
-checking for tcl header files... not found; tried /usr/include/tcl.h
-***
-*** WARNING:
-*** The tcl development environment does not appear to
-*** be installed. The header file tcl.h does not appear
-*** in the include path. Do you have the tcl rpm or
-*** equivalent package properly installed? Some build
-*** features will be unavailable.
-***
-checking for tk header files... not found; tried /usr/include/tk.h and /include/tk.h
-***
-*** WARNING:
-*** The tk development environment does not appear to
-*** be installed. The header file tk.h does not appear
-*** in the include path. Do you have the tk rpm or
-*** equivalent package properly installed? Some build
-*** features will be unavailable.
-***
-checking ncurses.h usability... yes
-checking ncurses.h presence... yes
-checking for ncurses.h... yes
-***
-*** WARNING:
-*** libwacomxi requires tcl environment; libwacomxi will not be built.
-***
-...
-</a></pre></blockquote>
-
-<p><a name="cpl">Then I run configure with option --with-tcl=/usr/local/ActiveTcl:
-
-</a></p><blockquote><pre><a name="cpl">[jej@ayukawa linuxwacom]$./configure --with-tcl=/usr/local/ActiveTcl
-...
-----------------------------------------
- BUILD ENVIRONMENT:
- architecture - i686
- linux kernel - yes 2.4
- module versioning - yes
- kernel source - yes /usr/src/linux
- XFree86 - no
- XLib - yes /usr/X11R6
- TCL - yes /usr/local/ActiveTcl
- TK - yes /usr/local/ActiveTcl
- ncurses - yes
-
- BUILD OPTIONS:
- wacom.o - no
- wacdump - yes
- xidump - yes
- libwacomcfg - yes
- libwacomxi - yes
- xsetwacom - yes
- hid.o - no
- usbmouse.o - no
- evdev.o - no
- mousedev.o - no
- input.o - no
- tabletdev.o - no
- wacom_drv.o - no
-----------------------------------------
-</a></pre></blockquote>
-
-<p><a name="cpl"><b>Note:</b> You may need to issue the following commands before running wacomcpl:
-
-</a></p><blockquote><pre><a name="cpl">[jej@ayukawa linuxwacom]$export LD_LIBRARY_PATH=/usr/local/ActiveTcl/lib:$LD_LIBRARY_PATH
-[jej@ayukawa linuxwacom]$su
-[jej@ayukawa linuxwacom]#cd /usr/local/ActiveTcl/lib
-[jej@ayukawa lib]#ln -s libtcl.8.4.so libtcl.so.0
-[jej@ayukawa lib]#ln -s libtk.8.4.so libtk.so.0
-</a></pre></blockquote>
-
-<p><a name="cpl">If your tcl and tk are installed on different paths, you'll need to
-specify them separately. Suppose that your tcl is under /usr/local/tcl8.4
-and your tk is under /usr/local/tk8.4, the proper configuration and setup
-commands will be:
-
-</a></p><blockquote><pre><a name="cpl">[jej@ayukawa linuxwacom]$./configure --with-tcl=/usr/local/tcl8.4 --with-tk=/usr/local/tk8.4
-[jej@ayukawa linuxwacom]$export LD_LIBRARY_PATH=/usr/local/tcl8.4/lib:/usr/local/tk8.4/lib:$LD_LIBRARY_PATH
-[jej@ayukawa linuxwacom]$su
-[jej@ayukawa linuxwacom]#cd /usr/local/tcl8.4/lib
-[jej@ayukawa lib]#ln -s libtcl.8.4.so libtcl.so.0
-[jej@ayukawa lib]#cd /usr/local/tk8.4/lib
-[jej@ayukawa lib]#ln -s libtk.8.4.so libtk.so.0
-</a></pre></blockquote>
-
-<p><a name="cpl">Next, run <i>make</i>. The output will be stored in the linuxwacom
-package's src/wacomxi and src/wacomxi/.libs directories. They will be
-installed by running <i>make install (you need to switch to superuser
-to run this command)</i>.
-</a><a name="builddrv">
-</a></p><h2><a name="builddrv">13.4 - Building wacom_drv.o from Scratch</a></h2>
-<h3><a name="builddrv">Introduction</a></h3>
-
-<p><a name="builddrv">I should tell you out-right that this is a time consuming process.
-
-</a></p><p><a name="builddrv">Why would you want to do this? Two reasons. One, you are a developer
-and need to make changes to the source code directly. Two, your distribution
-uses c libraries or configuration options that are not compatible with the
-wacom_drv.o file that I provide. People running libc5 for instance, would
-need to build their own driver.
-
-</a></p><blockquote><div class="diff">
-<a name="builddrv">Timothy Klein has submitted a brief howto for compiling on Debian Stable
-which is still running XFree86 4.1 as of this writing. It covers steps
-one through four of this document, and a savvy developer should be able
-to figure out step five on his own. If someone solves step five and
-generates a patch to Makefile.am, I'll see what I can do about getting
-it into the configuration script. That document is on the </a><a href="#debwcmdrv">Installing wacom driver On Debian</a> page.
-</div></blockquote>
-
-<p>You will need the X source code to rebuild the wacom_drv.o driver.
-The build configuration for X generates a number of header files that are
-necessary but not installed by default on most distributions. Consequently,
-you will need to not only get the source, but build it, practically in its
-entirety. Then, after all that, the configure script can be instructed to
-hook into the X build tree and rebuild wacom_drv.o at any time without
-having to rebuild X again.
-
-</p><p>Since I am running Redhat 8.0 and cannot really pull down the original
-XFree86 4.2.0 source code, compile it, and expect it to work on my
-system, I need to instead use the source RPM provided by Redhat. If you
-choose to go this route, I provide pretty detailed instructions for making
-this work. If your distribution works differently, or you are using Gentoo
-where most everything is source code by default, you'll need to handle this
-as best as possible according to your particular situation.
-
-</p><p></p><h3>Step One: Get The Source</h3>
-
-<p>On Redhat 8.0, I discovered the version number for my currently installed
-XFree86 packages by running <i>rpm -q XFree86</i>. This reported version
-4.2.0-72, therefore the source package is XFree86-4.2.0-72.src.rpm.
-I downloaded the package from Redhat directly and installed it to the system
-as follows:
-
-</p><blockquote><pre>[root@sen src]# rpm -ivh XFree86-4.2.0-72.src.rpm
- 1:XFree86 ########################################### [100%]
-</pre></blockquote>
-
-<p>This installs a number of files to the /usr/src/redhat directory,
-particularly in the SOURCES and SPECS subdirectories. Other distributions
-undoubtedly install elsewhere. Look for the XFree86.spec file which should
-be located in the SPECS directory. This file contains all the information
-necessary to patch the orginal XFree86-4.2.0 source code to the level that
-Redhat is distributing in their regular binary package. The source code
-and patch files are located in SOURCES.
-
-</p><h3>Step Two: Build the Source</h3>
-
-<p>This step describes how to build the source from the RPM itself. If
-you are building from some other mechanism, I honestly cannot offer much
-assistance since I generally don't build my X system from scratch.
-If you'd like to write up a short section on building the
-server for your particular distribution, I would be happy to include it here.
-
-</p><p>Next, you don't actually have to build the entire thing. The
-point at which the xf86Wacom.c driver can be built however,
-is not until somewhere in the middle of the build process. The driver
-depends on a number of header files that are created dynamically so until
-they are generated, wacom_drv.o cannot be compiled. My solution
-was to open a separate terminal in the wacom driver directory and
-periodically attempt to build it. When it successfully built, I stopped
-the X build process. Here's how to build the source for an RPM that's
-been exploded out into the SPECS and SOURCES directories.
-
-</p><blockquote><pre>[root@sen root]# cd /usr/src/redhat
-[root@sen redhat]# rpmbuild -bc SPECS/XFree86.spec
-</pre></blockquote>
-
-<p>Not every distribution has <i>rpmbuild</i>; try using just <i>rpm</i>
-instead. At some point, Redhat split the build functionality into separate
-programs. If after looking through the <i>rpm</i> man page, you still
-cannot get this to work, send me some email, and I'll look into it.
-
-</p><p>The important item is the "-bc" option of <i>rpmbuild</i> which unpacks,
-patches, and builds the source without actually installing. While it is also
-possible to simply unpack and patch using the "-bp" option, there does not
-seem to be a way to just build. The "-bc" option simply deletes all the
-files provided by "-bp" and recreates them again. The downside of this is
-that if you wanted to simply unpack, patch, and then copy the new xf86Wacom.c
-file over the old one, you'll find that the build step deletes it and starts
-over again. I have gotten this to work by creating a new patch file, but
-this requires a bit more effort, so I don't recommend it right off.
-
-</p><h3>Step Three: Build the Original Driver</h3>
-
-<p>The xf86Wacom.c file is buried pretty deep in the X build tree. If it
-is in a different location than the one I have provided below, try using
-<i>find . -name xf86Wacom.c</i> from the BUILD directory.
-
-</p><blockquote><pre>[root@sen redhat]# cd BUILD/XFree86-4.2.0/xc/programs/Xserver/hw/xfree86/input/wacom
-[root@sen wacom]# ls
-Imakefile wacom.man xf86Wacom.c.Wacom-USB-driver-a25-update
-Makefile xf86Wacom.c
-</pre></blockquote>
-
-The "a25-update" file is the original xf86Wacom.c file before Redhat's patch.
-If you open xf86Wacom.c, you'll find that it is version 25, at least as
-of this writing and this distribution. The presence of the Makefile means
-that the configuration has at least been run for this directory. If you
-have built a sufficient portion of the X source files, then all the header
-files that you need have been generated, and you can build xf86Wacom.c. Try
-it, and if it does not build, wait a bit. The absence of xf86Version.h
-for instance, is a good indication that the build process is not ready.
-
-<blockquote><pre>[root@sen wacom]# make
-rm -f xf86Wacom.o
-gcc -O2 -march=i386 ... -c xf86Wacom.c
-ld -r xf86Wacom.o -o wacom_drv.o
-</pre></blockquote>
-
-<h3> Step Four: Automating the Build Process</h3>
-
-<p>By configuring the package with the --with-xf86 option set to the XFree86
-build tree, you can build the driver outside of the X build tree.
-</p><blockquote><pre>[jej@ayukawa wacom]$ ./configure \
- --with-xf86=/usr/src/redhat/BUILD/XFree86-4.2.0
-...
-BUILD ENVIRONMENT:
- XFree86 - yes
- BUILD OPTIONS:
- wacom_drv.o - yes
-[jej@ayukawa wacom]$ make
-</pre></blockquote>
-
-<p>The makefile rule which builds the driver is contained within src/Makefile.am
-and is modified according to the configuration to generate a rule similar to
-this in src/Makefile:
-
-</p><blockquote><pre>xf86Wacom.o: xf86Wacom.c
- gcc -O2 -march=i386 -mcpu=$(ARCHITECTURE) -pipe -ansi \
- -pedantic -Wall -Wpointer-arith -fno-merge-constants \
- -I. -I$(XF86_DIR)/programs/Xserver/hw/xfree86/common \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/loader \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/os-support \
- -I$(XF86_DIR)/programs/Xserver/include \
- -I$(XF86_DIR)/programs/Xserver/mi \
- -I$(XF86_DIR)/exports/include/X11 \
- -I$(XF86_DIR)/include/extensions \
- -I$(XF86_DIR) \
- -I$(XF86_DIR)/exports/include \
- -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE \
- -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE \
- -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \
- -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX \
- -DRENDER -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV \
- -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER \
- -DXFree86Server -DXF86VIDMODE -DXvMCExtension \
- -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension \
- -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 \
- -DNARROWPROTO -DIN_MODULE -DXFree86Module -DLINUX_INPUT \
- -o xf86Wacom.o -c xf86Wacom.c
-</pre></blockquote>
-
-<blockquote><div class="diff">similar rules applie to wcmSerial.c, wcmUSB.c,
-wcmISDV4.c, wcmCommon.c, wcmCompat.c, wcmConfig.c, and, wcmFilter.c.
-</div></blockquote>
-
-<p>The options and directories specified come directly from the output of the
-make command in the previous step. All the root and parent directories have
-been replaced with the macro XF86_DIR which in this case is set by the
-configuration script to /usr/src/redhat/BUILD/XFree86-4.2.0/xc. If the
-options that you see in your build are identical to those above, then the
-default rule will work for you now. If not, you'll need to make some
-alterations. You can update the Makefile.am file and rerun automake,
-update the Makefile.in and rerun configure, or just update the Makefile
-directly.
-
-</p><p>So long as the X build tree exists, the include directories will point to
-the correct locations, and the driver will build. If space is an issue, you
-can probably remove all the non-essential directories, but be careful; the
-dependency tree in X is huge.
-
-<a name="debwcmdrv">
-</a></p><h2><a name="debwcmdrv">13.5 - Installing wacom driver On Debian</a></h2>
-<a name="debwcmdrv">The following documentation for building wacom driver on Debian was
-written by Olivier Lecarme. You can also refer to Olivier's page
-</a><a href="http://www.i3s.unice.fr/%7Eol/success.html">here</a> for updates.
-
-<br><br><br><br>
-
-Copyright (C) June 14, 2005 Olivier Lecarme. <br><br>
-
-<pre>I'm using the Sid version of Debian, but I was told that the Sarge
-distribution, recently become the stable one, already contains what
-is necessary. Version 2.6.11 of the kernel is the highly preferred
-one by people maintaining the Linux Wacom software.
-
-<b>Download the 2.6.11 kernel</b>
-
-I was completely unsuccessful when trying to configure and compile
-my own kernel: certainly I omitted some capital module, but I could
-not decide what it was. Thus, I chose the last pre-compiled kernel.
-
- 1. apt-get kernel-image-2.6.11-1-686
-
- 2. apt-get kernel-headers-2.6.11-1-686
-
-If you use Lilo, configure your /etc/lilo.conf file, taking into
-account that this kernel needs an initrd= line.
-
-<b>Optionally</b>
-
-If your case is irrelevant, please skip this section and the following one.
-
- 1. I Have a Broadcom NetXtreme BCM5751 Ethernet card, which needs
-the tigon3 driver, unavailable in Debian kernel 2.6.11. The solution is here.
-
- Thus I got the package:
-
- 1. cd /usr/src
- 2. wget http://www.acm.rpi.edu/~dilinger/kernel-source-nonfree-2.6.11
-/kernel-nonfree-modules-2.6.11-1-686-2.6.11-1_i386.deb
-
- 2. I have an ATI X 300 video card, whose driver is not available
-in Debian kernel 2.6.11. The solution is here.
-
- Thus I got the packages:
-
- 1. for the driver: wget http://www.stanchina.net/~flavio/
-debian-fglrx-xfree86/fglrx-driver_8.12.10-1_i386.deb
- 2. and for the kernel module: wget http://www.stanchina.net/~flavio
-/debian-fglrx-modules/fglrx-kernel-2.6.11-1-686-smp_8.12.10-1+2.6.11-2_i386.deb
-
-<b>Install the optional packages</b>
-
- 1. cd /usr/src
-
- 2. dpkg -i kernel-nonfree-modules-2.6.11-1-686_2.6.11-1_i386.deb
-
- 3. dpkg -i fglrx-driver_8.12.10-1_i386.deb
-
- 4. dpkg -i fglrx-kernel-2.6.11-1-686_8.12.10-1+2.6.11-2_i386.deb
-
-<b>Install the wacom tools package</b>
-
- 1. apt-get install wacom-tools
-
- 2. dpkg-reconfigure wacom-kernel-source
-
- Since your debconf configuration probably did not ask for the lowest
-priority questions, this step is needed. You might also use it later if you
-update your kernel, for instance.
-
- When asked whether you want to build the modules, answer yes, and tell
-where the headers are located (normally /usr/src/kernel-headers-2.6.11-1-686).
-
-<b>Prepare for the /dev/input/wacom link</b>
-
-In /etc/udev/rules.d/10-wacom.rules, add the following line:
-
-KERNEL="event*", SYSFS{idVendor}="056a", NAME="input/%k", SYMLINK="input/wacom%e"
-
-Thus the drivers will find the Wacom tablet, whatever its /dev/input/eventX address is.
-
-<b>Change your XF86Config-4 file</b>
-
-The important sections are:
-
- 1. The ServerLayout section:
-
-Section "ServerLayout"
- [ ... ]
- InputDevice "stylus" "SendCoreEvents"
- InputDevice "eraser" "SendCoreEvents"
- InputDevice "cursor" "SendCoreEvents"
- InputDevice "pad"
-EndSection
-
- 2. The InputDevice sections:
-
-Section "InputDevice"
- Identifier "stylus"
- Driver "wacom"
- Option "Type" "stylus"
- Option "USB" "on"
- Option "Threshold" "10"
- Option "Device" "/dev/input/wacom"
-EndSection
-
-Section "InputDevice"
- Identifier "eraser"
- Driver "wacom"
- Option "Type" "eraser"
- Option "USB" "on"
- Option "Threshold" "10"
- Option "Device" "/dev/input/wacom"
-EndSection
-
-Section "InputDevice"
- Identifier "cursor"
- Driver "wacom"
- Option "Type" "cursor"
- Option "USB" "on"
- Option "Threshold" "10"
- Option "Device" "/dev/input/wacom"
-EndSection
-
-Section "InputDevice"
- Identifier "pad"
- Driver "wacom"
- Option "Device" "/dev/input/wacom"
- Option "Type" "pad"
- Option "USB" "on"
-EndSection
-
- 3. The section dealing with your normal mouse must be considered too. See <a href="#mouse1">Mouse1 (for some 2.6 systems)</a>.
-I didn't use /dev/psaux nor /dev/input/mice. /dev/input/mouse0 works for a PS/2
-mouse. For a USB mouse, there is a problem mentioned in the <b>Remaining problems</b>.
-
- 4. If you use the ATI X300 card, you need to change also the Device section:
-
-Section "Device"
- Identifier "ATI"
- Driver "fglrx"
- Option "VideoOverlay" "on"
- Option "OpenGLOverlay" "off"
- Option "UseInternalAGPGART" "no"
-EndSection
-
-<b>Final steps</b>
-
- 1. Reboot. This will also restart the X server, of course.
- 2. Enjoy!
-
-<b>If you want to use the expresskeys of your Intuos tablet</b>
-
-If you do nothing more, the pad is not usable at all. However, you will find <a href="http://web.telia.com/%7Eu46133770/wacom/index.html">here</a> a specific
-tool for having the pad available in various programs, for example XTerm, Gimp, or Blender.
-
-This tool is very easy to compile, install, and use. If you want to use the pad
-in Gimp, do <b>not</b> enable it in "Preferences -&gt; Input Devices -&gt; Configure
-the extended input devices", contrarily to the three other tools (stylus, eraser,
-and cursor). You can easily configure what the expresskeys send, according to
-your tastes, and use only them for the tasks that need a good control of the
-stylus or eraser.
-
-<b>Remaining problems</b>
-
-If your tablet is always plugged, everything works perfectly. If you want to plug
-it out, for example in order to move it onto another computer, and then to plug
-it back later, problems begin.
-
-For the present, you must take care of the following things:
-
- 1. If you plug in the tablet again, the corresponding driver is not informed
-of this, thus you must restart the X server.
-
- 2. If the tablet is plugged when you reboot, and you have an USB mouse, maybe
-the /dev/input address of this mouse is not the same as the previous time. Thus
-you will have to change this in your XF86Config-4 file.
-
- 3. If you use GDM or KDM or XDM, you should plug in the tablet after rebooting,
-but before the X server starts, which is somewhat difficult! Thus you will be forced
-to restart the X server, i.e. kill it (Ctrl+Alt+Backspace) and not simply logging out.
-
-<b>Final remarks</b>
-
- I would like to thank all persons who helped me, on the LinuxWacom or the
-Gimp-user discussion lists, especially Carol Spears, Karine Delvare, Ping Cheng, and Ron.
-
-</pre>
-<a name="ppcwcmdrv">
-</a><h2><a name="ppcwcmdrv">13.6 - Building wacom driver On PowerMac</a></h2>
-<a name="ppcwcmdrv">The following documentation for building wacom driver on PowerMac [silver]
-was written by Joseph E. Sacco. If you have any problems or questions,
-go ahead and post them to the list, or send email to me directly. I'll
-forward your email on to Joseph.
-
-<br><br><br><br>
-
-Copyright (C) 2004 Joseph E. Sacco<br><br>
-
-</a><pre><a name="ppcwcmdrv">System:
-
-&lt;&lt; Hardware &gt;&gt;
-* PowerMac [silver] with dual 533 MHz G4 [7410] CPU's, 1GB RAM,
- (3) 73 GB SCSI drives
-* Contour UniMouse [USB, optical, three button]
-* Wacom Intuos Tablet [USB]: GD-1218-U
- * 4-d mouse
- * pen
- * air brush
-
-&lt;&lt; Software &gt;&gt;
-* Yellow Dog Linux 3.0.1 [Redhat variant for PPC]
-* kernel: 2.4.25-ben1
-* linuxwacom-0.6.1
-
-* XFree86-4.3.0-2.1e
-* atk-1.6.0-1
-* freetype-2.1.3-4
-* gcc-3.3
-* gtk+-2.4.0
-* glib2-2.4.0
-* ncurses-5.2-28
-* pango-1.4.0
-
-============================================================
-
-I have a Wacom Intuos tablet "working" [after a fashion] on a PPC
-running Yellow Dog Linux 3.0.1.
-
-&lt;&lt; What works &gt;&gt;
-* input devices:
- * cursor movement
- * button clicks
- * wheel rotation [as seen from wacdump]
- * pressure [as seen from wacdump &amp; gimp]
- * tilt [as seen from wacdump]
-
-* applications:
- * wacdump
- * xidump
- * xev
- * xinput-1.2
- * gimp-1.25 &amp; gimp-2.0
- * dia-0.9.2
-
-&lt; What does *not* work &gt;&gt;
-* input devices:
- * Mode "Relative" for pen &amp; air brush [should it???]
-
-* applications:
- * xsetwacom
- * wacomcpl [because of xsetwacom]
-
-There are some issues I would like to report.
-----------------------------------------------------------------------------------------------------------------------------------------
-
-* Makefiles
-The makefiles are set up for Intel architecture. Some options are not
-applicable for PPC's.
-
-[ from ./src/2.4.22/Makefile.in ]
-KCFLAGS = -Wall $(DEBUG_FLAGS) -D__KERNEL__ \
- -DMODULE -DEXPORT_SYMTAB $(MODS) \
- -Wstrict-prototypes -Wno-trigraphs -O2 \
- -fno-strict-aliasing \
- -fno-common -fomit-frame-pointer -pipe \
- ===&gt; -mpreferred-stack-boundary=2 \
- ===&gt; -march=$(ARCHITECTURE)
-
-The last two options are not applicable to a PPC.
-
-A more appropriate set of flags, taken from building the 2.4.25 kernel
-modules, might be:
-
-KCFLAGS = -Wall $(DEBUG_FLAGS) -D__KERNEL__ \
- -Wstrict-prototypes -Wno-trigraphs -O2 \
- -fno-strict-aliasing -fno-common -fomit-frame-pointer \
- -fsigned-char -msoft-float -pipe -ffixed-r2 \
- -Wno-uninitialized -mmultiple -mstring \
- -DMODULE -DMODVERSIONS -iwithprefix
-
-[ from ./src/Makefile.in ]
-$(XF86OBJS): xf86Wacom.c Makefile
- ==&gt; gcc -O2 $(DEPFLAGS) -march=i386 -mcpu=$(ARCHITECTURE) -pipe -ansi \
- -pedantic -Wall -Wpointer-arith $(NO_MERGE_CONSTANTS) \
- -I. -I$(XF86_DIR)/programs/Xserver/hw/xfree86/common \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/loader \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/os-support \
- -I$(XF86_DIR)/programs/Xserver/include \
- -I$(XF86_DIR)/programs/Xserver/mi \
- -I$(XF86_DIR)/exports/include/X11 \
- -I$(XF86_DIR)/include/extensions \
- -I$(XF86_DIR) \
- -I$(XF86_DIR)/exports/include \
-==&gt; -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE \
- -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE \
- -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \
- -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX \
- -DRENDER -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV \
- -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER \
- -DXFree86Server -DXF86VIDMODE -DXvMCExtension \
- -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension \
- -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 \
- -DNARROWPROTO -DIN_MODULE -DXFree86Module $(LINUX_INPUT) \
- -o $@ -c $(subst .o,.c,$@)
-
-A more appropriate set of flags, taken from building XFree86-4.3.0, might be:
-
-$(XF86OBJS): xf86Wacom.c Makefile
- gcc -O2 $(DEPFLAGS) -mcpu=$(ARCHITECTURE) -pipe -ansi \
- -pedantic -Wall -Wpointer-arith $(NO_MERGE_CONSTANTS) \
- -I. -I$(XF86_DIR)/programs/Xserver/hw/xfree86/common \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/loader \
- -I$(XF86_DIR)/programs/Xserver/hw/xfree86/os-support \
- -I$(XF86_DIR)/programs/Xserver/include \
- -I$(XF86_DIR)/programs/Xserver/mi \
- -I$(XF86_DIR)/exports/include/X11 \
- -I$(XF86_DIR)/include/extensions \
- -I$(XF86_DIR) \
- -I$(XF86_DIR)/exports/include \
- -Dlinux -D__powerpc__ -D_POSIX_C_SOURCE=199309L \
- -D_POSIX_SOURCE \
- -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE \
- -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \
- -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX \
- -DRENDER -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV \
- -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER \
- -DXFree86Server -DXF86VIDMODE -DXvMCExtension \
- -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension \
- -DX_BYTE_ORDER=X_BIG_ENDIAN -DNDEBUG -DFUNCPROTO=15 \
- -DNARROWPROTO -DIN_MODULE -DXFree86Module $(LINUX_INPUT) \
- -o $@ -c $(subst .o,.c,$@)
-
-where $(ARCHITECTURE) = powerppc [ppc will not work]
-
-* Kernel modules
-I experimented with different ways of building [and loading] the kernel
-modules:
- * evdev.o
- * hid.o
- * mousedev.o
- * wacom.o
-
-I settled on building the modules within the existing framework for building
-the Linux kernel rather than using the makefiles provided by linuxwacom-0.6.1.
-I did so to insure that I got all the PPC dependency stuff right.
-
-* Hotplug kernel module issues
-I had some issues using 'modprobe' to load the wacom kernel module that forced
-me to reconfigure and rebuild the 2.4.25-ben1 kernel.
-
-A typical YDL kernel build for a PowerMac statically links most of the input
-core support into the kernel:
-
- [from .config file provided by YDL]
- # Input core support
- #
- CONFIG_INPUT=y
- CONFIG_INPUT_KEYBDEV=y
- CONFIG_INPUT_MOUSEDEV=y
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
- CONFIG_INPUT_JOYDEV=m
- CONFIG_INPUT_EVDEV=y
-
-I had initially built only wacom.o as a loadable module. The other modules
-were statically linked into the kernel.
-
-When wacom.o was loaded using:
-
- $ /sbin/insmod wacom.o
-
-all went well:
-
-[output from /var/log/messages]
-
-Mar 24 10:26:33 plantain kernel: usb.c: registered new driver wacom
-Mar 24 10:26:33 plantain kernel: Reporting max 45720, 31680
-Mar 24 10:26:33 plantain kernel: wacom.c: Setting tablet report for tabletdata
-Mar 24 10:26:33 plantain kernel: input4: Wacom Intuos 12x18 on usb2:3.0
-Mar 24 10:26:33 plantain kernel: wacom.c: v1.30-j0.6.1 Vojtech Pavlik
-<vojtech@suse.cz>
-Mar 24 10:26:33 plantain kernel: wacom.c: USB Wacom Graphire and Wacom Intuos
-tablet driver (LINUXWACOM-DEBUG)
-Mar 24 10:26:33 plantain kernel: wacom_events
-
-When wacom.o was loaded using:
-
- $ /sbin/modprobe wacom
-
-the module failed to load:
-
- $ /sbin/rmmod wacom
- $ /sbin/modprobe wacom
- modprobe: Can't locate module evdev which is needed for wacom
-
-I was perplexed about this failure because "evdev" was statically linked into
-the kernel. I puzzled over this for a while and concluded that it had
-something to do with how USB hotplug was configured.
-
-I arrived at this conclusion by unplugging the tablet, waiting, and then
-plugging it back in. I found that the tablet "worked" but there are complaints
-in /var/log/messages:
-
-Mar 24 10:34:51 plantain kernel: usb.c: USB disconnect on device 10:19.0-1
-address 3
-
-Mar 24 10:35:53 plantain kernel: hub.c: new USB device 10:19.0-1, assigned
-address 4
-Mar 24 10:35:53 plantain kernel: Reporting max 45720, 31680
-Mar 24 10:35:53 plantain kernel: wacom.c: Setting tablet report for tablet
-data
-Mar 24 10:35:53 plantain kernel: input4: Wacom Intuos 12x18 on usb2:4.0
-Mar 24 10:35:53 plantain kernel: wacom_intuos_irq: tool change 0x094
-Mar 24 10:35:56 plantain /etc/hotplug/usb.agent: Setup wacom for USB product
-56a/24/101
-Mar 24 10:35:56 plantain /etc/hotplug/usb.agent: Setup evdev mousedev for USB
-product 56a/24/101
-Mar 24 10:35:56 plantain modprobe: modprobe: Can't locate module evdev
-Mar 24 10:35:56 plantain modprobe: modprobe: Can't locate module mousedev
-
-I really don't understand how the USB hotplug mechanisms are supposed to be
-configured. Yes... I did look at the scripts in /etc/hotplug. Yes.. I did
-attempt a few unsucessful modifications to usb.handmap and usb.distmap. I
-pondered over this for a while and then decided on a work-around:
-
-I reconfigured and rebuilt the kernel to dynamically load
- * evdev.o
- * hid.o
- * mousedev.o
- * wacom.o
-
-which "eliminated" the problem.
-
-If someone out there knows what should have been done to allow modprobe to
-successfully load wacom when evdev and friends are already statically linked
-into the kernel, please send me email.
-
-* XFree86 module: wacom_drv.o
-I rebuilt wacom_drv.o using the linuxwacom-0.6.1 makefile and the flags listed
-above. The build was uneventful.
-
-* Mouse1
-I do not have a Mouse1 entry in XF86Config. I mention this because there is an
-obscure reference in the documentation to potential mouse conflict problems
-when running a USB Wacom mouse on a system with a USB mouse. The USB mouse
-connected to the system and the Wacom input devices all seem to work.
-
-On my system:
-
- /dev/mouse is a link to /dev/input/mice
-
-Mouse0 is configured in XF86Config as:
-
-Section "InputDevice"
- Identifier "Mouse0"
- Driver "mouse"
- Option "ZAxisMapping" "4 5"
- Option "Protocol" "IMPS/2"
- Option "Device" "/dev/input/mice"
-EndSection
-
-Maybe something nasty is going on that I don't know about. Thoughts???
-
-* xsetwacom
-There are problems...
-
-The 'list' command prints stuff:
-
-$ xsetwacom list
-eraser eraser
-stylus stylus
-cursor cursor
-
-The set command fails:
-
-$ xsetwacom -v set stylus FileModel
-Set: sending 100 0 (0x0)
-Error (5): WacomConfigSetRawParam: Unknown X error
-Set: Failed to set stylus value for 'FileModel'
-
-Looking at the code, I see that it is failing in a call to
-XChangeDeviceControl() made from WacomConfigSetRawParam(). I also poked
-around in this one with GDB. The X-Display gets opened properly. Things look
-OK until the request is dispatched, which then returns an unknown X error.
-
-I also tried to use xsetwacom to toggle the cursor mode between relative and
-absolute. Again the command fails with an unkown X error. Note that the
-XFree86 command 'xsetmode' works fine.
-
--Joseph
-</vojtech@suse.cz></a></pre>
-<a name="debwacomnosrc">
-</a><h2><a name="debwacomnosrc">13.7 - Building wacom driver On Fedora Core 3</a></h2>
-<a name="debwacomnosrc">The following documentation for building wacom kernel modules and x.org
-driver on Fedora Core 3 was written by Paul Duffy. If you have any problems
-or questions, go ahead and post them to the list, or send email to me directly.
-If I cannot provide a satisfactory answer, I'll forward your email on to Paul.
-
-<br><br><br><br>
-
-Copyright (C) 2005 Paul Duffy<br><br>
-
-</a><pre><a name="debwacomnosrc">Procedure for building linuxwacom package on Fedora Core 3 with 2.6 series
-kernel. These instructions are current as of May 23, 2005.
-There are several reasons why FC3 is different. The two main reasons
-being:
-
-- evdev, hid-core and mousedev are compiled into the kernel core so you can't
-just recompile them as modules.
-
-- the Fedora Core kernel is heavily patched, which I don't mind as it means my
-Creative Live! Drive II works, but it does mean that compiling the kernel
-from www.kernel.org may lose you some hardware support.
-
-Additionally, Red Hat no longer supply a simple linux-source rpm so if you
-want the official kernel source for Fedora Core 3 you're going to have to use
-the source RPM.
-
-At this stage, I am assuming that you have a fully updated system and are
-using kernel 2.6.11-1.14_FC3
-
-<b>What you will need:</b>
-
-At this stage you're going to need all of the development packages required to
-compile the kernel (gcc, automake, etc) and the xorg-x11-sdk package
-installed (under Development &gt;&gt; X Software Development). If you're unsure
-where this all is, you can select the hat menu in KDE or Gnome and you want
-to select System Settings &gt;&gt; Add/Remove Applications.
-
-If you're unsure as to exactly what you need to install, install everything
-(except gcc-java, it causes problems with Sun or IBM java installs) assuming
-you have the hard drive space.
-
-Also the vast majority of this will require you to be in SuperUser mode so you
-might as well 'su' from the start; not normally advice I'd be giving anyone
-but it's kinda necessary in this case.
-
-You have two choices for the first step; you can either download the kernel
-SRPM from one of the mirrors at
-http://fedora.redhat.com/download/mirrors.html where you can find the correct
-package as updates/3/SRPMS/kernel-2.6.11-1.14_FC3.src.rpm and install it
-with
-
-rpm -ivh kernel-2.6.11-1.14_FC3.src.rpm
-
-or you can use
-
-up2date --get-source kernel
-
-Either method should leave you with a lot of files in /usr/src/redhat/SOURCES
-and the file /usr/src/redhat/SPECS/kernel-2.6.spec
-At this stage, don't worry about all the files starting linux-2.6.9... the
-main file you are looking for is linux-2.6.11.tar.bz2. As long as that's
-there you should be fine.
-
-Now, to actually get all the kernel sources setup in a compilable form you
-need to run the command
-
-rpmbuild -bp --target=<arch> /usr/src/redhat/SPECS/kernel-2.6.spec
-
-If you don't know what <arch> is, run the command
-
-uname -m
-
-and it should tell you.
-Of course, it should be noted at this point that if my architecture is i686
-and I select that, what will actually be installed is the source
-configuration for i386 and above so if you're still not sure but you know you
-can run Windows then --target=i386 is a safe default.
-
-After everything has been setup the rpmbuild will have applied all the
-standard patches and setup a default configuration so the only reason to run
-'make config', or 'make xconfig', is to change something from the default.
-
-Having said this, I like to run 'make xconfig' to alter the selected chip the
-kernel is going to compile for as it defaults to compiling for i386 whereas
-anyone with a reasonably recent chip (Athlon, Pentium III even) is going to
-want something a bit more advanced.
-
-So, the first thing you want to do, if you want most add-on modules to find
-the kernel source without adding a really long command-line parameter, is to
-add a symbolic link to the source directory.
-
-cd /usr/src
-ln -s redhat/BUILD/kernel-2.6.11/linux-2.6.11 linux
-
-So now everything can find the current kernel source in /usr/src/linux
-
-cd linux
-make xconfig
-
-select 'Processor type and features' and change 'Processor family' from 386 to
-whatever it is you're running.
-If you make a mistake and you don't know what you've done you can always close
-the program and select 'Discard changes' and start again.
-Otherwise, click on the floppy disk icon to save and exit safe in the
-knowledge that you're not compiling for a CPU that doesn't even have a
-floating point unit.
-
-OK, so by now you should have the basic kernel source setup and available
-in /usr/src/linux and, due to the setup of the default kernel, we can't just
-recompile a few modules, we have to recompile the whole kernel.
-
-So at this stage, we're just about where we'd like to be if we wanted to
-compile the kernel as it is, with no support for the Intuos3 or any of the
-Cintix range but if you've got an AthlonXP or a Pentium 4 you might get a
-little bit more performance out of it.
-
-We now want to be getting the latest linuxwacom-0.6.8.tar.bz2 You may want to
-setup your own arrangement for wherever you want it but your home directory
-should be fine and...
-
-tar jxvf linuxwacom-0.6.8.tar.bz2
-cd linuxwacom-0.6.8
-
-...and you're in the source directory for the code that enables proper Wacom
-support.
-
-Now we need to copy just four files, usbmouse.c has been deprecated in favour
-of hid-core.c and can be safely ignored, also we don't need to do anything to
-input.c. Now we copy all the necessary source files.
-
-cd src/2.6.11
-cp evdev.c mousedev.c /usr/src/linux/drivers/input/
-cp hid-core.c wacom.c /usr/src/linux/drivers/usb/input/
-
-Now, with the manual patching done everything should work and, unless I've
-somehow missed a stage, everything should compile just fine.
-
-cd /usr/src/linux
-make all
-
-Now, this is going to take a while, especially if your system's a bit aold
-like mine so now would be a good time to get some tea, coffee, go down the
-corner shop or have lunch.
-
-Assuming there have been no errors, everything should now be compiled.
-
-make modules_install
-make install
-
-You need to install the modules first or 'make install' will quit, complaining
-about there being no '/lib/modules/2.6.11-prep' and sulk in the corner.
-
-After all this, there's still one last thing you need to do and that's make
-this new kernel the default on boot. You will need to
-edit /boot/grub/menu.lst and change the 'default' value from 1 to 0.
-
-Those of you with nVidia and other such graphics cards who like their 3D
-acceleration will need to reinstall the drivers before X Windows will work.
-
-As it is, on reboot you will need to change the boot parameters. When Grub
-comes up, press a to alter the boot parameters. It is advisable at this stage
-to remove 'rhgb' as, one of the effects of running the Red Hat Graphical Boot
-is that if you want a change in the xorg.conf file to take effect you have to
-reboot the entire system and this just gets to be a PITA when you're trying
-to configure something. Then add '3' (without quotes) to the end of the line
-to make FC3 boot to the command line.
-
-Right, so by now we should have the kernel set up to recognise whatever tablet
-you have properly. We can check this.
-
-cat /proc/bus/usb/devices
-
-should give you a readout of every device on your usb system and we're looking
-for the line which includes Vendor=056a
-
-With my Intuos 3 I have ProdID 00b1, manufacturer is listed as 'Tablet' and
-Product is listed as PTZ-630 although this may differ depending on which
-tablet you have and what size it is.
-
-The most important line is the one beginning with I: which should end with
-'Driver=wacom'.
-
-If this is that case, congratulations, your kernel is now fully set up to
-recgonise your tablet :o)
-
-Now, to get it running with X Windows we need to update the wacom_drv driver
-and this, in itself is going to be different as the configuration script will
-not know where to find your x11 SDK and so will efuse to compile the driver.
-
-The xorg SDK in the case of FC3 is located in /usr/X11R6/lib/Server and we can
-tell the configuration script this
-
-./configure --with-xorg-sdk=/usr/X11R6/lib/Server
-
-should do the trick and
-
-make install
-
-should compile and install the module in the appropriate place.
-
-After all this is done, now all you need to do is setup the configuration
-in /etc/X11 xorg.conf
-
-The ServerLayout section is at the start of the configuration file and, as an
-example, mine looks like this:
-
-Section "ServerLayout"
- Identifier "Default Layout"
- Screen 0 "Screen0" 0 0
- InputDevice "Mouse0" "CorePointer"
- InputDevice "Keyboard0" "CoreKeyboard"
- InputDevice "eraser" "SendCoreEvents"
- InputDevice "stylus" "SendCoreEvents"
-EndSection
-
-Where Mouse3 and Mouse5 are the identifiers for the pen and eraser.
-
-My InputDevice sections look like this:
-
-Section "InputDevice"
- Identifier "eraser"
- Driver "wacom"
-# Option "TopX" "0"
-# Option "TopY" "0"
-# Option "BottomX" "1600"
-# Option "BottomY" "1200"
- Option "Device" "/dev/input/event3"
- Option "Type" "eraser"
- Option "USB" "On"
-EndSection
-
-Section "InputDevice"
- Identifier "stylus"
- Driver "wacom"
-# Option "TopX" "0"
-# Option "TopY" "0"
-# Option "BottomX" "1600"
-# Option "BottomY" "1200"
- Option "Device" "/dev/input/event3"
- Option "Type" "stylus"
- Option "USB" "On"
-EndSection
-
-It's important to note, at this point, that the TopX/Y and BottomX/Y options
-are not actually necessary unless you have problem with the detection of the
-tablet as all the lpi information is included in the source code for the
-wacom module so it's perfectly safe to leave these out if you don't know what
-the values should be.
-
-Also note, that at this stage I still don't have /dev/input/wacom and the
-tablet appears on /dev/input/event3
-
-If you're unsure as to which device your tablet is using, then wacdump should
-be able to find it. It is, to be honest, a bit trial and error but you'll
-know when you've found it as the readout will look like this:
-
-wacdump v0.5.2
-
-MODEL=Wacom Intuos3 6x8 ROM=1.0-2
-CLS=USB VNDR=Wacom DEV=Intuos3 SUB=PTZ-630
-
-
-
-
-TOOLTYPE=NONE IN_PROX=+00000 (+00000 .. +00000)
- BUTTON=+00000 (+00000 .. +00000) POS_X=+00000 (+00000 .. +40640)
- POS_Y=+00000 (+00000 .. +30480) ROT_Z=+00000 (-00900 .. +00899)
-DISTANCE=+00000 (+00000 .. +00015) PRESSURE=+00000 (+00000 .. +01023)
- TILT_X=+00000 (+00000 .. +00127) TILT_Y=+00000 (+00000 .. +00127)
-ABSWHEEL=+00000 (+00000 .. +01023) RELWHEEL=+00000 (-00001 .. +00001)
-THROTTLE=+00000 (-01023 .. +01023)
-
- LEFT= MIDDLE= RIGHT= EXTRA=
- SIDE= TOUCH= STYLUS= STYLUS2=
-
-
-Once you've setup all the configuration with the correct input device execute
-
-init 5; exit
-
-and you should find yourself in X with a fully working graphics tablet.
-Instructions for configuring GIMP 2.2 are the same as in the official HowTo.
-
-Good luck.
-
-regards, Paul
-
-</arch></arch></a></pre>
-<a name="susewacom">
-</a><h2><a name="susewacom">13.8 - Building wacom driver On Suse 9.2</a></h2>
-
-<a name="susewacom">Nico Kadel-Garcia has provided a changed SPEC file for SuSE 9.2.
-You can download the spec </a><a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1117278&amp;group_id=69596&amp;atid=525124">here</a>.
-
-<pre>
-"There are only a few needed changes: use the new
-software, throw out an old patch, teach it to use the right
-options for x86_64 compilation, and stop it from
-generating symlinks into /usr/include/X11 at compilation
-time, and it's done. ". Nico said on Mar 21 2005.
-
-</pre><a name="laptop">
-</a><h2><a name="laptop">13.9 - Laptop Suspend/Resume Tips</a></h2>
-<a name="laptop">Thomas Netter (tnetter at iniDOTunizhDOTc) kindly provided a solution
-to the following problem:
-
-</a><blockquote><pre><a name="laptop">When laptop recovers from suspend/resume, XFree86/X.org no longer
-registers the tablet. The laptop, however, receives all the tablet data
-(I can "cat /dev/input/event2" and see the data).
-
-The only way I know for X to recover the tablet is to restart X.
-</a></pre></blockquote>
-
-<a name="laptop">The peoblem lies in the step that when unplugging tablet cable while the
-laptop is entering Suspend Mode. The proper steps to plug/unplug, suspend/resume
-a Wacom tablet on a laptop are:
-
-</a><blockquote><pre><a name="laptop">- Fold the laptop's screen
-- Wait 4 or 5 seconds for the tablet's orange LED to extinguish
-- Unplug the tablet's USB cable
-
-THEN you can recover the tablet functionalities after resuming the
-laptop and repluging the tablet.
-
-However, If you:
-- Fold the laptop's screen
-- Immediately unplug the tablet's USB cable before the LED extinguishes
-
-THEN you cannot recover the tablet functionalities after resuming the
-laptop and replugging the tablet, even if you replug the tablet before
-resuming the laptop.
-
-Therefore, old airline operations apply: Extinguish LEDs before take-off!
-
--Thomas
-</a></pre></blockquote>
-<a name="lic">
-</a><h2><a name="lic">13.10 - GNU GENERAL PUBLIC LICENSE</a></h2>
-<a name="lic"> GNU GENERAL PUBLIC LICENSE<br>
- Version 2, June 1991<br>
-<br>
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.<br>
- 675 Mass Ave, Cambridge, MA 02139, USA<br>
- Everyone is permitted to copy and distribute verbatim copies<br>
- of this license document, but changing it is not allowed.<br>
-<br>
- Preamble<br>
-<br>
- </a><p><a name="lic"> The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
-</a></p><p><a name="lic"> When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-</a></p><p><a name="lic"> To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-</a></p><p><a name="lic"> For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
-</a></p><p><a name="lic"> We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-</a></p><p><a name="lic"> Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-</a></p><p><a name="lic"> Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-</a></p><p><a name="lic"> The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-</a></p><p><a name="lic"> 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-</a></p><p><a name="lic">Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-</a></p><p><a name="lic"> 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-</a></p><p><a name="lic">You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-</a></p><p><a name="lic"> 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-</a></p><p><a name="lic"> a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
-</a></p><p><a name="lic"> b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
-</a></p><p><a name="lic"> c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.
-
-</a></p><p><a name="lic">These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-</a></p><p><a name="lic">Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-</a></p><p><a name="lic">In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-</a></p><p><a name="lic"> 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-</a></p><p><a name="lic"> a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
-</a></p><p><a name="lic"> b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
-</a></p><p><a name="lic"> c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-</a></p><p><a name="lic">The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-</a></p><p><a name="lic">If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-</a></p><p><a name="lic"> 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-</a></p><p><a name="lic"> 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-</a></p><p><a name="lic"> 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-</a></p><p><a name="lic"> 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-</a></p><p><a name="lic">If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-</a></p><p><a name="lic">It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-</a></p><p><a name="lic">This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-</a></p><p><a name="lic"> 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-</a></p><p><a name="lic"> 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-</a></p><p><a name="lic">Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-</a></p><p><a name="lic"> 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
-</a></p><p><a name="lic"> 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-</a></p><p><a name="lic"> 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-</a></p></td></tr></tbody></table></center>
-
-<br><br>
-
-<div class="copy" align="center">
- Copyright (C) 2002-2009 - LinuxWacom -Last updated April 29, 2009<br>
- This website and its contents are licensed under the GNU GENERAL PUBLIC LICENSE.<br>
-</div>
-</body></html> \ No newline at end of file