summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpingc <pingc>2005-09-07 17:53:15 +0000
committerpingc <pingc>2005-09-07 17:53:15 +0000
commit5da0e68d596696e2d585cd5c55d3aab313851672 (patch)
tree040d386994520f69fa17d2e5ec0f4a750e1b4ed7
parent176cff822047f511a653125f919cd2e62f868ae2 (diff)
Updated wacdump and acinclude.m4
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog6
-rw-r--r--acinclude.m42
-rw-r--r--docs/docs.html4959
-rw-r--r--docs/docs_files/sflogo.pngbin2901 -> 2897 bytes
-rw-r--r--src/wacdump.c3
-rw-r--r--src/wactablet.c3
-rw-r--r--src/wactablet.h1
-rw-r--r--src/wacusb.c7
9 files changed, 2468 insertions, 2514 deletions
diff --git a/AUTHORS b/AUTHORS
index c5f53bd..d2f6b42 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -10,3 +10,4 @@ in discussion and development groups.
This project is being maintained by:
Ping Cheng <pingc@wacom.com>.
+
diff --git a/ChangeLog b/ChangeLog
index 9396abb..79bab50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-09-07 Ping Cheng <pingc@wacom.com>
+ * Updated wacdump for Cintiq 21UX
+ * Updated docs.html
+ * Updated acinclude.m4 to deal with version checking,
+ such as 2.6.12.4 (Tim Jedlicka)
+
2005-08-18 Ping Cheng <pingc@wacom.com>
* Merged patches for Volito2 and PL700
* Updated wacomcpl and configure.in
diff --git a/acinclude.m4 b/acinclude.m4
index ce75f07..d02355c 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -134,7 +134,7 @@ if test x$WCM_ENV_KERNEL = xyes; then
WCM_OPTION_MODVER=yes
AC_MSG_RESULT(yes)
moduts=`grep UTS_RELEASE $WCM_KERNELDIR/include/linux/version.h`
- ISVER=`echo $moduts | grep -c "2.4"`
+ ISVER=`echo $moduts | grep -c "\"2.4"`
if test "$ISVER" -gt 0; then
MINOR=`echo $moduts | cut -f 1 -d- | cut -f3 -d. | cut -f1 -d\" | sed 's/\([[0-9]]*\).*/\1/'`
if test $MINOR -ge 22; then
diff --git a/docs/docs.html b/docs/docs.html
index 100d8b1..accdeb2 100644
--- a/docs/docs.html
+++ b/docs/docs.html
@@ -1,339 +1,407 @@
-The Linux Wacom Project
-SourceForge.net Logo <http://sourceforge.net>
-
- Main </index.php/main> | News </index.php/news> | FAQ
-</index.php/faq> | Downloads </index.php/dl> | Documentation
-</index.php/doc> | Help </index.php/help> | Development
-<http://sourceforge.net/projects/linuxwacom> | TOC
-</index.php/toc> | All </index.php/all> Jun 16, 2005
-
-
- Linux Wacom Project HOWTO
-
-
-Navigation: MAIN </index.php/howto/main> NEXT
-</index.php/howto/copy> INDEX </index.php/howto/toc> *ALL*
-</index.php/howto/all>
-
-
-
-Copyright (C) 2002-2005 - LinuxWacom
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2
-or any later version published by the Free Software Foundation;
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled GNU
-Free Documentation License <#lic>.
-
-
-
- 1.0 - Introduction
-
-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
+<html><head><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 }
+--></style></head>
+<body topmargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0">
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tbody><tr><td valign="middle" align="center" class="head">
+<div class="title">The Linux Wacom Project </div>
+
+</td><td valign="middle" align="right" class="head" width="125"><a href="http://sourceforge.net/"><img border="0" src="docs_files/sflogo.png" width="125" height="37" alt="SourceForge.net Logo"></a></td></tr>
+</tbody></table>
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tbody><tr><td colspan="2" bgcolor="white"><img width="1" height="1" src="docs_files/null.gif"></td></tr>
+<tr><td colspan="2" bgcolor="#000066"><img width="1" height="4" src="docs_files/null.gif"></td></tr>
+<tr><td class="menu" align="center">
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/main">Main</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/news">News</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/faq">FAQ</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/dl">Downloads</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/doc">Documentation</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/help">Help</a>   |
+   <a class="menu" href="http://sourceforge.net/projects/linuxwacom">Development</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/toc">TOC</a>   |
+   <a class="menu" href="http://linuxwacom.sourceforge.net/index.php/all">All</a>  
+</td><td class="menu" align="right">Sep 06, 2005</td></tr>
+<tr><td colspan="2" bgcolor="#000066"><img width="1" height="4" src="docs_files/null.gif"></td></tr>
+<tr><td colspan="2" bgcolor="#aaaaaa"><img width="1" height="2" src="docs_files/null.gif"></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>   <a href="http://linuxwacom.sourceforge.net/index.php/howto/copy">NEXT</a>   <a href="http://linuxwacom.sourceforge.net/index.php/howto/toc">INDEX</a>   <a href="http://linuxwacom.sourceforge.net/index.php/howto/all"><b>ALL</b></a>   </center><br><br>
+<a name="copy">
+</a><center>
+<a name="copy">Copyright (C) 2002-2005 - LinuxWacom<br>
+<br>
+Permission is granted to copy, distribute and/or modify this document<br>
+under the terms of the GNU Free Documentation License, Version 1.2<br>
+or any later version published by the Free Software Foundation;<br>
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.<br>
+A copy of the license is included in the section entitled
+</a><a href="#lic">GNU<br>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: linuxwacom-discuss@lists.sf.net
-<mailto:linuxwacom-discuss@lists.sf.net?subject=LinuxWacom>.
-
-
- 1.1 - Success Stories
-
-This page documents different distributions tested by myself or reported
-from the users in the discussion mailing list. If you have success
-stories for a distribution or version not mentioned, let me know so I
-can update the page.
-
- * Redhat
- o Fedora Core 3 - tested on kernel 2.6.11-1.14_FC3 and X.org
- 6.8 (see Building wacom driver On Fedora Core 3 <#debwacom>)
- o Fedora Core 3 - tested on kernel 2.6.9 and X.org 6.8.1
- o Fedora Core 2 final - tested on kernel 2.6.5-1.358
- o Fedora Core 2 test1 - tested on kernel 2.6.1-1
- o Fedora Core 1 - tested on kernel ???
- o Redhat 9.0 - tested on kernel 2.6.2
- o Redhat 9.0 - tested on kernel 2.6.0
- o Redhat 9.0 - tested on kernel 2.4.24
- o Redhat 9.0 - tested on kernel 2.4.22
- o Redhat 9.0 - tested on kernel 2.4.20-6
- o Redhat 8.0 - tested on kernel 2.4.18-24.8.0
- o Redhat 8.0 - tested on kernel 2.4.18-19.8.0
- o Redhat 8.0 - tested on kernel 2.4.18-18.8.0
- o Redhat 8.0 - tested on kernel 2.4.18-17.8.0
- o Redhat 7.3 - tested on kernel 2.4.18-17.7.x
- o Redhat 7.2 - tested on kernel 2.4.18-17.7.x
- o Redhat Enterprise Linux - tested on kernel 2.4.21-4
- * Mandrake
- o Mandrake 10.0 - tested on 2.6.3 and X?
- o Mandrake 9.1
- o Mandrake 9.0 - tested on ???
- o Mandrake 8.2 - tested on kernel 2.4.18-6mdk
- * Gentoo
- o Gentoo 2005.0, Xorg-X11 6.8.2-r1, linux-2.6.11-gentoo-r6
- o Gentoo 2004.2, Xorg-X11 6.7.0, linux-2.6.8-rc3-mm2
- o Gentoo 2004.1, Xorg-X11 6.7.0, kernel 2.4.25
- o Gentoo 2004.1, Xorg-X11 6.7.0, kernel 2.6.5
- o Gentoo 1.4rc, XFree86 4.2.0, kernel 2.4.19
- o Gentoo 1.4, XFree86 4.3.0-r5, kernel 2.6.3 (*can not run
- wacomcpl and xsetwacom*)
- * Debian
- o Debian (sid) - XFree86 4.3 on 2.6.6 (see Installing wacom
- driver On Debian <#debwcmdrv>)
- o Debian (sid) - XFree86 4.3(?) on 2.6.0 (*can not run
- wacomcpl and xsetwacom*)
- o Mepis 200310 (Debian unstable) - XFree86 4.3 on 2.4.22
- o Debian Woody - XFree86 4.2 on 2.4.20
- o Debian Stable 3.0 - XFree86 4.3 on 2.4.18 (*can not run
- wacomcpl and xsetwacom*)
- o Debian Stable - XFree86 4.1
- * Slackware
- o Slackware 10.1, kernel 2.6.11-rc4, X.org 6.8.2
- o Slackware 10.0, kernel 2.4.26, X.org 6.7.0
- o Slackware 9.0
- o Slackware 8.1, (standard release)
- * SuSE
- o Suse Linux 9.2 Pro, kernel 2.6.8, X.org 6.8.1 (see Building
- wacom driver On Suse 9.2 <#susewacom>)
- o Suse Linux 9.1, kernel 2.6.5, XFree 4.3.99 (4.4.0 RC 2)
- o Suse Linux 9.1, kernel 2.6.4, XFree 4.3.99 (4.4.0 RC 2)
- o Suse Linux 8.0, kernel 2.4.18, XFree 4.2
- * FreeBSD
- o version 4.10, serial only
- * Source Mage
- o gcc 3.2.2, Linux 2.4.21-pre4-ac3, XFree86 4.2.1 and 4.3.0
- * PowerMac
- o Yellow Dog Linux 3.0.1 [Redhat variant for PPC] (see
- Building wacom driver On PowerMac <#ppcwcmdrv>)
-
-
- 1.2 - How To Use This Document
-
-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 ALL </index.php/howto/all> link and view the entire thing
-in one long page.
-
- Where the guide differs between distributions or packages, I have
- added a comment which appears indented with a light blue background.
-
-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.
-
-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
-configuration file (XF86Config or XF86Config-4), 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.
-
-Finally, if you know what you're doing, you can leave your X settings
+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="success">
+</a></p><h2><a name="success">1.1 - Success Stories</a></h2>
+<p><a name="success">This page documents different distributions tested by myself or
+reported from the users in the discussion mailing list. If you have
+success stories for a distribution or version not mentioned, let me
+know so I can update the page.
+
+</a></p><ul>
+<a name="success"> <li> Redhat
+ <ul>
+ <li> Fedora Core 3 - tested on kernel 2.6.11-1.14_FC3 and X.org 6.8 (see <a href="#debwacom">Building wacom driver On Fedora Core 3</a>)
+ </li><li> Fedora Core 3 - tested on kernel 2.6.9 and X.org 6.8.1
+ </li><li> Fedora Core 2 final - tested on kernel 2.6.5-1.358
+ </li><li> Fedora Core 2 test1 - tested on kernel 2.6.1-1
+ </li><li> Fedora Core 1 - tested on kernel ???
+ </li><li> Redhat 9.0 - tested on kernel 2.6.2
+ </li><li> Redhat 9.0 - tested on kernel 2.6.0
+ </li><li> Redhat 9.0 - tested on kernel 2.4.24
+ </li><li> Redhat 9.0 - tested on kernel 2.4.22
+ </li><li> Redhat 9.0 - tested on kernel 2.4.20-6
+ </li><li> Redhat 8.0 - tested on kernel 2.4.18-24.8.0
+ </li><li> Redhat 8.0 - tested on kernel 2.4.18-19.8.0
+ </li><li> Redhat 8.0 - tested on kernel 2.4.18-18.8.0
+ </li><li> Redhat 8.0 - tested on kernel 2.4.18-17.8.0
+ </li><li> Redhat 7.3 - tested on kernel 2.4.18-17.7.x
+ </li><li> Redhat 7.2 - tested on kernel 2.4.18-17.7.x
+ </li><li> Redhat Enterprise Linux - tested on kernel 2.4.21-4
+
+ </li></ul>
+ </li><li> Mandrake
+ <ul>
+ <li> Mandrake 10.0 - tested on 2.6.3 and X?
+ </li><li> Mandrake 9.1
+ </li><li> Mandrake 9.0 - tested on ???
+ </li><li> Mandrake 8.2 - tested on kernel 2.4.18-6mdk
+ </li></ul>
+ </li><li> Gentoo
+ <ul>
+ <li> Gentoo 2005.0, Xorg-X11 6.8.2-r1, linux-2.6.11-gentoo-r6
+ </li><li> Gentoo 2004.2, Xorg-X11 6.7.0, linux-2.6.8-rc3-mm2
+ </li><li> Gentoo 2004.1, Xorg-X11 6.7.0, kernel 2.4.25
+ </li><li> Gentoo 2004.1, Xorg-X11 6.7.0, kernel 2.6.5
+ </li><li> Gentoo 1.4rc, XFree86 4.2.0, kernel 2.4.19
+ </li><li> Gentoo 1.4, XFree86 4.3.0-r5, kernel 2.6.3 (<b>can not run wacomcpl and xsetwacom</b>)
+ </li></ul>
+ </li><li> Debian
+ <ul>
+ <li>Debian (sid) - XFree86 4.3 on 2.6.6 (see <a href="#debwcmdrv">Installing wacom driver On Debian</a>)
+ </li><li>Debian (sid) - XFree86 4.3(?) on 2.6.0 (<b>can not run wacomcpl and xsetwacom</b>)
+ </li><li>Mepis 200310 (Debian unstable) - XFree86 4.3 on 2.4.22
+ </li><li>Debian Woody - XFree86 4.2 on 2.4.20
+ </li><li>Debian Stable 3.0 - XFree86 4.3 on 2.4.18 (<b>can not run wacomcpl and xsetwacom</b>)
+ </li><li>Debian Stable - XFree86 4.1
+ </li></ul>
+ </li><li> Slackware
+ <ul>
+ <li>Slackware 10.1, kernel 2.6.11-rc4, X.org 6.8.2
+ </li><li>Slackware 10.0, kernel 2.4.26, X.org 6.7.0
+ </li><li>Slackware 9.0
+ </li><li>Slackware 8.1, (standard release)
+ </li></ul>
+ </li><li> SuSE
+ <ul>
+ <li>Suse Linux 9.2 Pro, kernel 2.6.8, X.org 6.8.1 (see <a href="#susewacom">Building wacom driver On Suse 9.2</a>)
+ </li><li>Suse Linux 9.1, kernel 2.6.5, XFree 4.3.99 (4.4.0 RC 2)
+ </li><li>Suse Linux 9.1, kernel 2.6.4, XFree 4.3.99 (4.4.0 RC 2)
+ </li><li>Suse Linux 8.0, kernel 2.4.18, XFree 4.2
+ </li></ul>
+ </li><li> Ubuntu
+ <ul>
+ <li>Ubuntu 5.04 (Hoary), kernel 2.6.10-5, X.Org 6.8.2-10
+ </li></ul>
+ </li><li> FreeBSD
+ <ul>
+ <li>version 4.10, serial only
+ </li></ul>
+ </li><li> Source Mage
+ <ul>
+ <li>gcc 3.2.2, Linux 2.4.21-pre4-ac3, XFree86 4.2.1 and 4.3.0
+ </li></ul>
+ </li><li> PowerMac
+ <ul>
+ <li>Yellow Dog Linux 3.0.1 [Redhat variant for PPC] (see
+ <a href="#ppcwcmdrv">Building wacom driver On PowerMac</a>)
+ </li></ul>
+</li></a></ul>
+<a name="howto">
+</a><h2><a name="howto">1.2 - 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 configuration file
+(XF86Config or XF86Config-4),
+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. The newer packages should have an HTML version of this document
-in the docs directory. And of course, there's always lynx
-<http://lynx.isc.org/> for the gurus out there, which is why this
-document is written out in plain vanilla HTML.
-
-
- 1.3 - Resources and References
-
-The Linux Wacom Project <http://linuxwacom.sourceforge.net> This site
-hosts the current version of this document as well as drivers,
-development tools, and mailing lists.
-Lepied's Wacom XInput driver for XFree86
-<http://people.mandrakesoft.com/~flepied/projects/wacom/> This page
-contains the original driver and some additional help for serial tablet
-users.
-Lepied's Wacom Mailing List Archive
-<http://www.lepied.com/archive_wacom.html> This is an archive of
-Lepied's driver mailing list. This list is mostly deprecated, with new
-lists being available at SourceForge.net. Also, you are forewarned that
-posting directly to the mailing list web page does not mail to the list.
-Many posts are missed this way.
-Subscribe to Lepied's Wacom Mailing List
-<mailto:wacom-subscribe@lepied.com> If you want to post to the old list,
-this link will subscribe you. All new traffic, including announcements,
-discussion, and development related issues is now on the
-linuxwacom-announce, linuxwacom-discuss, and linuxwacom-devel mailing
-lists hosted at SourceForge. See the Linux Wacom Project
-<http://linuxwacom.sourceforge.net> web page for details.
-Dean Townsley's Linux on the Acer Travelmate C100
-<http://prometheus.physics.ucsb.edu/~dean/TmC100 /AcerTmC100.html> This
-page contains the steps to setup, install, and configure an Acer
-Travelmate C100, one of the Tablet PCs with Wacom digitizer.
-Stefan Runkel's Wacom Tablet HOWTO
-<http://www.runkel-it.de/wacom_tablet_howto.html> This page is a bit
-old, but it covers a lot of details that I mention only briefly. Good
-reading, even if it is possibly outdated.
-Wacom Webpage <http://www.wacom.com> The Wacom web site contains little
-information about the Linux drivers, but you can look at their nifty new
-tablets.
-pxh: Graphire USB <http://www.pxh.de/fs/graphire/> This page is devoted
-to a Graphire-specific XFree86 driver.
-A Webpage Dealing with Cintiq (Wacom PL-500 in particular) on Linux
-<http://homepages.feis.herts.ac.uk/~bt7al/wcm/> This website deals with
-getting the Cintiq running. Code for the serial and USB Cintiq tablets
-is available in linuxwacom 0.5.4-beta and 0.6.0.
-Wacom Intuos USB Micro-HOWTO <http://sem.best.vwh.net/linux/wacom/> An
-older webpage which may not be relevent anymore, but was useful to me
-when I got started.
-Wacom Intuos USB on Linux
-<http://www.ecn.wfu.edu/~cottrell/thinkpad/tpa21m/wacom.html> Another
-page that was useful to me when I started.
-Wacom Software Developer Support
-<http://www.wacomeng.com/devsupport/index.html> This page contains some
-documentation for the older tablets.
-
-
- 1.4 - Wacom Driver Theory of Operation
-
-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.
-
-*Serial Tablet Operation - The Short Story*
-
-When a Wacom serial tablet is connected to a COM port, software can
+console. The newer packages should have an HTML version of this
+document in the docs directory. And of course, there's always
+<a href="http://lynx.isc.org/">lynx</a> for the gurus out there, which is
+why this document is written out in plain vanilla HTML.
+<a name="resources">
+</a></p><h2><a name="resources">1.3 - Resources and References</a></h2>
+
+<table border="0" cellspacing="5">
+
+<tbody><tr><td valign="top"><a href="http://linuxwacom.sourceforge.net/">The
+Linux Wacom Project</a></td><td>This site hosts the current version of this
+document as well as drivers, development tools, and mailing lists.</td></tr>
+
+<tr><td valign="top"><a href="http://people.mandrakesoft.com/%7Eflepied/projects/wacom/">Lepied's Wacom XInput
+driver for XFree86</a></td><td>This page contains the original driver and
+some additional help for serial tablet users.</td></tr>
+
+<tr><td valign="top"><a href="http://www.lepied.com/archive_wacom.html">Lepied's
+Wacom Mailing List Archive</a></td><td>This is an archive of Lepied's driver
+mailing list. This list is mostly deprecated, with new lists being available
+at SourceForge.net. Also, you are forewarned that posting directly to the
+mailing list web page does not mail to the list. Many posts are missed this
+way.</td></tr>
+
+<tr><td valign="top"><a href="mailto:wacom-subscribe@lepied.com">Subscribe to
+Lepied's Wacom Mailing List</a></td><td>If you want to post to the old list,
+this link will subscribe you. All new traffic, including announcements,
+discussion, and development related issues is now on the linuxwacom-announce,
+linuxwacom-discuss, and linuxwacom-devel mailing lists hosted at SourceForge.
+See the <a href="http://linuxwacom.sourceforge.net/">Linux Wacom Project</a>
+web page for details.</td></tr>
+
+<tr><td valign="top"><a href="http://prometheus.physics.ucsb.edu/%7Edean/TmC100/AcerTmC100.html">Dean Townsley's Linux on the Acer Travelmate C100</a></td><td>
+This page contains the steps to setup, install, and configure an Acer Travelmate
+C100, one of the Tablet PCs with Wacom digitizer.</td></tr>
+
+<tr><td valign="top">
+<a href="http://www.runkel-it.de/wacom_tablet_howto.html">Stefan Runkel's
+Wacom Tablet HOWTO</a></td><td>This page is a bit old, but it covers
+a lot of details that I mention only briefly. Good reading, even if it
+is possibly outdated.</td></tr>
+
+<tr><td valign="top"><a href="http://www.wacom.com/">Wacom Webpage</a></td>
+<td>The Wacom web site contains little information about the Linux drivers,
+but you can look at their nifty new tablets.</td></tr>
+
+<tr><td valign="top"><a href="http://www.pxh.de/fs/graphire/">pxh: Graphire
+USB</a></td><td>This page is devoted to a Graphire-specific XFree86
+driver.</td></tr>
+
+<tr><td valign="top"><a href="http://homepages.feis.herts.ac.uk/%7Ebt7al/wcm/">A
+Webpage Dealing with Cintiq (Wacom PL-500 in particular) on Linux</a></td>
+<td>This website deals with getting the Cintiq running. Code for the serial
+and USB Cintiq tablets is available in linuxwacom 0.5.4-beta and 0.6.0.</td></tr>
+
+<tr><td valign="top"><a href="http://sem.best.vwh.net/linux/wacom/">Wacom
+Intuos USB Micro-HOWTO</a></td><td>An older webpage which may not be relevent
+anymore, but was useful to me when I got started.</td></tr>
+
+<tr><td valign="top">
+<a href="http://www.ecn.wfu.edu/%7Ecottrell/thinkpad/tpa21m/wacom.html">Wacom
+Intuos USB on Linux</a></td><td>Another page that was useful to me when I
+started.</td></tr>
+
+<tr><td valign="top"><a href="http://www.wacomeng.com/devsupport/index.html">Wacom
+Software Developer Support</a></td><td>This page contains some documentation
+for the older tablets.</td></tr>
+</tbody></table><a name="theory">
+</a><h2><a name="theory">1.4 - 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,
+/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.
-Wacom tablets are capable of handling a number of different data
+</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
+Wacom Protocol IV and Protocol V. Each operates with a fixed-sized
packet, the length of which depends on the model and ROM version.
-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">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.
-Once configured, the tablet streams data back to the application as
+</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.
-*USB Tablet Operation - The Long Story*
+<br><br>
-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"><b>USB Tablet Operation - The Long Story</b>
-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
+</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
+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.
-
-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.
-
-By breaking the responsibility for the data into three distinct levels,
+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.
+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.
-*Embedded Device Operation - Tablet PC with Wacom Digitizer*
+<br><br>
+</a></p><p><a name="theory"><b>Embedded Device Operation - Tablet PC with Wacom Digitizer</b>
-The Wacom digitizers embedded in Tablet PCs utilitizes a special
-protocol IV, ISDV4. Similar to the conventional serial tablets, tablet
-PCs use a serial controller (UART). But, normally, they are not set to
-any serial ports. They are effectively serial devices, but require
+</a></p><p><a name="theory">The Wacom digitizers embedded in Tablet PCs utilitizes a special
+protocol IV, ISDV4. Similar to the conventional serial tablets,
+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.
-
- 2.0 - Getting It Together
-
-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><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.
In some cases, your distribution may have automatically loaded certain
-modules which you will now need to unload. 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 configuration file.
-
-Incidentally, some distributions detect new hardware on boot. If you
-allow Redhat's "anaconda" for instance to automatically configure (or
-remove) your USB tablet, it may undo some of the settings you will make
-here. Until Redhat's installation program recognizes Wacom tablets as
-non-HID devices by default, you are best off in my opinion to /not/
-allow it to configure the device. Just a warning.
-
-
- 2.1 - Before We Start
-
-From the beginning, let's make certain that we are on the same page.
-First, unplug your serial or USB Wacom. If you have Wacom related lines
-in your XF86Config or XF86Config-4 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.
-
-It would be a wise idea at this time to check your XFree 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
+modules which you will now need to unload.
+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
+configuration file.
+
+</a></p><p><a name="starthere"> Incidentally, some distributions detect new hardware on boot. If you
+allow Redhat's "anaconda" for instance
+to automatically configure (or remove) your USB tablet, it may undo some of
+the settings you will make here. Until Redhat's installation program
+recognizes Wacom tablets as non-HID devices by default, you are best off in
+my opinion to <i>not</i> allow it to configure the device. Just a warning.
+</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, unplug your serial or USB Wacom. If you have Wacom
+related lines in your XF86Config or XF86Config-4 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 XFree 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.
-The remaining instructions deal with unloading old USB driver modules
-from the kernel. Serial users can skip forward to the Downloading the
-Code <#download> page.
+</a></p><p><a name="beforestart">The remaining instructions deal with unloading old USB driver modules
+from the kernel. Serial users can skip forward to the
+</a><a href="#download">Downloading the Code</a> page.
-USB users should unload the old modules.
+</p><p>USB users should unload the old modules.
-[jej@ayukawa jej]$ su -
+</p><blockquote><pre>[jej@ayukawa jej]$ su -
[root@ayukawa root]# lsmod | grep wacom
-*wacom* 8020 0 (unused)
-input 5920 0 [*evdev* *wacom* mousedev keybdev hid]
-usbcore 77024 1 [*wacom* usb-storage snd printer hid usb-uhci]
+<b>wacom</b> 8020 0 (unused)
+input 5920 0 [<b>evdev</b> <b>wacom</b> mousedev keybdev hid]
+usbcore 77024 1 [<b>wacom</b> usb-storage snd printer hid usb-uhci]
[root@ayukawa root]# rmmod wacom evdev
+</pre></blockquote>
-The kernel now knows nothing about the Wacom or how to handle
-event-based input devices. If you get an error unloading (busy driver
-perhaps), try rebooting.
+The kernel now knows nothing about the Wacom or how to handle event-based
+input devices. If you get an error unloading (busy driver perhaps), try
+rebooting.<br>
-Check the presence of the input devices in the /dev/input directory. You
-should find approximately 114 devices with names such as event*, mouse*,
+<p>Check the presence of the input devices in the /dev/input directory.
+You should find approximately 114 devices with names such as event*, mouse*,
keyboard, js*, and ttyACM*.
- On some distributions, Mandrake 9.0 for instance, the /dev directory
- is managed by devfs; Redhat 8.0 does not use it. When devfs is
- running, the /dev/input directory may be present, but its contents
- may be missing if the evdev driver is not loaded. This is perfectly
- fine. If you are not using devfs and the /dev/input directory or
- mouse0/event0 devices are not present, your distribution may be
- lacking these devices. This could be an oversight, or it could be an
- indication that your distribution is too old. I believe you can
- verify whether devfs is running by executing /mount/ and looking for
- "none on /dev type devfs (rw)" or similar.
+</p><blockquote><div class="diff">
+<p>On some distributions, Mandrake 9.0 for instance, the /dev directory is
+managed by devfs; Redhat 8.0 does not use it. When devfs is running, the
+/dev/input directory may be present, but its contents may be missing if
+the evdev driver is not loaded. This is perfectly fine. If you are not
+using devfs and the /dev/input directory or mouse0/event0 devices are not
+present, your distribution may be lacking these devices. This could be an
+oversight, or it could be an indication that your distribution is too old.
+I believe you can verify whether devfs is running by executing <i>mount</i>
+and looking for "none on /dev type devfs (rw)" or similar.
+</p></div></blockquote>
+
We are interested in two devices, mouse0 and event0.
-[root@ayukawa root]# cd /dev/input
+<blockquote><pre>[root@ayukawa root]# cd /dev/input
[root@ayukawa input]# ls -la mouse0 event0
crw------- 1 root root 13, 64 Aug 30 16:31 event0
crw------- 1 root root 13, 32 Aug 30 16:31 mouse0
@@ -341,380 +409,298 @@ crw------- 1 root root 13, 32 Aug 30 16:31 mouse0
xxd: mouse0: No such device
[root@ayukawa input]# xxd event0
xxd: event0: No such device
-
-If after executing /xxd mouse0/ you *did not* receive the "xxd: mouse0:
-No such device" message, then the input device is still loaded; go back
-and try running /rmmod evdev/ again. Once the new drivers are compiled
-and installed, this command will stream information from the Wacom
-tablet. mouse0 behaves like a PS/2 style mouse. event0 provides
-extensive information about the tablet including position, tilt,
-pressure, and buttons. It can also track two different tools
-simultaneously (Intuos and Intuos2).
-
-
- 2.2 - Downloading the Code
-
-The file linuxwacom-0.6.8.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2>
-is the stable package and contains files that you will need to get your
-serial or USB tablet working. The current beta package
-linuxwacom-0.6.7.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.7.tar.bz2>
-is also available and may be used by people who are willing to risk an
-occasional kernel panic 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.
-
-Unpacking the tarball is usually a one-step process, but I show both
+</pre></blockquote>
+
+<p>If after executing <i>xxd mouse0</i> you <b>did not</b>
+receive the "xxd: mouse0: No such device" message, then the input device
+is still loaded; go back and try running <i>rmmod evdev</i> again.
+Once the new drivers are compiled and installed, this command will stream
+information from the Wacom tablet. mouse0 behaves like a PS/2 style mouse.
+event0 provides extensive information about the tablet including position,
+tilt, pressure, and buttons. It can also track two different tools
+simultaneously (Intuos and Intuos2).<br>
+<a name="download">
+</a></p><h2><a name="download">2.2 - Downloading the Code</a></h2>
+<a name="download">The file </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2">linuxwacom-0.6.8.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.6.9.tar.bz2">linuxwacom-0.6.9.tar.bz2</a> is also available and may be
+used by people who are willing to risk an occasional kernel panic 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>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.
-[jej@ayukawa jej]$ bunzip2 linuxwacom-0.6.8.tar.bz2
+</p><blockquote><pre>[jej@ayukawa jej]$ bunzip2 linuxwacom-0.6.8.tar.bz2
[jej@ayukawa jej]$ tar -xf linuxwacom-0.6.8.tar
-[jej@ayukawa jej]$ cd linuxwacom-0.6.8
-
-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.
-
-If you are interested, the following tables contain the package contents
-and release dates. Otherwise, let's continue.
-
-
- Stable files included for linuxwacom-0.6.8:
-
-File Comment
-configure - configure script for distribution independent builds
-prebuilt/wacom_drv.o_4.2k2.4 - binary XFree86 wacom driver for XFree86
-4.2 and kernel 2.4
-prebuilt/wacom_drv.o_4.2k2.6 - binary XFree86 wacom driver for XFree86
-4.2 and kernel 2.6
-prebuilt/wacom_drv.o_4.3k2.4 - binary XFree86 wacom driver for XFree86
-4.3 and kernel 2.4
-prebuilt/wacom_drv.o_4.3k2.6 - binary XFree86 wacom driver for XFree86
-4.3 and kernel 2.6
-prebuilt/wacom_drv.o_4.4k2.4 - binary XFree86 wacom driver for XFree86
-4.4 and kernel 2.4
-prebuilt/wacom_drv.o_4.4k2.6 - binary XFree86 wacom driver for XFree86
-4.4 and kernel 2.6
-prebuilt/wacom_drv.o_6.7k2.4 - binary X wacom driver for X11R6 6.7 and
-kernel 2.4
-prebuilt/wacom_drv.o_6.7k2.6 - binary X wacom driver for X11R6 6.7 and
-kernel 2.6
-prebuilt/wacom_drv.o_6.8k2.4 - binary X wacom driver for X11R6 6.8 and
-kernel 2.4
-prebuilt/wacom_drv.o_6.8k2.6 - binary X wacom driver for X11R6 6.8 and
-kernel 2.6
-src/wacom.c - a stable, working kernel driver
-src/wacdump.c - a simple program for displaying tablet event data
-directly using ncurses
-src/xidump.c - a diagnostic program for displaying XInput event data
-src/wacscrn.c - curses library for wacdump
-src/wactablet.c - wacom tablet library for wacdump
-src/wacusb.c - wacom USB protocol library for wacdump
-src/wacserial.c - wacom serial protocol library for wacdump
-src/wactablet.h - wacom tablet library for wacdump
-src/wacusb.h - wacom USB protocol library for wacdump
-src/wacserial.h - wacom serial protocol library for wacdump
-src/2.4/usbmouse.c - replacement kernel driver for kernel older than
-2.4.22 (tested on 2.4.18/19/20), use only if needed
-src/2.4/hid-core.c - replacement kernel driver for kernel older than
-2.4.22 (tested on 2.4.18/19/20), use only if needed
-src/2.4/evdev.c - replacement kernel driver for kernel older than 2.4.22
-(tested on 2.4.18/19/20), use only if needed
-src/2.4/mousedev.c - replacement kernel driver for kernel older than
-2.4.22 (tested on 2.4.18/19/20), use only if needed
-src/2.4/input.c - replacement kernel driver for kernel older than 2.4.22
-(tested on 2.4.18/19/20), use only if needed
-src/2.4.22/usbmouse.c - replacement kernel driver for kernel 2.4.22 or
-newer (tested on 2.4.22/23/24), use only if needed
-src/2.4.22/hid-core.c - replacement kernel driver for kernel 2.4.22 or
-newer (tested on 2.4.22/23/24), use only if needed
-src/2.4.22/evdev.c - replacement kernel driver for kernel 2.4.22 or
-newer (tested on 2.4.22/23/24), use only if needed
-src/2.4.22/mousedev.c - replacement kernel driver for kernel 2.4.22 or
-newer (tested on 2.4.22/23/24), use only if needed
-src/2.4.22/input.c - replacement kernel driver for kernel 2.4.22 or
-newer (tested on 2.4.22/23/24), use only if needed
-src/2.6/usbmouse.c - replacement kernel driver for kernel 2.6.0/1
-(tested on 2.6.0), use only if needed
-src/2.6/hid-core.c - replacement kernel driver for kernel 2.6.0/1
-(tested on 2.6.0), use only if needed
-src/2.6/evdev.c - replacement kernel driver for kernel 2.6.0/1 (tested
-on 2.6.0), use only if needed
-src/2.6/mousedev.c - replacement kernel driver for kernel 2.6.0/1
-(tested on 2.6.0), use only if needed
-src/2.6.x/usbmouse.c - replacement kernel driver for kernel 2.6.x where
-x can be 2 to 11, use only if needed
-src/2.6.x/hid-core.c - replacement kernel driver for kernel 2.6.x where
-x can be 2 to 11, use only if needed
-src/2.6.x/evdev.c - replacement kernel driver for kernel 2.6.x where x
-can be 2 to 11, use only if needed
-src/2.6.x/mousedev.c - replacement kernel driver for kernel 2.6.x where
-x can be 2 to 11, use only if needed
-src/xf86Wacom.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. Binary available in prebuilt directory.
-src/xf86Wacom.h - source for wacom_drv.o; requires XFree86 build
-environment to compile.
-src/wcmCommon.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. Common to USB and serial tablets
-src/wcmCompat.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. XFree86 4.x support
-src/wcmConfig.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. Configuration setup
-src/wcmFilter.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. Raw data filters
-src/wcmFilter.h - source for wacom_drv.o; requires XFree86 build
-environment to compile. Raw data filters
-src/wcmISDV4.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. General Tablet PC
-src/wcmSerial.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. Serial tablet support
-src/wcmSerial.h - source for wacom_drv.o; requires XFree86 build
-environment to compile. Serial tablet support
-src/wcmUSB.c - source for wacom_drv.o; requires XFree86 build
-environment to compile. USB tablet support
-src/xsetwacom.c - a command line configuration tool for wacom XFree86 driver
-src/wacomcfg.c - configuration option library for xsetwacom
-src/Xwacom.h - configuration option library for xsetwacom
-src/wacomxi/wacomcpl-exec - a graphic configuration tool for wacom
-XFree86 driver
-src/wacomxi/wacomxi.c - calibration library for xsetwacom
-src/wacomxi/wacomxi.h - calibration library for xsetwacom
-prebuilt/install - installer for the executables and XFree86 wacom
-driver to a system identical to the development system.
-prebuilt/uninstall - unistaller for the executables
-GPL - the GNU General Public License, in case you did not already have
-twenty or more lying around
-
-
- Stable Packages by Version and Date:
-
-File Date Comment
-linuxwacom-0.6.8.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2>
-- 2004-05-05 Support Cintiq 21UX and kernel 2.6.11.
-linuxwacom-0.6.6.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.6.tar.bz2>
-- 2004-12-01 Build .ko locally and support kernel 2.6.10.
-linuxwacom-0.6.4.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.4.tar.bz2>
-- 2004-08-06 Updated wacusb.c and fixed USB tablet protocol V dual input
-bug.
-linuxwacom-0.6.3.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.3.tar.bz2>
-- 2004-05-25 Fixed tool on tablet and relative speed bugs.
-linuxwacom-0.6.2.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.2.tar.bz2>
-- 2004-04-02 Fixed DoubleSpeed, DoubleRadius, and TwinView issues.
-linuxwacom-0.6.1.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.1.tar.bz2>
-- 2004-03-02 added wacomcpl, support kernel 2.4.24 and 2.6.2/3
-linuxwacom-0.6.0.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.0.tar.bz2>
-- 2004-02-04 added wacomcpl, support kernel 2.4.22 and 2.6.0
-linuxwacom-0.4.1.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.4.1.tar.gz>
-- 2003-03-22 added xidump, checks for ncurses
-linuxwacom-0.4.0.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.4.0.tar.gz>
-- 2003-01-31 production release from 0.3.7-beta
-
-
- Beta Packages by Version and Date:
-
-File Date Comment
-linuxwacom-0.6.7.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.7.tar.bz2>
-- 2005-03-28 Added Cintiq 21UX and kernel 2.6.11 support.
-linuxwacom-0.6.5.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.5.tar.bz2>
-- 2004-11-05 Added Intuos3 support.
-linuxwacom-0.5.4-beta.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.4-beta.tar.bz2>
-- 2003-12-22 General Tablet PC support. 2.6.0 kernel support.
-linuxwacom-0.5.3-beta.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.3-beta.tar.gz>
-- 2003-11-12 Added wacomcpl utility. 2.4.22 kernel support. TwinView
-support.
-linuxwacom-0.5.2-beta.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.2-beta.tar.gz>
-- 2003-07-10 Fixed Intuos filter code. 2.5 kernel support. Minor bug fixes.
-linuxwacom-0.5.1-beta.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.1-beta.tar.gz>
-- 2003-06-15 Completely refactored data path, configurability.
-linuxwacom-0.5.0-beta.tar.gz
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.5.0-beta.tar.gz>
-- 2003-02-12 Updated PL code. Numerous tweaks.
-
-
- 2.3 - Configuring the Package
-
-
- The Configure Script
-
-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.
-
-Versions of linuxwacom-0.2.1 and greater are based on GNU's configure
-script based build environment. By default, xidump, wacdump, xsetwacom,
-and wacomcpl are built. Additional options include replacement kernel
-drivers for hid, mousedev, evdev, and usbmouse as well as building the
-XFree86 driver from scratch. Lastly, remember that for every --enable
-option, there is also an equivalent --disable option.
-
-The configuration options are listed on this page. You can also see the
-online list by issuing /./configure -help/ under linuxwacom's base
-directory.
-
-
- Building Kernel Modules - USB Only
-
-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.
-
-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`/build. If your kernel sources are elsewhere, you
-will need to specify the directory with the --with-kernel option
-described below.
-
-For kernel 2.6, you need to configure the kernel modules (wacom, hid,
-mousedev, usbmouse, evdev) under your kernel source directory before
-configuring linuxwacom.
-
-
- Module Versioning - USB Only
-
-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
-d etermine if kernel module versioning should be enabled or not, in
-which case it will say "unknown, assuming no."
-
-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.
-
-
- The XFree86 XInput Driver - USB and Serial
-
-Generally, you will not need to build wacom_drv.o since it ships in
-binary form in the prebuilt directory. There are 5 prebuilt binaries for
-XFree86 4.2, 4.3, 4.4, and Xorg 6.7 and 6.8 corresponding to kernel 2.4
-and 2.6, respectively. If no one works for you, building from source may
-be your only option. See the Building wacom_drv.o from Scratch
-<#builddrv> page for more information.
-
-
- Library Dependencies - ncurses and XLib
-
-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.
-
-Similarly, if you wish to test your tablet using xidump to view XFree86
-input events, you will need the XFree86 development headers. On Redhat,
-they are contained in the XFree86-devel package.
-
-If any packages are missing, the configuration will warn you and disable
-building any programs that depend on them.
-
-
- Processor Type
-
-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.
-
-
- Linux Specific Features
-
-The Linux wacom driver uses the Linux input subsystem, as does the USB
-portions of the XFree86 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
+[jej@ayukawa jej]$ cd linuxwacom-0.6.8</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.6.8:</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/wacom_drv.o_4.2</td><td valign="top">- binary Wacom X driver for XFree86 4.2</td></tr>
+<tr><td valign="top">prebuilt/wacom_drv.o_4.3</td><td valign="top">- binary Wacom X driver for XFree86 4.3</td></tr>
+<tr><td valign="top">prebuilt/wacom_drv.o_4.4</td><td valign="top">- binary Wacom X driver for XFree86 4.4</td></tr>
+<tr><td valign="top">prebuilt/wacom_drv.o_4.5</td><td valign="top">- binary Wacom X driver for XFree86 4.5</td></tr>
+<tr><td valign="top">prebuilt/wacom_drv.o_xorg</td><td valign="top">- binary Wacom X driver for X11R6 (xorg.org)</td></tr>
+<tr><td valign="top">src/wacom.c</td><td valign="top">- a stable, working kernel driver </td></tr>
+<tr><td valign="top">src/wacdump.c</td><td valign="top">- a simple program for displaying tablet event data directly using ncurses</td></tr>
+<tr><td valign="top">src/xidump.c</td><td valign="top">- a diagnostic program for displaying XInput event data</td></tr>
+<tr><td valign="top">src/wacscrn.c</td><td valign="top">- curses library for wacdump</td></tr>
+<tr><td valign="top">src/wactablet.c</td><td valign="top">- wacom tablet library for wacdump</td></tr>
+<tr><td valign="top">src/wacusb.c</td><td valign="top">- wacom USB protocol library for wacdump</td></tr>
+<tr><td valign="top">src/wacserial.c</td><td valign="top">- wacom serial protocol library for wacdump</td></tr>
+<tr><td valign="top">src/wactablet.h</td><td valign="top">- wacom tablet library for wacdump</td></tr>
+<tr><td valign="top">src/wacusb.h</td><td valign="top">- wacom USB protocol library for wacdump</td></tr>
+<tr><td valign="top">src/wacserial.h</td><td valign="top">- wacom serial protocol library for wacdump</td></tr>
+<tr><td valign="top">src/2.4/usbmouse.c</td><td valign="top">- replacement kernel driver for kernel older than 2.4.22 (tested on 2.4.18/19/20), use only if needed</td></tr>
+<tr><td valign="top">src/2.4/hid-core.c</td><td valign="top">- replacement kernel driver for kernel older than 2.4.22 (tested on 2.4.18/19/20), use only if needed</td></tr>
+<tr><td valign="top">src/2.4/evdev.c</td><td valign="top">- replacement kernel driver for kernel older than 2.4.22 (tested on 2.4.18/19/20), use only if needed</td></tr>
+<tr><td valign="top">src/2.4/mousedev.c</td><td valign="top">- replacement kernel driver for kernel older than 2.4.22 (tested on 2.4.18/19/20), use only if needed</td></tr>
+<tr><td valign="top">src/2.4/input.c</td><td valign="top">- replacement kernel driver for kernel older than 2.4.22 (tested on 2.4.18/19/20), use only if needed</td></tr>
+<tr><td valign="top">src/2.4.22/usbmouse.c</td><td valign="top">- replacement kernel driver for kernel 2.4.22 or newer (tested on 2.4.22/23/24), use only if needed</td></tr>
+<tr><td valign="top">src/2.4.22/hid-core.c</td><td valign="top">- replacement kernel driver for kernel 2.4.22 or newer (tested on 2.4.22/23/24), use only if needed</td></tr>
+<tr><td valign="top">src/2.4.22/evdev.c</td><td valign="top">- replacement kernel driver for kernel 2.4.22 or newer (tested on 2.4.22/23/24), use only if needed</td></tr>
+<tr><td valign="top">src/2.4.22/mousedev.c</td><td valign="top">- replacement kernel driver for kernel 2.4.22 or newer (tested on 2.4.22/23/24), use only if needed</td></tr>
+<tr><td valign="top">src/2.4.22/input.c</td><td valign="top">- replacement kernel driver for kernel 2.4.22 or newer (tested on 2.4.22/23/24), use only if needed</td></tr>
+<tr><td valign="top">src/2.6/usbmouse.c</td><td valign="top">- replacement kernel driver for kernel 2.6.0/1 (tested on 2.6.0), use only if needed</td></tr>
+<tr><td valign="top">src/2.6/hid-core.c</td><td valign="top">- replacement kernel driver for kernel 2.6.0/1 (tested on 2.6.0), use only if needed</td></tr>
+<tr><td valign="top">src/2.6/evdev.c</td><td valign="top">- replacement kernel driver for kernel 2.6.0/1 (tested on 2.6.0), use only if needed</td></tr>
+<tr><td valign="top">src/2.6/mousedev.c</td><td valign="top">- replacement kernel driver for kernel 2.6.0/1 (tested on 2.6.0), use only if needed</td></tr>
+<tr><td valign="top">src/2.6.x/usbmouse.c</td><td valign="top">- replacement kernel driver for kernel 2.6.x where x can be 2 to 11, use only if needed</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 2 to 11, use only if needed</td></tr>
+<tr><td valign="top">src/2.6.x/evdev.c</td><td valign="top">- replacement kernel driver for kernel 2.6.x where x can be 2 to 11, use only if needed</td></tr>
+<tr><td valign="top">src/2.6.x/mousedev.c</td><td valign="top">- replacement kernel driver for kernel 2.6.x where x can be 2 to 11, use only if needed</td></tr>
+<tr><td valign="top">src/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/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/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/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/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/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/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/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/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/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/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/xsetwacom.c</td><td valign="top">- a command line configuration tool for Wacom X driver</td></tr>
+<tr><td valign="top">src/wacomcfg.c</td><td valign="top">- configuration option library for xsetwacom</td></tr>
+<tr><td valign="top">src/Xwacom.h</td><td valign="top">- configuration option library for xsetwacom</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">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">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.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.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="config">
+</a><h2><a name="config">2.3 - Configuring the Package</a></h2>
+
+<h3><a name="config">The Configure Script</a></h3>
+
+<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 kernel drivers for hid, mousedev, evdev,
+and usbmouse as well as building the XFree86 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><h3><a name="config">Building Kernel Modules - USB Only</a></h3>
+
+<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><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`/build. 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 kernel 2.6, you need to configure the kernel modules (wacom, hid,
+mousedev, usbmouse, evdev) under your kernel source directory before configuring
+linuxwacom.
+
+</a></p><h3><a name="config">Module Versioning - USB Only</a></h3>
+
+<p><a name="config">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 d
+etermine if kernel module versioning should be enabled or not, in which case
+it will say "unknown, assuming no."
+
+</a></p><p><a name="config">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.
+
+</a></p><h3><a name="config">The XFree86/Xorg XInput Driver - USB and Serial</a></h3>
+
+<p><a name="config">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 4.2, 4.3, 4.4, and Xorg 6.7 and 6.8 corresponding to kernel 2.4 and
+2.6, respectively. If no one works for you, building from source may be your
+only option. See the </a><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 input events, you will need the XFree86 development headers.
+On Redhat, they are contained in the XFree86-devel 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 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 driver, the problem is largely unsolved. Contributions are of
-course welcome. The Linux-specific features can be enabled/disabled
+XFree86 driver, the problem is largely unsolved. Contributions are of
+course welcome. The Linux-specific features can be enabled/disabled
using the --with-linux argument.
-
- Configuration Options
-
-The following options are provided as reference. You will probably not
-need to use any of these options, but more obscure systems may need all
-of them. Each section of the document identifies which options are
-necessary and when.
-
-Option Default Builds
---enable-wacom *no* wacom.o kernel driver
---enable-wacdump *yes* wacdump LinuxInput event monitor
---enable-xidump *yes* xidump XInput event monitor
---enable-libwacomcfg *yes* libwacomcfg Dynamic library for xsetwacom
---enable-libwacomxi *yes* libwacomxi Dynamic library for wacomcpl
---enable-xsetwacom *yes* xsetwacom XFree86 wacom driver configuration
-comannd
---enable-hid no hid.o replacement kernel driver (not normally necessary)
---enable-usbmouse no usbmouse.o replacement kernel driver (not normally
-necessary)
---enable-evdev no evdev.o replacement kernel driver (not normally necessary)
---enable-mousedev no mousedev.o replacement kernel driver (not normally
-necessary)
---enable-wacomdrv yes wacom_drv.o XFree86 driver (binary is available in
-prebuilt directory)
---enable-modver=yes|no best guess enables kernel module versioning;
-usually guesses correctly, but can be enabled or disabled if not
---with-kernel=dir best guess Specifies the kernel source directory if
-configure cannot guess correctl.
---with-xf86=dir none Specifies the XFree86 build directory
---with-xorg-sdk=dir none Specifies the Xorg SDK directory
---with-tcl=dir /usr 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
---with-tk=dir /usr 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
---with-arch=arch best guess Specifies the architecture if configure
-guesses incorrectly
---enable-xserver64 no enables 64-bit X server. You probably need to
-define xlib directory by add option --with-xlib=xlib-dir so compiler can
-link with the right Xlib.
---with-linux=yes|no best guess Specifies if compiled on a Linux system;
-USB code is Linux specific
---with-xlib=yes|no best guess Specifies if building xlib-based programs;
-xidump uses XInput headers
-
-
- Configuration Samples
-
-Here is a sample output of the script on a Redhat 8.0 system:
-
-[jej@ayukawa linuxwacom]$ ./configure
+</p><h3>Configuration Options</h3>
+
+The following options are provided as reference. Normally, you will only
+need a few of these options, but more obscure systems may need all
+of them. Each section of the document identifies which options are
+necessary 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-hid</td><td>no</td>
+ <td>hid.o replacement kernel driver (not normally necessary)</td></tr>
+<tr><td>--enable-usbmouse</td><td>no</td>
+ <td>usbmouse.o replacement kernel driver (not normally necessary)</td></tr>
+<tr><td>--enable-evdev</td><td>no</td>
+ <td>evdev.o replacement kernel driver (not normally necessary)</td></tr>
+<tr><td>--enable-mousedev</td><td>no</td>
+ <td>mousedev.o replacement kernel driver (not normally necessary)</td></tr>
+<tr><td>--enable-wacomdrv</td><td><b>yes</b></td>
+ <td>wacom_drv.o XFree86 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 correctl.</td></tr>
+<tr><td>--with-xf86=dir</td><td>none</td>
+ <td>Specifies the XFree86 build directory</td></tr>
+<tr><td>--with-xorg-sdk=dir</td><td>none</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</td><td>no</td>
+ <td>enables 64-bit X server. You probably need to define xlib directory by
+ add 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</td><td>no</td>
+ <td>Enable dlloader build option</td></tr>
+</tbody></table>
+
+<h3>Configuration Samples</h3>
+
+<p>Here is a sample output of the script on a Redhat 8.0 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 processor type... *i686*
-checking for kernel module versioning... *yes*
-checking for kernel sources... */usr/src/linux*
-checking for XLib include directory... *found*
-checking for XLib header files... *found*
+checking for processor type... <b>i686</b>
+checking for kernel module versioning... <b>yes</b>
+checking for kernel sources... <b>/usr/src/linux</b>
+checking for XLib include directory... <b>found</b>
+checking for XLib header files... <b>found</b>
...
-checking for ncurses.h... *yes*
+checking for ncurses.h... <b>yes</b>
...
----------------------------------------
BUILD ENVIRONMENT:
@@ -744,16 +730,29 @@ checking for ncurses.h... *yes*
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-The configure script is pretty simple, so if you find any problems and
-are inclined to fix them, please send me your patch so I can include the
-change in future releases.
+<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:
-The following sample command-line will build everything but wacdump
-while disabling module versioning. It also has a user-specified kernel
+</p><blockquote><pre>***
+*** WARNING:
+*** Unable to compile wacom_drv.o without XF86 build environment
+*** wacom_drv.o will not be built
+***
+</pre></blockquote>
+
+<p>In this particular case, the XFree86 driver was enabled, but the
+--with-xf86 option was not specified. 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:
-[jej@ayukawa linuxwacom]$ ./configure --enable-hid --enable-usbmouse \
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure --enable-hid --enable-usbmouse \
--enable-evdev --enable-moudedev --enable-input --enable-wacom \
--with-xf86=/usr/src/redhat/BUILD/XFree86-4.2.0 \
--with-kernel=/home/jej/src/linux --with-tcl=/usr/local/ActiveTcl \
@@ -762,247 +761,283 @@ 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... *yes*
+checking for kernel module versioning... <b>yes</b>
checking for kernel sources... /usr/src/linux-2.4
-checking for valid XFree86 build environment... *ok*
+checking for valid XFree86 build environment... <b>ok</b>
...
----------------------------------------
BUILD ENVIRONMENT:
architecture - i686
linux kernel - yes 2.4
- module versioning - *no*
- kernel source - *yes /home/jej/src/linux*
- XFree86 - *yes /usr/src/redhat/BUILD/XFree86-4.2.0*
+ 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 - *yes /usr/local/ActiveTcl*
- TK - *yes /usr/local/ActiveTcl*
+ TCL - <b>yes /usr/local/ActiveTcl</b>
+ TK - <b>yes /usr/local/ActiveTcl</b>
ncurses - yes
GTK - 2.0.6
BUILD OPTIONS:
- wacom.o - *yes*
- wacdump - *no*
+ wacom.o - <b>yes</b>
+ wacdump - <b>no</b>
xidump - yes
libwacomcfg - yes
libwacomxi - yes
xsetwacom - yes
- hid.o - *yes*
- usbmouse.o - *yes*
- evdev.o - *yes*
- mousedev.o - *yes*
- input.o - *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.o - *yes*
+ wacom_drv.o - <b>yes</b>
----------------------------------------
+</pre></blockquote>
-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.
-
-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>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.
-***
-*** WARNING:
-*** Unable to compile wacom_drv.o without XF86 build environment
-*** wacom_drv.o will not be built
-***
-In this particular case, the XFree86 driver was enabled, but the
---with-xf86 option was not specified. Without the build environment, the
-module cannot be compiled and was consequently disabled.
+</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
+...
- 2.4 - The Root Account
-
-If you are comfortable with the root account, paths, the /sbin
-directory, and programs like /modprobe/, 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.
+----------------------------------------
+ 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
-Many of the procedures in this document need root access, and the
+ 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.o - yes
+----------------------------------------
+</pre></blockquote>
+
+<a name="root">
+</a><h2><a name="root">2.4 - 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 /modprobe/
-command, for instance, you must have root access. Additionally, if the
-/sbin directory which contains /modprobe/ does not appear in your path,
-you must specify the full pathname, /sbin/modprobe, to run the command.
+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.
-[jej@ayukawa jej]$ modprobe foo
+</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>
-Normal users do not have /sbin in their path, so running /modprobe/
-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 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:
-[jej@ayukawa jej]$ /sbin/modprobe foo
+</a><blockquote><pre><a name="root">[jej@ayukawa jej]$ /sbin/modprobe foo
foo.o: create_module: Operation not permitted
+</a></pre></blockquote>
-Normal users are not allowed to run this command. For that, we need to
-be root. The /su/ command stands for "substitute user" since it can be
-used to become /any/ user on the system, but it is generally known by
-the incorrect but very memorable mnemonic "superuser."
+<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."
-[jej@ayukawa jej]$ su
+</a><blockquote><pre><a name="root">[jej@ayukawa jej]$ su
Password:
-[*root*@ayukawa jej]# whoami
+[<b>root</b>@ayukawa jej]# whoami
root
+</a></pre></blockquote>
-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.
+<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.
-Now that we have root access, is /sbin in our path? No. We have only
+</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 /modprobe/ without the full pathname, but does solve
-the access problem.
+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.
-[root@ayukawa jej]# modprobe foo
+</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]#
-
-In this example, the user adds the /sbin directory to the path and can
-run /modprobe/ normally. /export/ 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.
-
-At any rate, changing the path is a reasonably good solution, if you can
-remember the syntax of the /export/ command.
-
-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 /cd/ back to the original
-directory in which you were working.
-
-[jej@ayukawa src]$ pwd
+</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:*/sbin*:/usr/bin: ... :/root/bin
+/bin:<b>/sbin</b>:/usr/bin: ... :/root/bin
+</a></pre></blockquote>
-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 /cd/
-back to the package directory and all is better. And, as demonstrated
-above, the path conveniently contains /sbin.
+<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.
-So that leaves you with two immediate options, and one potential
+</a></p><p><a name="root">So that leaves you with two immediate options, and one potential
long-term option:
-Option One: Become root and add /sbin to the path.
+</a></p><p><a name="root">Option One: Become root and add /sbin to the path.
-[jej@ayukawa src]$ su
+</a></p><blockquote><pre><a name="root">[jej@ayukawa src]$ su
[jej@ayukawa src]# export PATH=$PATH:/sbin
+</a></pre></blockquote>
-Option Two: Become root using root's environment and /cd/ back.
+<a name="root">Option Two: Become root using root's environment and <i>cd</i> back.
-[jej@ayukawa src]$ su -
+</a><blockquote><pre><a name="root">[jej@ayukawa src]$ su -
[root@ayukawa root]# cd /home/jej/src/linuxwacom/src
+</a></pre></blockquote>
-Option Three (recommended): Add /sbin to your personal account's path
+<a name="root">Option Three (recommended): Add /sbin to your personal account's path
-[jej@ayukawa src]$ export PATH=$PATH:/sbin
+</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:*/sbin*
+/bin:/usr/bin: ... :/home/jej/bin:<b>/sbin</b>
+</a></pre></blockquote>
-By adding the path early in the session, it becomes available every time
-you /su/ to root later on. You could also add the /export/ command to
-the .bash_profile file in your home directory and have the path set
-automatically when you log in.
+<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.
-To exit from the root account and return to your normal account, you can
-use the /exit/ command or type Ctrl-D on an empty line.
+</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.
-[root@ayukawa src]# exit
+</a></p><blockquote><pre><a name="root">[root@ayukawa src]# exit
[jej@ayukawa src]$
-
-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.
-
-
- 3.0 - The USB Kernel Driver
-
-Serial tablet users rejoice: you can skip this entire section. Please go
-to the Using wacdump <#wacdump> page for details on viewing the tablet
-output. USB users stay put; we need to tweak your kernel.
-
-
-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.
-
-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, efforts
+</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="kernel">
+</a></p><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">Using wacdump</a> page for details on viewing the tablet output.
+USB users stay put; we need to tweak your kernel.
+
+<br><br><br>
+
+</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, efforts
are being made to get these changes merged back into the Linux kernel.
+<a name="newwacom">
+</a></p><h2><a name="newwacom">3.1 - Updated wacom.c</a></h2>
+<a name="newwacom">The wacom.c driver that is available in </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2">linuxwacom-0.6.8.tar.bz2</a> has a
+number of updates which cannot be found in many distributions yet.
-
- 3.1 - Updated wacom.c
-
-The wacom.c driver that is available in linuxwacom-0.6.8.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2>
-has a number of updates which cannot be found in many distributions yet.
-
-This driver supports the new tablets: Cintiq 21UX, Intuos3, Graphire3,
+<p>This driver supports the new tablets: Cintiq 21UX, Intuos3, Graphire3,
and Volito.
-The driver also contains additional debugging code which may be useful
-in diagnosing data flow problems.
-
-On newer kernel versions, 2.6.8 or later?, you can link Wacom USB tablet
-to "/dev/input/wacom#", where # is a number when you have more than one
-Wacom tablet on the system. It can be done by adding the following rules
-in /etc/udev/rules.d/10-wacom.rules:
+</p><p>The driver also contains additional debugging code which may be useful in
+diagnosing data flow problems.
-KERNEL="event*", SYSFS{idVendor}="056a", NAME="input/%k", SYMLINK="input/wacom%e"
+</p><p>
-Steve Wallace has submitted a howto for compiling the related kernel
-pieces on Debian Sid (Unstable) which is running XFree86 4.3 and kernel
-2.6.6 as of this writing. It can be viewed at page Building wacom driver
-On Fedora Core 3 <#debwacom>.
+</p><div class="diff">
+On newer kernel versions, 2.6.8 or later?, you can link Wacom USB tablet
+to "/dev/input/wacom#", where # is a number when you have more than one Wacom
+tablet on the system. It can be done by adding the following rules in
+/etc/udev/rules.d/10-wacom.rules:
+<blockquote><pre>KERNEL="event*", SYSFS{idVendor}="056a", NAME="input/%k", SYMLINK="input/wacom%e"
+</pre></blockquote>
+</div>
- 3.2 - Building wacom.c (for kernel 2.4)
+<div class="diff">
+Steve Wallace has submitted a howto for compiling the related kernel pieces
+on Debian Sid (Unstable) which is running XFree86 4.3 and kernel 2.6.6 as
+of this writing. It can be viewed at page <a href="#debwacom">Building wacom driver On Fedora Core 3</a>.
+</div><a name="buildwacom">
+</a><h2><a name="buildwacom">3.2 - Building wacom.c (for kernel 2.4)</a></h2>
-To build the wacom.o kernel module, you need configure the package with
---enable-wacom option. The kernel sources are required as described on
-the configuration <#config> page. Here's how the configuration should
-generally look:
+<a name="buildwacom">To build the wacom.o kernel module, you need configure the package with
+--enable-wacom option. The kernel sources are required as described on
+the </a><a href="#config">configuration</a> page. Here's how the configuration should generally look:
-[jej@ayukawa linuxwacom]$ ./configure --enable-wacom
+<blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure --enable-wacom
...
-checking for valid kernel source tree... *ok*
+checking for valid kernel source tree... <b>ok</b>
...
----------------------------------------
BUILD ENVIRONMENT:
architecture - i686
- linux kernel - *yes 2.4*
+ linux kernel - <b>yes 2.4</b>
module versioning - yes
- kernel - *yes /usr/src/linux*
+ kernel - <b>yes /usr/src/linux</b>
XFree86 - no
XLib - yes /usr/X11R6
TCL - yes /usr
@@ -1011,7 +1046,7 @@ checking for valid kernel source tree... *ok*
GTK - 2.0.6
BUILD OPTIONS:
- wacom.o - *yes*
+ wacom.o - <b>yes</b>
wacdump - yes
xidump - yes
libwacomcfg - yes
@@ -1025,38 +1060,38 @@ checking for valid kernel source tree... *ok*
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-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>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.
-To build the driver, just run /make/.
+</p><p>To build the driver, just run <i>make</i>.
-The output will be a file called wacom.o. It is located in the
-linuxwacom package's src/2.4 directory for versions older than 2.4.22.
-For versions 2.4.22 or newer, it is in src/2.4.22 directory. This is
+</p><p>The output will be a file called wacom.o. It is located in the
+linuxwacom package's src/2.4 directory for versions older than 2.4.22.
+For versions 2.4.22 or newer, it is in src/2.4.22 directory. This is
your replacement driver.
+<a name="buildwacom6">
+</a></p><h2><a name="buildwacom6">3.3 - Building wacom.c (for kernel 2.6)</a></h2>
+<a name="buildwacom6">To build the wacom.o 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.
- 3.3 - Building wacom.c (for kernel 2.6)
-
-To build the wacom.o 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 configuration <#config> page.
-
-Then, you need to configure the package with --enable-wacom option.
+<p>Then, you need to configure the package with --enable-wacom option.
Here's how the configuration should generally look:
-[jej@ayukawa linuxwacom]$ ./configure --enable-wacom
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$ ./configure --enable-wacom
...
-checking for valid kernel source tree... *ok*
+checking for valid kernel source tree... <b>ok</b>
...
----------------------------------------
BUILD ENVIRONMENT:
architecture - i686
- linux kernel - *yes 2.6.9*
+ linux kernel - <b>yes 2.6.9</b>
module versioning - yes
- kernel - *yes /usr/src/linux*
+ kernel - <b>yes /usr/src/linux</b>
XFree86 - no
XLib - yes /usr/X11R6
TCL - yes /usr
@@ -1065,7 +1100,7 @@ checking for valid kernel source tree... *ok*
GTK - 2.0.6
BUILD OPTIONS:
- wacom.o - *yes*
+ wacom.o - <b>yes</b>
wacdump - yes
xidump - yes
libwacomcfg - yes
@@ -1079,21 +1114,22 @@ checking for valid kernel source tree... *ok*
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-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>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.
- For those who like me 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.
+</p><blockquote><div class="diff">For those who like me 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>
-To build the driver, just run /make/.
+<p>To build the driver, just run <i>make</i>.
-If everything works properly, you'll see the following from the make:
+</p><p>If everything works properly, you'll see the following from the make:
-[jej@ayukawa linuxwacom]$ 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'
@@ -1109,23 +1145,24 @@ make[4]: Entering directory `/home/jej/linux-2.6.9'
make[4]: Leaving directory `/usr/src/linux'
make[3]: Leaving directory `/home/jej/linuxwacom/src/2.6.9'
...
+</pre></blockquote>
-Then, use the following steps to install the drivers:
+<p>Then, use the following steps to install the drivers:
-[jej@ayukawa linuxwacom]$su
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$su
[jej@ayukawa linuxwacom]#cd src/2.6.9
-[jej@ayukawa 2.6.9]#cp wacom.ko /lib/modules/*your-kernel-ver*/kernel/drivers/usb/input
+[jej@ayukawa 2.6.9]#cp wacom.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb/input
[jej@ayukawa 2.6.9]#reboot
+</pre></blockquote>
+<p>
-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><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.
-Please backup wacom.c in your kernel tree first then copy wacom.c from
-the related linuxwacom directory to the source tree and rebuild the
-kernel. An example for kernel 2.6.9 is as following:
+<p>Please backup wacom.c in your kernel tree first then copy wacom.c from the related linuxwacom
+directory to the source tree and rebuild the kernel. An example for kernel 2.6.9 is as following:
-[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/usb/input/wacom.c /usr/src/linux/drivers/usb/input/wacom.c.2.6.9
+</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
@@ -1133,287 +1170,292 @@ kernel. An example for kernel 2.6.9 is as following:
[jej@ayukawa linux]#make install
[jej@ayukawa linux]#make modules_install
[jej@ayukawa linux]#reboot
-
-
- 3.4 - Testing If wacom.o Will Load (for kernel 2.4 only)
-
-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 need
-to be root <#root> to do this.
-
-WARNING: there is a small chance that this will bomb your kernel, so we
-run /sync/ 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.
-
-[root@ayukawa linuxwacom]# sync
-
-From the package's src directory, we unload any previous modules and
+</pre></blockquote>
+</div>
+<a name="testwacom">
+</a><h2><a name="testwacom">3.4 - Testing If wacom.o Will Load (for kernel 2.4 only)</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 src directory, we unload any previous modules and
load the new one.
-[root@ayukawa linuxwacom]# cd src
+</p><blockquote><pre>[root@ayukawa linuxwacom]# cd src
[root@ayukawa src]# rmmod wacom
[root@ayukawa src]# insmod ./wacom.o # for those about to rock, we salute you.
+</pre></blockquote>
-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>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.
-Incidentally, if you run "insmod wacom.o" and happen to be in the wrong
-directory, the old driver reloads, sometimes without warning. I
+</p><p>Incidentally, if you run "insmod wacom.o" and happen to be in the
+wrong directory, the old driver reloads, sometimes without warning. I
therefore changed this to read "insmod ./wacom.o" which seems to prevent
-this from happening. To be certain, you can check the log file for the
+this from happening. To be certain, you can check the log file for the
correct version number.
-[root@ayukawa src]# tail /var/log/messages
-Jun 16 20:34:41 ayukawa kernel: usb.c: registered new driver wacom
-Jun 16 20:34:41 ayukawa kernel: Reporting max 30480, 31680
-Jun 16 20:34:41 ayukawa kernel: wacom.c: Setting tablet report for tablet data
-Jun 16 20:34:41 ayukawa kernel: input0: Wacom Intuos2 12x12 on usb2:3.0
-Jun 16 20:34:41 ayukawa kernel: wacom.c: *$1.40-j0.6.3* Vojtech Pavlik <vojtech@suse.cz>
-Jun 16 20:34:41 ayukawa kernel: wacom.c: USB Wacom Graphire and Wacom Intuos tablet driver (*MODIFIED-DEBUG*)
-
-The important detail is the version number. A version number like "1.30"
-is an original kernel version and not from the linuxwacom package. The
-correct version should also have the -j0.6.3 portion as well. Also,
-future versions of the driver will say "LINUXWACOM-DEBUG" or similar
-rather than "MODIFIED-DEBUG" as shown above. This is to help
-differentiate between the stock kernel driver and those available from
-the Linux Wacom Project.
-
-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,
+</p><blockquote><pre>[root@ayukawa src]# tail /var/log/messages
+Sep 06 20:34:41 ayukawa kernel: usb.c: registered new driver wacom
+Sep 06 20:34:41 ayukawa kernel: Reporting max 30480, 31680
+Sep 06 20:34:41 ayukawa kernel: wacom.c: Setting tablet report for tablet data
+Sep 06 20:34:41 ayukawa kernel: input0: Wacom Intuos2 12x12 on usb2:3.0
+Sep 06 20:34:41 ayukawa kernel: wacom.c: <b>$1.40-linuxwacom-0.6.8.tar.bz2</b> Vojtech Pavlik &lt;vojtech@suse.cz&gt;
+Sep 06 20:34:41 ayukawa kernel: wacom.c: USB Wacom Graphire and Wacom Intuos tablet driver (<b>MODIFIED-DEBUG</b>)
+
+</pre></blockquote>
+
+<p>The important detail is the version number. A version number like "1.30"
+is an original kernel version and not from the linuxwacom package. The
+correct version should also have the -linuxwacom-0.6.8.tar.bz2 portion as
+well. Also, future versions of the driver will say "LINUXWACOM-DEBUG" or
+similar rather than "MODIFIED-DEBUG" as shown above. 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.
-
-
- 3.5 - Installing wacom.o
-
-*For Kernel 2.4.x:*
-
-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.o". 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.o" from a directory other than the package's src
-directory, /insmod/ will load the driver from the kernel modules
-directory instead. The result is that you'll be using the wrong driver.
-
-Why would you not install the driver? Well, for one, you may be using a
-beta driver, and if the system crashes (you get an Oops or things come
+<a name="installwacom">
+</a></p><h2><a name="installwacom">3.5 - Installing wacom.o</a></h2>
+<p><a name="installwacom"><b>For Kernel 2.4.x:</b>
+
+</a></p><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.o".
+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.o" 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 using
+a beta driver, 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.
-When should I install the driver? When you're comfortable that the
-driver will not crash your system. The linuxwacom tarballs will be
-marked as beta if I am not absolutely convinced that they are stable. On
-the other hand, the new features will be in beta tarballs before they
-are marked stable, so there you have it. For the first time through this
-document, I would recommend installing the files found in the stable
-tarball. If you really know what you're doing, just load the drivers
-manually like in the previous section Testing If wacom.o Will Load (for
-kernel 2.4 only) <#testwacom>.
-
-On some distributions, Mandrake included, the wacom.o driver that
-appears in the kernel modules directory appears to be compressed. If you
-cannot find wacom.o using the method below, try locating wacom.o.gz
-instead. People who encountered this problem were able to run gzip on
-the module and copy that instead.
-
-Installing the driver requires knowing where it belongs. A little
-research will help here. By using the /locate/ command, you can find all
-copies of the original driver on the computer.
-
-jej@ayukawa wacom]$ locate wacom.o
-/lib/modules/2.4.18-14/kernel/drivers/usb/*wacom.o*
-/lib/modules/2.4.18-18.8.0/kernel/drivers/usb/*wacom.o*
+</a></p><p><a name="installwacom">When should I install the driver? When you're comfortable that the
+driver will not crash your system. The linuxwacom tarballs will be marked
+as beta if I am not absolutely convinced that they are stable. On the
+other hand, the new features will be in beta tarballs before they are
+marked stable, so there you have it. For the first time through this document,
+I would recommend installing the files found in the stable tarball. 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.o Will Load (for kernel 2.4 only)</a>.
+
+</p><p class="diff">On some distributions, Mandrake included, the wacom.o driver
+that appears in the kernel modules directory appears to be compressed. If
+you cannot find wacom.o using the method below, try locating wacom.o.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.o
+/lib/modules/2.4.18-14/kernel/drivers/usb/<b>wacom.o</b>
+/lib/modules/2.4.18-18.8.0/kernel/drivers/usb/<b>wacom.o</b>
[jej@ayukawa wacom]$ uname -r
-*2.4.18-18.8.0*
+<b>2.4.18-18.8.0</b>
+</pre></blockquote>
-On this computer, there are two kernels installed. /uname/ identifies
-the currently active kernel as 2.4.18-18.8.0. The correct driver to
-replace is therefore at
-/lib/modules/2.4.18-18.8.0/kernel/drivers/usb/wacom.o. You will need to
-be root to replace this file, and it is a very good idea to make a
-backup copy.
+On this computer, there are two kernels installed. <i>uname</i> identifies
+the currently active kernel as 2.4.18-18.8.0. The correct driver to replace
+is therefore at /lib/modules/2.4.18-18.8.0/kernel/drivers/usb/wacom.o. You
+will need to be root to replace this file, and it is a very good idea to
+make a backup copy.
-[jej@ayukawa wacom]$ su -
+<blockquote><pre>[jej@ayukawa wacom]$ su -
[jej@ayukawa root]# cd /lib/modules/2.4.18-18.8.0/kernel/drivers/usb
-[jej@ayukawa usb]# cp *wacom.o* /home/jej/src/wacom/*wacom_old.o*
-[jej@ayukawa usb]# cp /home/jej/src/wacom/*wacom.o* *wacom.o*
-
-Here, I've saved the original to wacom_old.o and copied my new driver
-over it. You should substitute directory names as appropriate.
-
-*NOTE: Don't leave the backup copy in the same directory as the
-original.* /depmod/ 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
+[jej@ayukawa usb]# cp <b>wacom.o</b> /home/jej/src/wacom/<b>wacom_old.o</b>
+[jej@ayukawa usb]# cp /home/jej/src/wacom/<b>wacom.o</b> <b>wacom.o</b>
+</pre></blockquote>
+
+Here, I've saved the original to wacom_old.o 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.
-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><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.
-[jej@ayukawa usb]# depmod -e
+</p><blockquote><pre>[jej@ayukawa usb]# depmod -e
+</pre></blockquote>
-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>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.
-*For Kernel 2.6.x:*
+</p><p><b>For Kernel 2.6.x:</b>
-Refer to section Building wacom.c (for kernel 2.6) <#buildwacom6>.
+</p><p>Refer to section <a href="#buildwacom6">Building wacom.c (for kernel 2.6)</a>.
+<a name="loadwacom">
+</a></p><h2><a name="loadwacom">3.6 - Loading the wacom Driver (for kernel 2.4 only)</a></h2>
- 3.6 - Loading the wacom Driver (for kernel 2.4 only)
+<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.
-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 /insmod mydir/src/wacom.o/ where you see
-/modprobe wacom/ 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.
-
-I am assuming that you are using a USB device, so you will also need to
-modprobe for either usb-uhci or usb-ohci depending on your hardware. Try
+</a></p><p><a name="loadwacom">I am assuming that you are using a USB device, so you will also need to
+modprobe for either usb-uhci or usb-ohci depending on your hardware. Try
them both! The wrong module will cough up an error for you.
-The important features of the stylus are available through the Linux
-event drivers, so load those too. With some clever additions to
-/etc/modules.conf, you can probably have these automatically loading for
-you whenever the tablet is activated. So far, I haven't figured out how
-to make this work reliably, so I've added the commands to my
-/etc/rc.d/rc.local file.
+</a></p><p><a name="loadwacom">The important features of the stylus are available through the Linux event
+drivers, so load those too. With some clever additions to /etc/modules.conf,
+you can probably have these automatically loading for you whenever the tablet
+is activated. So far, I haven't figured out how to make this work reliably,
+so I've added the commands to my /etc/rc.d/rc.local file.
- On Redhat 7.2 and possibly on other older distributions, mousedev
- and input are not loaded by default. Without them, the wacom driver
- may fail to load, due to unresolved symbols, and the mouse driver
- may not receive wacom mouse events, even if loaded afterwards.
+</a></p><blockquote><div class="diff">
+<a name="loadwacom">On Redhat 7.2 and possibly on other older distributions, mousedev and input
+are not loaded by default. Without them, the wacom driver may fail to load,
+due to unresolved symbols, and the mouse driver may not receive wacom mouse
+events, even if loaded afterwards.
+</a></div></blockquote>
-[jej@ayukawa usb]# rmmod wacom
+<blockquote><pre><a name="loadwacom">[jej@ayukawa usb]# rmmod wacom
[jej@ayukawa usb]# modprobe usb-uhci (or usb-ohci)
-[jej@ayukawa usb]# modprobe input
-[jej@ayukawa usb]# modprobe mousedev
+<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
-
-Check the system log for status messages pertaining to the wacom. Here's
-a copy of the messages from my version of the driver.
-
-[jej@ayukawa usb]# grep -i wacom /var/log/messages | tail
-Jun 16 21:23:35 ayukawa kernel: usb.c: registered new driver wacom
-Jun 16 21:23:35 ayukawa kernel: wacom.c: *v1.40-j0.6.3* Vojtech Pavlik <vojtech@suse.cz>
-Jun 16 21:23:35 ayukawa kernel: wacom.c: USB Wacom Graphire and Wacom Intuos tablet driver (MODIFIED)
-
-The original driver was version 1.30. This version number is 1.40-j0.6.3
-so the correct driver was loaded.
-
-
- 3.7 - Testing Tablet Detection
-
-In this section we will plug the tablet into the computer and determine
-which driver, if any, claims control over the tablet. There are at least
+</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
+Sep 06 21:23:35 ayukawa kernel: usb.c: registered new driver wacom
+Sep 06 21:23:35 ayukawa kernel: wacom.c: <b>v1.40-linuxwacom-0.6.8.tar.bz2</b> Vojtech Pavlik &lt;vojtech@suse.cz&gt;
+Sep 06 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.30. This version number
+is 1.40-linuxwacom-0.6.8.tar.bz2 so the correct driver was loaded.</a></p>
+<a name="testtablet">
+</a><h2><a name="testtablet">3.7 - Testing Tablet Detection</a></h2>
+<p><a name="testtablet">In this section we will plug the tablet into the computer and determine
+which driver, if any, claims control over the tablet. There are at least
three drivers that are interested: 1) hid.o which may think it is an HID
-device, 2) usbmouse.o which may think it is an HID mouse, and 3) the
-wacom driver which should identify the tablet as its own. Any number of
-problems may be experienced here, so be prepared to spend some time
-looking at the logs. A good way to do this, if you are running X, is to
-open a separate xterm, su to root, and run /tail -f /var/log/messages/.
-The console window will stream anything that is appended to the log.
-
-
- 3.7.1 - Plug It In
-
-Test the tablet detection by plugging the wacom into the USB port and
-checking /var/log/messages again. You should see a flurry of activity.
-The exact output depends a lot on your particular kernel and distribution.
-
-This is Redhat 8.0 (2.4.18-17.8.0):
-
+device, 2) usbmouse.o which may think it is an HID mouse, and 3) the wacom
+driver which should identify the tablet as its own. Any number of problems
+may be experienced here, so be prepared to spend some time looking at the
+logs. A good way to do this, if you are running X, is to open a separate
+xterm, su to root, and run <i>tail -f /var/log/messages</i>. The console
+window will stream anything that is appended to the log.
+</a><a name="plugin">
+</a></p><h3><a name="plugin">3.7.1 - Plug It In</a></h3>
+
+<p><a name="plugin">Test the tablet detection by plugging the wacom into the USB port and
+checking /var/log/messages again. 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="plugin">This is Redhat 8.0 (2.4.18-17.8.0):<br>
[jej@ayukawa usb]# tail /var/log/messages
-Jun 16 21:26:11 ayukawa kernel: hub.c: USB new device connect on bus2/2, assigned device number 2
-Jun 16 21:26:11 ayukawa kernel: *input0: Wacom Intuos2 12x12* on usb2:2.0
-Jun 16 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup wacom hid for USB product 56a/44/115
-Jun 16 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup *mousedev* for USB product 56a/44/115
-
-And here it is again on Redhat 7.2 (2.4.18-17.7.x):
-
+Sep 06 21:26:11 ayukawa kernel: hub.c: USB new device connect on bus2/2, assigned device number 2
+Sep 06 21:26:11 ayukawa kernel: <b>input0: Wacom Intuos2 12x12</b> on usb2:2.0
+Sep 06 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup wacom hid for USB product 56a/44/115
+Sep 06 21:26:14 ayukawa /etc/hotplug/usb.agent: Setup <b>mousedev</b> for USB product 56a/44/115
+</a></pre>
+<pre class="diff"><a name="plugin">And here it is again on Redhat 7.2 (2.4.18-17.7.x):<br>
[jej@sasami root]# tail /var/log/messages
-Jun 16 21:28:38 sasami kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
-Jun 16 21:28:38 sasami kernel: *input0: Wacom Intuos2 12x12* on usb1:2.0
-Jun 16 21:28:39 sasami kernel: usb.c: registered new driver hiddev
-Jun 16 21:28:39 sasami kernel: usb.c: registered new driver hid
-Jun 16 21:28:39 sasami kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
-Jun 16 21:28:39 sasami kernel: hid-core.c: USB HID support drivers
-Jun 16 21:28:39 sasami kernel: mice: *PS/2 mouse* device common for all mice
-
-If all went well like above, the USB device was successfully detected
-and handled by the wacom driver; secondly, it was assigned input0. This
-presumably means that information like pressure and tilt will be
-received on /dev/input/event0. Lastly, the tablet was setup with
-mousedev or the generic PS/2 USB mouse driver, so that information
-should appear on /dev/input/mouse0.
-
-If instead you got any of the following lines in your log, the wacom
-driver /did not get control/. Either hid or usbmouse did.
-
- *input0,hiddev0: USB HID v1.00 Mouse* [Tablet XD-0608-U] on usb1:5.0
- *input0: Tablet XD-1212-U* on usb2:2.0
-
-The next section describes what to do if the wacom driver did not get
-control. Otherwise, skip on to Viewing the Raw Data <#viewdata>.
-
-
- 3.7.2 - Wacom Driver Does Not Get Control
-
-If the wacom driver did not get control, and instead you see "Tablet
-XD-1212-U" or similar in its place, then this section is for you.
-Otherwise, consider yourself lucky and skip on to the next section,
-Viewing the Raw Data <#viewdata>. For the unlucky, there is a good
-possibility that your kernel is slightly out of date and that your
-mousedev.c, hid-core.c, usbmouse.c and evdev.c files need some help.
-
-When the Tablet XD-1212-U driver comes up, either mousedev.o or co has
-discovered your tablet, decided it was an HID device, and grabbed it. Or
-your hid.o did not add that tablet as a supported device. This is bad
-news because HID tablets only output relative coordinates and nothing
-about pressure. You are in good company though because a number of
-people have reported this, even on some fairly up-to-date distributions.
-You will learn how to fix it in next section.
-
-The modules included in linuxwacom do the following jobs for Wacom tablet:
-
-mousedev.c ignores Wacom device as a HID device;
-
-usbmouse.c ignores Wacom device as a USB mouse;
-
-hid-core.c adds new Wacom devices into the support device list;
-
-evdev.c enables Wacom tablet after replugging the tablet.
-
-After everything installs and runs properly, issuing /more
-/proc/bus/usb/devices/ should list something similiar to the following:
-
-T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
-D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
-*P: Vendor=056a* ProdID=0042 Rev= 1.15
+Sep 06 21:28:38 sasami kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
+Sep 06 21:28:38 sasami kernel: <b>input0: Wacom Intuos2 12x12</b> on usb1:2.0
+Sep 06 21:28:39 sasami kernel: usb.c: registered new driver hiddev
+Sep 06 21:28:39 sasami kernel: usb.c: registered new driver hid
+Sep 06 21:28:39 sasami kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik &lt;vojtech@suse.cz&gt;
+Sep 06 21:28:39 sasami kernel: hid-core.c: USB HID support drivers
+Sep 06 21:28:39 sasami kernel: mice: <b>PS/2 mouse</b> device common for all mice
+</a></pre>
+</blockquote>
+
+<p><a name="plugin">If all went well like above, the USB device was successfully detected and
+handled by the wacom driver; secondly, it was assigned input0. This
+presumably means that information like pressure and tilt will be received on
+/dev/input/event0. Lastly, the tablet was setup with mousedev or the generic
+PS/2 USB mouse driver, so that information should appear on /dev/input/mouse0.
+
+</a></p><p><a name="plugin">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.
+
+</a></p><blockquote><pre><a name="plugin"> <b>input0,hiddev0: USB HID v1.00 Mouse</b> [Tablet XD-0608-U] on usb1:5.0
+ <b>input0: Tablet XD-1212-U</b> on usb2:2.0
+</a><pre></pre></pre></blockquote>
+
+<p><a name="plugin">The next section describes what to do if the wacom driver did not get
+control. Otherwise, skip on to
+</a><a href="#viewdata">Viewing the Raw Data</a>.
+
+<a name="noctrl">
+</a></p><h3><a name="noctrl">3.7.2 - Wacom Driver Does Not Get Control</a></h3>
+
+<p><a name="noctrl">If the wacom driver did not get control, and instead you see
+"Tablet XD-1212-U" or similar in its place, then this section is for
+you. Otherwise, consider yourself lucky and skip on to the next section,
+</a><a href="#viewdata">Viewing the Raw Data</a>. For the unlucky,
+there is a good possibility that your kernel is slightly out of date and
+that your mousedev.c, hid-core.c, usbmouse.c and evdev.c files need some help.
+
+</p><p>When the Tablet XD-1212-U driver comes up, either mousedev.o or co
+has discovered your tablet, decided it was an HID device, and grabbed it. Or your
+hid.o did not add that tablet as a supported device. This is bad news because
+HID tablets only output relative coordinates and nothing about pressure.
+You are in good company though because a number of people have reported this,
+even on some fairly up-to-date distributions. You will learn how to fix it in
+next section.
+
+</p><p>The modules included in linuxwacom do the following jobs for Wacom tablet:
+
+</p><p>mousedev.c ignores Wacom device as a HID device;
+
+</p><p>usbmouse.c ignores Wacom device as a USB mouse;
+
+</p><p>hid-core.c adds new Wacom devices into the support device list;
+
+</p><p>evdev.c enables Wacom tablet after replugging the tablet.
+
+</p><p>After everything installs and runs properly, issuing <i>more /proc/bus/usb/devices</i>
+should list something similiar to the following:
+
+</p><blockquote><pre>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
+<b>P: Vendor=056a</b> ProdID=0042 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 *Driver=wacom*
+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
+</pre></blockquote>
-On newer 2.6.x systems, /more /proc/bus/input/devices/ gives you
+On newer 2.6.x systems, <i>more /proc/bus/input/devices</i> gives you
-I: Bus=0003 *Vendor=056a* Product=0042 Version=1.15
-*N: Name="Wacom Intuos2 6x8"*
+<blockquote><pre>I: Bus=0003 <b>Vendor=056a</b> Product=0042 Version=1.15
+<b>N: Name="Wacom Intuos2 6x8"</b>
P: Phys=usb-0000:00:1d.1-2/input0
H: Handlers=event3
B: EV=1f
@@ -1422,109 +1464,98 @@ B: REL=100
B: ABS=f00017b
B: MSC=1
+</pre></blockquote>
- 3.7.3 - Building usbmouse.o, evdev.o, mousedev.o, and hid.o (for
- kernel 2.4)
+<a name="buildhid">
+</a><h3><a name="buildhid">3.7.3 - Building usbmouse.o, evdev.o, mousedev.o, and hid.o (for kernel 2.4)</a></h3>
-In the linuxwacom-0.6.8.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2>
-file, you will find mousedev.c, usbmouse.c, hid-core.c, evdev.c, and
-input.c files which have special exceptions for wacom. These files are
-not built by default, so you will need to reconfigure the package and
-run make again.
-
-If your kernel is older than 2.4.22, the modules will be built using the
-sources at src/2.4. If your kernel is 2.4.22 or newer, the modules will
-be built using the sources at src/2.4.22. input.o is only needed for
-kernels older than 2.4.22.
+<p><a name="buildhid">In the </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2">linuxwacom-0.6.8.tar.bz2</a>
+file, you will find mousedev.c, usbmouse.c, hid-core.c, evdev.c, and input.c
+files which have special exceptions for wacom. These files are not built
+by default, so you will need to reconfigure the package and run make again.
+ </p><p>If your kernel is older than 2.4.22, the modules will be built using
+the sources at src/2.4. If your kernel is 2.4.22 or newer, the modules will
+be built using the sources at src/2.4.22. <span class="diff">input.o is only needed for kernels older than 2.4.22.</span>
-[jej@ayukawa wacom]$./configure --enable-hid --enable-usbmouse --enable-mousedev --enable-evdev --enable-input --with-kernel=your-kernel-src-dir
+</p><blockquote><pre>[jej@ayukawa wacom]$./configure --enable-hid --enable-usbmouse --enable-mousedev --enable-evdev --enable-input --with-kernel=your-kernel-src-dir
...
BUILD OPTIONS:
- hid.o - *yes*
- usbmouse.o - *yes*
- evdev.o - *yes*
- mousedev.o - *yes*
- input.o - *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>
...
[jej@ayukawa wacom]$ make
+</pre></blockquote>
-First off, if the code does not build, and you cannot chase the problem
-down yourself, send me a line. If your kernel is much older than 2.4.18,
+<p>First off, if the code does not build, and you cannot chase the problem
+down yourself, send me a line. If your kernel is much older than 2.4.18,
then you may have to resign yourself to the fact that the 2.4.19 drivers
-are not going to work for you. I would recommend upgrading your kernel.
+are not going to work for you. I would recommend upgrading your kernel.
+</p><p>Before installing the drivers, please backup the originals. Then,
+use the following steps to install the drivers into the proper directories.
+ Use <i>locate</i> as you did for the wacom.o file if necessary.
-Before installing the drivers, please backup the originals. Then, use
-the following steps to install the drivers into the proper directories.
-Use /locate/ as you did for the wacom.o file if necessary.
+</p><p>For systems with kernel 2.4 and older than kernel 2.4.22:
-For systems with kernel 2.4 and older than kernel 2.4.22:
-
-[jej@ayukawa wacom]$su
+</p><blockquote><pre>[jej@ayukawa wacom]$su
[jej@ayukawa wacom]#cd src/2.4
-[jej@ayukawa 2.4]#cp hid.o /lib/modules/*your-kernel-ver*/kernel/drivers/usb
-[jej@ayukawa 2.4]#cp usbmouse.o /lib/modules/*your-kernel-ver*/kernel/drivers/usb
-[jej@ayukawa 2.4]#cp evdev.o /lib/modules/*your-kernel-ver*/kernel/drivers/input
-[jej@ayukawa 2.4]#cp mousedev.o /lib/modules/*your-kernel-ver*/kernel/drivers/input
-[jej@ayukawa 2.4]#cp input.o /lib/modules/*your-kernel-ver*/kernel/drivers/input
+[jej@ayukawa 2.4]#cp hid.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb
+[jej@ayukawa 2.4]#cp usbmouse.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb
+[jej@ayukawa 2.4]#cp evdev.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
+[jej@ayukawa 2.4]#cp mousedev.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
+[jej@ayukawa 2.4]#cp input.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
[jej@ayukawa 2.4]#reboot
+</pre></blockquote>
-For systems with kernel 2.4.22 or newer:
+<p>For systems with kernel 2.4.22 or newer:
-[jej@ayukawa wacom]$su
+</p><blockquote><pre>[jej@ayukawa wacom]$su
[jej@ayukawa wacom]#cd src/2.4.22
-[jej@ayukawa 2.4.22]#cp hid.o /lib/modules/*your-kernel-ver*/kernel/drivers/usb
-[jej@ayukawa 2.4.22]#cp usbmouse.o /lib/modules/*your-kernel-ver*/kernel/drivers/usb
-[jej@ayukawa 2.4.22]#cp evdev.o /lib/modules/*your-kernel-ver*/kernel/drivers/input
-[jej@ayukawa 2.4.22]#cp mousedev.o /lib/modules/*your-kernel-ver*/kernel/drivers/input
+[jej@ayukawa 2.4.22]#cp hid.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb
+[jej@ayukawa 2.4.22]#cp usbmouse.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb
+[jej@ayukawa 2.4.22]#cp evdev.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
+[jej@ayukawa 2.4.22]#cp mousedev.o /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
[jej@ayukawa 2.4.22]#reboot
-
-As before with some other distributions, if the files in the kernel
-module directory are compressed, you'll need to run gzip on the .o files
-to get .o.gz files.
-
-
- 3.7.4 - Building usbmouse.o, evdev.o, mousedev.o, and hid.o (for
- kernel 2.6)
-
-In the linuxwacom-0.6.8.tar.bz2
-<http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2>
-file, you will find mousedev.c, usbmouse.c, hid-core.c, and evdev.c
-files which have special exceptions for wacom. These files are not built
-by default, so you will need to reconfigure the package and run make again.
-
-As for wacom.c, you need to configure the kernel modules (hid and evdev)
-under your kernel source tree before configuring linuxwacom.
-
-*Note:* If your system did not load usbmouse, please DO NOT configure
-usbmouse. For kernel versions later than 2.6.4, if you are not using
-Intuos3, you do not need to recompile hid and wacom since they are up to
-date. On some OS', such as Suse, Fedora Core, and Mandrake, evdev and
+</pre></blockquote>
+
+<span class="diff">As before with some other distributions, if the files in the
+kernel module directory are compressed, you'll need to run gzip on the .o
+files to get .o.gz files.</span>
+<a name="buildhid6">
+</a><h3><a name="buildhid6">3.7.4 - Building usbmouse.o, evdev.o, mousedev.o, and hid.o (for kernel 2.6)</a></h3>
+
+<p><a name="buildhid6">In the </a><a href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.6.8.tar.bz2">linuxwacom-0.6.8.tar.bz2</a>
+file, you will find mousedev.c, usbmouse.c, hid-core.c, and evdev.c files
+which have special exceptions for wacom. These files are not built by default,
+so you will need to reconfigure the package and run make again. </p><p>As for wacom.c, you need to configure the kernel modules (hid and
+evdev) under your kernel source tree before configuring linuxwacom. </p><p><b>Note:</b> If your system did not load usbmouse, please DO NOT
+configure usbmouse. For kernel versions later than 2.6.4, if you are not
+using Intuos3, you do not need to recompile hid and wacom since they are
+up to date. On some OS', such as Suse, Fedora Core, and Mandrake, evdev and
mousedev are patched with linuxwacom sources. So, your best chance is no
-need to rebuild the kernel at all.
-
-[jej@ayukawa wacom]$./configure --enable-hid --enable-usbmouse --enable-mousedev --enable-evdev --with-kernel=your-kernel-src-dir
+need to rebuild the kernel at all. </p><blockquote><pre>[jej@ayukawa wacom]$./configure --enable-hid --enable-usbmouse --enable-mousedev --enable-evdev --with-kernel=your-kernel-src-dir
...
BUILD OPTIONS:
- hid.o - *yes*
- usbmouse.o - *yes*
- evdev.o - *yes*
- mousedev.o - *yes*
+ hid.o - <b>yes</b>
+ usbmouse.o - <b>yes</b>
+ evdev.o - <b>yes</b>
+ mousedev.o - <b>yes</b>
input.o - no
...
+</pre></blockquote>
-Except kernels 2.6.0 and 2.6.1 are handled in src/2.6. All the other
-kernels 2.6.x ( upto x=10) are processed in its own src/2.6.x. New 2.6
-directories will be created when compatibility issue occurs.
+<p>Except kernels 2.6.0 and 2.6.1 are handled in src/2.6. All the other kernels
+2.6.x ( upto x=10) 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 me 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>
- For those who like me 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.
+<p>If everything works properly, you'll see the following from the make:
-If everything works properly, you'll see the following from the make:
-
-[jej@ayukawa linuxwacom]$ 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'
@@ -1550,29 +1581,28 @@ make[4]: Entering directory `/home/jej/linux-2.6.9'
LD [M] /home/jej/linuxwacom/src/2.6.9/usbmouse.ko
make[4]: Leaving directory `/usr/src/linux'
...
+</pre></blockquote>
-Then, use the following steps to install the drivers:
+<p>Then, use the following steps to install the drivers:
-*Note: * Please make sure your existing kernel already has the modules
-before installing them.
+</p><p><b>Note: </b> Please make sure your existing kernel already has the modules before installing them.
-[jej@ayukawa linuxwacom]$su
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$su
[jej@ayukawa linuxwacom]#cd src/2.6.9
-[jej@ayukawa 2.6.9]#cp hid.ko /lib/modules/*your-kernel-ver*/kernel/drivers/usb/input
-[jej@ayukawa 2.6.9]#cp usbmouse.ko /lib/modules/*your-kernel-ver*/kernel/drivers/usb/input
-[jej@ayukawa 2.6.9]#cp evdev.ko /lib/modules/*your-kernel-ver*/kernel/drivers/input
-[jej@ayukawa 2.6.9]#cp mousedev.ko /lib/modules/*your-kernel-ver*/kernel/drivers/input
+[jej@ayukawa 2.6.9]#cp hid.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb/input
+[jej@ayukawa 2.6.9]#cp usbmouse.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/usb/input
+[jej@ayukawa 2.6.9]#cp evdev.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
+[jej@ayukawa 2.6.9]#cp mousedev.ko /lib/modules/<b>your-kernel-ver</b>/kernel/drivers/input
[jej@ayukawa 2.6.9]#reboot
+</pre></blockquote>
-This part is for those who want to manually build the kernel drivers in
-source tree. If you already followed the steps above, you can move on to
-next page.
+<p></p><div class="diff">This part is for those who want to manually build the kernel drivers in source tree.
+If you already followed the steps above, you can move on to next page.
-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>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:
-[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/input/evdev.c /usr/src/linux/drivers/input/evdev.c.2.6.9
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/input/evdev.c /usr/src/linux/drivers/input/evdev.c.2.6.9
[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/input/mousedev.c /usr/src/linux/drivers/input/mousedev.c.2.6.9
[jej@ayukawa linuxwacom]$ cp /usr/src/linux/drivers/usb/input/usbmouse.c /usr/src/linux/drivers/usb/input/usbmouse.c.2.6.9
[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
@@ -1586,168 +1616,166 @@ kernel. An example for kernel 2.6.9 is as following:
[jej@ayukawa linux]# make install
[jej@ayukawa linux]# make modules_install
[jej@ayukawa linux]# reboot
-
-
- 3.7.5 - More about usbmouse.o, evdev.o, mousedev.o, and hid.o
-
-Incidentally, the usbmouse.o, evdev.o, mousedev.o, and hid.o files may
-not be necessary *if you don't use USB mouse and will not load usbmouse,
-hid, and mousedev*. However, there are code to ignore Wacom tablet as a
-HID device which are not in the kernel.org source tree. It is required
-to build those modules/objects if you use a USB mouse.
-
-The changes to mousedev are needed if you want to use the
-/dev/input/mice device in XF86Config, otherwise events from the Wacom
-mouse will show up on both /dev/input/mice and /dev/input/eventN. The
-changes to evdev are needed to allow the tablet to continue working
-correctly after being unplugged/replugged.
-
-For kernel 2.6 and later, you almost certainly do not need the usbmouse
-module because it conflicts with the full usb hid driver, usbhid, which
-should be used in most cases. For kernel 2.4, I recommend you to build it.
-
-The included hid-core.c contains a lot of wacom related code. The
-included usbmouse.c and mousedev.c have code to ignore wacom tablet as a
-mouse so wacom driver (wacom.o) can take control of it. The included
-evdev.c handles the reconnection of a replugged tablet. It works like
-this: assuming that you have configured the usb tablet and it was up and
-running. But, by some reason you unplugged the tablet. The inluded
-evdev.c will enable you to replugged the tablet and use it without
-reloading the drivers or rebooting the system.
-
-If after installing the drivers, the wacom driver is not getting control
-of the tablet, there is a possibility that your tablet is not listed in
-any of the driver files. If so, continue on to the next section.
-Otherwise, if you are up and running, skip to Viewing the Raw Data
-<#viewdata>.
-
-
- 3.7.6 - Unknown Tablet?
-
-To determine whether your device is listed in the driver, we need to
-determine the device identifier. It can be discovered by doing the
-following:
-
-[root@ayukawa root]# grep -i 56a /var/log/messages | tail -10
-Jun 16 21:03:09 ayukawa /etc/hotplug/usb.agent: Setup mousedev for USB product *56a/44/115*
-Jun 16 21:27:48 ayukawa kernel: usb.c: USB device 2 (vend/prod *0x56a/0x44*) is not claimed by any active driver.
-
-In this case, the tablet identifier is 56a/44 (also written 0x56a/0x44).
-The model is determined by the second number; the Intuos2 12x12 is 0x44
-for instance.
-
-In the wacom.c file, 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 in
-hid-core.c. It has a table called "hid_blacklist" which identifies
-devices to ignore. The code is a little strange, but PENPARTNER is 0x00,
-GRAPHIRE is 0x10, INTUOS is 0x20, PL is 0x30, and INTUOS2 is 0x40. A
-table entry like INTUOS2 + 4 would therefore be 0x44.
-
-If you've gotten this far, and still cannot get it to work, send me
-email 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.
-
-The next section assumes you have things working up to this point.
-
-
- 3.8 - Viewing the Raw Data
-
-View the raw data from the tablet, by returning to the /dev/input
-directory and streaming the data directly from the device. Be patient
+</pre></blockquote>
+</div>
+
+<a name="morehid">
+</a><h3><a name="morehid">3.7.5 - More about usbmouse.o, evdev.o, mousedev.o, and hid.o</a></h3>
+
+<p><a name="morehid">Incidentally, the usbmouse.o, evdev.o, mousedev.o, and hid.o files may not
+be necessary <b>if you don't use USB mouse and will not load usbmouse, hid,
+and mousedev</b>. However, there are code to ignore Wacom tablet as a HID
+device which are not in the kernel.org source tree. It is required to build
+those modules/objects if you use a USB mouse.
+
+</a></p><p><a name="morehid">The changes to mousedev are needed if you want to use the /dev/input/mice
+device in XF86Config, otherwise events from the Wacom mouse will show up on
+both /dev/input/mice and /dev/input/eventN. The changes to evdev are needed
+to allow the tablet to continue working correctly after being unplugged/replugged.
+</a></p><div class="diff"><a name="morehid">For kernel 2.6 and later, you almost certainly do not need the usbmouse module
+because it conflicts with the full usb hid driver, usbhid, which should be used
+in most cases. For kernel 2.4, I recommend you to build it.
+</a></div>
+
+<p><a name="morehid">The included hid-core.c contains a lot of wacom related code. The included
+usbmouse.c and mousedev.c have code to ignore wacom tablet as a mouse so wacom
+driver (wacom.o) can take control of it. The included evdev.c handles the
+reconnection of a replugged tablet. It works like this: assuming that you have
+configured the usb tablet and it was up and running. But, by some reason you
+unplugged the tablet. The inluded evdev.c will enable you to replugged the tablet
+and use it without reloading the drivers or rebooting the system.
+
+</a></p><p><a name="morehid">If after installing the drivers, the wacom driver is not getting control of the
+tablet, there is a possibility that your tablet is not listed in any of the driver
+files. If so, continue on to the next section. Otherwise, if you are up and running,
+skip to </a><a href="#viewdata">Viewing the Raw Data</a>.
+<a name="newtablet">
+</a></p><h3><a name="newtablet">3.7.6 - Unknown Tablet?</a></h3>
+<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 doing the following:
+
+</a><blockquote><pre><a name="newtablet">[root@ayukawa root]# grep -i 56a /var/log/messages | tail -10
+Sep 06 21:03:09 ayukawa /etc/hotplug/usb.agent: Setup mousedev for USB product <b>56a/44/115</b>
+Sep 06 21:27:48 ayukawa kernel: usb.c: USB device 2 (vend/prod <b>0x56a/0x44</b>) is not claimed by any active driver.
+</a></pre></blockquote>
+
+<p><a name="newtablet">In this case, the tablet identifier is 56a/44 (also written 0x56a/0x44).
+The model is determined by the second number; the Intuos2 12x12 is 0x44 for
+instance.
+
+</a></p><p><a name="newtablet">In the wacom.c file, 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 in
+hid-core.c. It has a table called "hid_blacklist" which identifies devices
+to ignore. The code is a little strange, but PENPARTNER is 0x00, GRAPHIRE is
+0x10, INTUOS is 0x20, PL is 0x30, and INTUOS2 is 0x40. A table entry like
+INTUOS2 + 4 would therefore be 0x44.
+
+</a></p><p><a name="newtablet">If you've gotten this far, and still cannot get it to work, send me email
+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.8 - Viewing the Raw Data</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.
-[root@ayukawa usb]# cd /dev/input
+</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>
-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. 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. If no output
-occurs on those ports, reload the drive:
+<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>
-[jej@sasami root]# rmmod wacom
+If no output occurs on those ports, reload the drive:
+
+</a></p><blockquote><pre><a name="viewdata">[jej@sasami root]# rmmod wacom
[jej@sasami root]# modprobe wacom (or insmod mydir/src/wacom.o)
[jej@sasami root]# tail /var/log/messages
-Jun 16 17:31:31 sasami kernel: usb.c: deregistering driver wacom
-Jun 16 17:31:34 sasami kernel: usb.c: registered new driver wacom
-Jun 16 17:31:35 sasami kernel: input0: Wacom Intuos2 12x12 on usb1:2.0
-Jun 16 17:31:35 sasami kernel: wacom.c: v1.40-j0.6.3 Vojtech Pavlik <vojtech@suse.cz>
-
-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
-/xxd /dev/input/event0/ again. This time, it /should/ work. If not, send
-me some email.
-
-Incidentally, if you have a program running that is connected to
+Sep 06 17:31:31 sasami kernel: usb.c: deregistering driver wacom
+Sep 06 17:31:34 sasami kernel: usb.c: registered new driver wacom
+Sep 06 17:31:35 sasami kernel: input0: Wacom Intuos2 12x12 on usb1:2.0
+Sep 06 17:31:35 sasami kernel: wacom.c: v1.40-linuxwacom-0.6.8.tar.bz2 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
+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.
-
-You should also try running /xxd/ 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.
-
-
- 4.0 - Using 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 XFree86. Generally, you must
-be root to run it unless you've set the permissions on the appropriate
-device such that you can read them.
-
-*Building wacdump*
-
-Serial users who have been following along will not have built wacdump
-by this point while USB users should already have it. wacdump is enabled
-by default in the configure script, so let's do that now:
-
-[jej@ayukawa linuxwacom]$ ./configure
+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 - Using 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 XFree86. 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>Building wacdump</b>
+
+</a></p><p><a name="wacdump">Serial users who have been following along will not have built wacdump by
+this point while USB users should already have it.
+wacdump is enabled by default in the configure script, so let's do that now:
+
+</a></p><blockquote><pre><a name="wacdump">[jej@ayukawa linuxwacom]$ ./configure
...
----------------------------------------
BUILD OPTIONS:
wacom.o - no
- wacdump - *yes*
+ wacdump - <b>yes</b>
hid.o - no
usbmouse.o - no
wacom_drv.o - no
----------------------------------------
+</a></pre></blockquote>
-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.
+<p><a name="wacdump">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.
-Next, run /make/. The output will be a file called wacdump in the
-linuxwacom package's src directory. Running /make install/, will install
+</a></p><p><a name="wacdump">Next, run <i>make</i>. The output will be a file called wacdump in the
+linuxwacom package's src directory. Running <i>make install</i>, will install
it under /usr/local/bin.
-*Running wacdump*
+</a></p><p><a name="wacdump"><b>Running wacdump</b>
-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 (and/or XF86Config-4)
-before using. Alternatively, you could move your serial tablet to COM2
-and try /dev/ttyS1 instead.
+</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 (and/or XF86Config-4) before
+using. Alternatively, you could move your serial tablet to COM2 and
+try /dev/ttyS1 instead.
-The command line usage of wacdump is pretty simple:
+</a></p><p><a name="wacdump">The command line usage of wacdump is pretty simple:
-Usage: wacdump [options] device
+</a></p><blockquote><pre><a name="wacdump">Usage: wacdump [options] device
Options:
-h, --help - usage
-c, --class device_cls - use specified class (see below)
@@ -1767,40 +1795,45 @@ Supported device classes:
Supported device names:
serial: art, art2, dig, dig2, pp, gr, pl, int, int2, c100
usb: pp, gr, gr2, int, int2, pl, vol
-
-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 XFree86 has it open. Access
-denied errors probably indicate that you are not root <#root>. If you
-get different types of errors, let me know so we can get them documented.
-
-Serial users are advised that now is a good time to plug in your tablet,
+</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 XFree86 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.
-Let's run wacdump. Here are some command line examples:
+</p><p>Let's run wacdump. Here are some command line examples:
-[jej@ayukawa src]$ ./wacdump /dev/input/event0 # typical USB tablet
+</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>
-Here is a sample command line for Tablet PC. Since Tablet PC normally
-doesn't explicitly set its Wacom digitizer to a serial port, you
-probably need to run setserial. /It is not necessary to run setserial
-for standard Wacom tablets./ The IO port may be different for your
-Tablet PC.
+<div class="diff">
+<p>Here is a sample command line for Tablet PC. Since Tablet PC normally doesn't explicitly
+set its Wacom digitizer to a serial port, you probably need to run setserial. <i>It is
+not necessary to run setserial for standard Wacom tablets.</i> The IO port may be different
+for your Tablet PC.
-[jej@ayukawa src]$ setserial /dev/ttyS2 port 0x93f8 autoconfig
+</p><blockquote><pre>[jej@ayukawa src]$ setserial /dev/ttyS2 port 0x93f8 autoconfig
[jej@ayukawa src]$ ./wacdump -f c100 /dev/ttyS2 # Wacom digitizer on fake COM3
+</pre></blockquote>
+</div>
-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>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:
-wacdump v0.4.0
+</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
@@ -1814,26 +1847,27 @@ RELWHEEL=+00000 (-00001 .. +00001) THROTTLE=+00000 (-01023 .. +01023)
LEFT= MIDDLE= RIGHT= EXTRA=
SIDE= TOUCH= STYLUS= STYLUS2=
+</pre></blockquote>
-The top portion identifies the tablet, and unless you specifically
+<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.
-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 provide
-serial numbers for their styluses. When a button is pressed, the button
-heading will change to something like "STYLUS=DOWN".
+</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 provide serial numbers
+for their styluses. When a button is pressed, the button heading will change
+to something like "STYLUS=DOWN".
-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> 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.
-Different tablets will have different options. Here is the lowly
-ArtPadII for comparison.
+</p><p>Different tablets will have different options. Here is the lowly ArtPadII
+for comparison.
-wacdump v0.4.0
+</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
@@ -1843,107 +1877,104 @@ TOOLTYPE=NONE IN_PROX=+00000 (+00000 .. +00000)
LEFT= MIDDLE= RIGHT= EXTRA=
SIDE= TOUCH= STYLUS= STYLUS2=
+</pre></blockquote>
-Notice that this tablet has no tilt, and the pressure range is
-considerably reduced. This version of wacdump does not distinguish
+<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. This will likely
+present, even though the tablet itself has no mouse. This will likely
change in the future.
-*Out of Range Values*
+</p><p><b>Out of Range Values</b>
-If you get X and Y coordinates, pressures, or tilt values outside of the
-ranges specified, please let me know as soon as possible. Bad range
-values can prevent the XFree86 driver from working correctly. It is
-helpful if you can determine the true maximum values and send them along
-with your tablet type and model number. A text-mode copy of the screen
-would be even better.
-
-
- 5.0 - Configuring XFree86
-
-Two steps must be completed to get X to recognize your tablet. First,
+</p><p>If you get X and Y coordinates, pressures, or tilt values outside of the
+ranges specified, please let me know as soon as possible. Bad range values
+can prevent the XFree86 driver from working correctly. It is helpful if you
+can determine the true maximum values and send them along with your tablet
+type and model number. A text-mode copy of the screen would be even better.
+<a name="x11">
+</a></p><h1><a name="x11">5.0 - Configuring XFree86</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 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 is not very functional.
+existence. Second, you need to update the XInput driver that pertains
+to the tablet since the one that ships with XFree86 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
-driver are available in the stable and beta releases on the Downloading
-the Code <#download> page. You may also check Lepied's Wacom Site
-<http://people.mandrakesoft.com/~flepied/projects/wacom/> which has
-source code up to version 26 as of this writing.
-
-
- 5.1 - Adding the InputDevices
-
-The X Window system identifies the stylus and eraser on your tablet as
-XInput devices. Applications that want to know the absolute position of
+have to take what you get for the time being. Updates to the XFree86 driver
+are available in the stable and beta releases on the
+</a><a href="#download">Downloading the Code</a> page. You may
+also check <a href="http://people.mandrakesoft.com/%7Eflepied/projects/wacom/">Lepied's Wacom Site</a> which
+has source code up to version 26 as of this writing.
+<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 and eraser on your tablet as
+XInput devices. Applications that want to know the absolute position of
your stylus can request that information directly, and this generally
-bypasses whatever the mouse happens to be doing at the time. This design
-is not without problems though. For one, changing your setup or adding a
-new tool requires making changes to the XF86Config file and restarting
-X. This should be fixed in the future.
-
-For now however, add the InputDevice sections to your XF86Config file.
-This assumes you are running XFree86 4.x. On some distributions, this
-file is called XF86Config-4. Notice that the serial and USB
-configurations are different, so only include the appropriate lines. For
-Tablet PCs, options "Device" and "ForceDevice" should be included. You
+bypasses whatever the mouse happens to be doing at the time. This design
+is not without problems though. For one, changing your setup or adding
+a new tool requires making changes to the XF86Config file and restarting
+X. This should be fixed in the future.
+
+</a></p><p><a name="inputdev">For now however, add the InputDevice sections to your XF86Config file. This
+assumes you are running XFree86 4.x. <span class="diff">On some distributions,
+this file is called XF86Config-4</span>. Notice that the serial and USB
+configurations are different, so only include the appropriate lines. 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; the default serial and USB devices are given. All the new driver
+tablet; the default serial and USB devices are given. All the new driver
options are listed in the manual page below.
-Section "InputDevice"
+
+</a></p><blockquote><pre><a name="inputdev">Section "InputDevice"
Driver "wacom"
Identifier "cursor"
- *Option "Device" "/dev/ttyS0" # SERIAL ONLY*
- *Option "Device" "/dev/input/event0" # USB ONLY*
+ <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
+ <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
Option "Type" "cursor"
- *Option "USB" "on" # USB ONLY*
- *Option "ForceDevice" "ISDV4" # Tablet PC ONLY*
+ <b>Option "USB" "on" # USB ONLY</b>
+ <b>Option "ForceDevice" "ISDV4" # Tablet PC ONLY</b>
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
- *Option "Device" "/dev/ttyS0" # SERIAL ONLY*
- *Option "Device" "/dev/input/event0" # USB ONLY*
+ <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
+ <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
Option "Type" "stylus"
- *Option "USB" "on" # USB ONLY*
- *Option "ForceDevice" "ISDV4" # Tablet PC ONLY*
+ <b>Option "USB" "on" # USB ONLY</b>
+ <b>Option "ForceDevice" "ISDV4" # Tablet PC ONLY</b>
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
- *Option "Device" "/dev/ttyS0" # SERIAL ONLY*
- *Option "Device" "/dev/input/event0" # USB ONLY*
+ <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
+ <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
Option "Type" "eraser"
- *Option "USB" "on" # USB ONLY*
- *Option "ForceDevice" "ISDV4" # Tablet PC ONLY*
+ <b>Option "USB" "on" # USB ONLY</b>
+ <b>Option "ForceDevice" "ISDV4" # Tablet PC ONLY</b>
EndSection
-*# This section is for Intuos3 or Cintiq 21UX only*
+<b># This section is for Intuos3 or Cintiq 21UX only</b>
Section "InputDevice"
Driver "wacom"
Identifier "pad"
- *Option "Device" "/dev/ttyS0" # SERIAL ONLY*
- *Option "Device" "/dev/input/event0" # USB ONLY*
+ <b>Option "Device" "/dev/ttyS0" # SERIAL ONLY</b>
+ <b>Option "Device" "/dev/input/event0" # USB ONLY</b>
Option "Type" "pad"
- *Option "USB" "on" # USB ONLY*
+ <b>Option "USB" "on" # USB ONLY</b>
EndSection
+</a></pre></blockquote>
-The above four sections identify the cursor, stylus, eraser, 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><a name="inputdev">The above four sections identify the cursor, stylus, eraser, 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.
-The configuration options listed by your system's man page is way out of
-date. Below is an updated wacom man page. We will commit this page to
-XFree86 CVS repository as soon as we get enough positive feedbacks from
-users like you.
+</a></p><p><a name="inputdev">The configuration options listed by your system's man page is way out of date.
+Below is an updated wacom man page. We will commit this page to XFree86 CVS
+repository as soon as we get enough positive feedbacks from users like you.</a></p>
-WACOM(4) WACOM(4)
+<blockquote><pre><a name="inputdev">WACOM(4) WACOM(4)
NAME
wacom - Wacom input driver
@@ -2145,159 +2176,151 @@ SEE ALSO
Xorg(1x), xorg.conf(5x), xorgconfig(1x), Xserver(1x), X(7).
AUTHORS
- Frederic Lepied <lepied@xfree86.org>, Ping Cheng <pingc@wacom.com>,
- John E. Joganic <jej@j‐arkadia.com>
+ Frederic Lepied &lt;lepied@xfree86.org&gt;, Ping Cheng &lt;pingc@wacom.com&gt;,
+ John E. Joganic &lt;jej@j‐arkadia.com&gt;
X.Org Version 6.8.1 WACOM(4)
-
-
- 5.2 - Mouse1
-
-This section largely deals with interaction problems between the mouse1
-device, PS/2 mouse, and USB tablets. Serial users can ignore this part.
-
-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 (in kernel 2.4).
-
-In kernel 2.6, Steve W pointed out that /dev/psaux is nothing more than
-another name for /dev/input/mice. You can avoid having to build mousedev
-by using the approriate /dev/input/mouseX (usually mouse0 for ps2) in
-your XF86config. You must NOT use /dev/psaux or /dev/input/mice in your
-X config.
-
-If you do not have a USB mouse, adding the Mouse1 device is /probably
-not something you want to do/. 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.
-
-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.
-
-Therefore, if you have a Mouse1 section, leave it. Redhat 8.0 at least,
+</a></pre></blockquote>
+<a name="mouse1">
+</a><h2><a name="mouse1">5.2 - Mouse1</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><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 (in kernel 2.4).
+
+</a></p><p></p><div class="diff"><a name="mouse1">In kernel 2.6, Steve W pointed out that /dev/psaux is
+nothing more than another name for /dev/input/mice. You can avoid having
+to build mousedev by using the approriate /dev/input/mouseX (usually mouse0
+for ps2) in your XF86config. You must NOT use /dev/psaux or /dev/input/mice
+in your X config. </a></div>
+
+<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.
-There is one exception however. If you have no other mouse device in
-your ServerLayout section, /do not/ 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."
-
-
- 5.3 - ServerLayout
+</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."
-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><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.
-Section "ServerLayout"
+</a></p><blockquote><pre><a name="srvlayout">Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
- *InputDevice "cursor" "SendCoreEvents"
+ <b>InputDevice "cursor" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
- InputDevice "pad" # For Intuos3 or Cintiq 21UX tablets. It should NOT send core event*
+ InputDevice "pad" # For Intuos3 or Cintiq 21UX tablets. It should NOT send core event</b>
#InputDevice "Mouse1" "SendCoreEvents"
#InputDevice "tablet" "SendCoreEvents"
EndSection
-
-This section determines which devices are actually used by the server.
-In the case above, the cursor, stylus, and eraser devices are selected
-while the mouse1 and tablet devices are commented out. At present, this
-is the correct configuration for proper operation of the tablet whether
-you are using the beta package or the production package.
-
-pad should not send core events. So, it should not include
-"SendCoreEvents" or "AlwaysCore".
-
-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.
-
-You have completed the XF86Config file changes. By aware that if you
-reboot your computer with the Wacom plugged in and Redhat's Anaconda
-program notices, it will 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 seems to reverse the process, but again, you should
-check the file to be certain. My recommendation is to tell Anaconda to
-ignore the tablet until the device detection works properly.
-
-
- 5.4 - Updating wacom_drv.o
-
-There are a number of wacom_drv.o files about. XFree86 is shipping
-version 23. Redhat 8.0 is shipping version 25. Lepied's page has the
-source code for 26, but the binary identifies itself as 23ss1. The
-Downloading the Code <#download> page currently offers source and binary
-for 26-j0.6.3 in the stable package and 26-j0.5.26 in the beta version.
-In total, I recommend using the drivers in the packages that I provide
-since they correspond with what is shown in this document. Any new
-functionality that gets added will be built on top of these files as well.
-
-Note: the binary wacom_drv.o file is located in the prebuilt directory
-of the stable and beta packages. Instructions for rebuilding from source
-are available in the Appendix under Building wacom_drv.o from Scratch
-<#builddrv> if you are a developer yourself or the binary is not
+</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, and eraser devices are selected while
+the mouse1 and tablet devices are commented out. 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">pad should not send core events. So, it should not include "SendCoreEvents"
+ or "AlwaysCore".
+
+</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 file changes. By aware that if you reboot
+your computer with the Wacom plugged in and Redhat's Anaconda program notices,
+it will 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 seems to
+reverse the process, but again, you should check the file to be certain.
+My recommendation is to tell Anaconda to ignore the tablet until the device
+detection works properly.
+</a><a name="wacomdrv">
+</a></p><h2><a name="wacomdrv">5.4 - Updating wacom_drv.o</a></h2>
+<p><a name="wacomdrv">The </a><a href="#download">Downloading the Code</a> page currently
+offers source and binary for 26-linuxwacom-0.6.8.tar.bz2 in the stable package
+and 26-0.6.9 in the beta version. I recommend using the X driver
+ in the package you get the kernel drivers ( if you use a USB tablet) and the Wacom
+Control Panel since they are in sync on supporting new functionality and new tablet
+models.
+
+</p><p>Note: the binary wacom_drv.o file is located in the prebuilt directory
+of the stable and beta packages. Instructions for rebuilding from source
+are available in the Appendix under <a href="#builddrv">Building wacom_drv.o from Scratch</a> if you are a developer yourself or the binary is not
compatible with your system.
-With that said, locate and replace wacom_drv.o. Using /locate/, we find
-the driver in the XFree86 tree. This directory is pretty standard, so it
-is unlikely that your file will be located elsewhere. Note the
-assumption is that you are using XFree86 4.x. Anything from the 3.x
-version probably won't work.
+</p><p>With that said, locate and replace wacom_drv.o. Using <i>locate</i>,
+we find the driver in the X11R6 tree. This directory is pretty standard,
+so it is unlikely that your file will be located elsewhere. Note the
+assumption is that you are using XFree86 4.x or X11R6.x.
-[root@ayukawa root]# locate wacom_drv.o
-/usr/X11R6/lib/modules/input/*wacom_drv.o*
+</p><blockquote><pre>[root@ayukawa root]# locate wacom_drv.o
+/usr/X11R6/lib/modules/input/<b>wacom_drv.o</b>
[root@ayukawa root]# cd /usr/X11R6/lib/modules/input
-[root@ayukawa input]# cp *wacom_drv.o* /home/jej/src/wacom/*wacom_drv_old.o*
-[root@ayukawa input]# cp /home/jej/src/wacom/prebuilt/*wacom_drv.o_vxkvk wacom_drv.o*
-where vx stands for your XFree86 version and vk stands for your kernel version.
+[root@ayukawa input]# cp <b>wacom_drv.o</b> /home/jej/src/wacom/<b>wacom_drv_old.o</b>
+[root@ayukawa input]# cp /home/jej/src/wacom/prebuilt/<b>wacom_drv.o_<span class="diff">x</span> wacom_drv.o</b>
+where <span class="diff">x</span> stands for XFree86 version or xorg.
+</pre></blockquote>
-The old file is copied away, and replaced with the newer version. The
-binary modules are presently built on a Redhat 8.0 system using gcc 3.2
-under glibc. This should work for most, if not all, major distributions.
-If it does not load on yours, please let me know.
+The old file is copied away, and replaced with the newer version. If it does not
+load on your system, please let me know.
+<a name="restartx">
+</a><h2><a name="restartx">5.5 - Restart X</a></h2>
+<p><a name="restartx">Finally, restart X. You may wish to do this from runlevel 3 for
+testing purposes.
- 5.5 - Restart X
-
-Finally, restart X. You may wish to do this from runlevel 3 for testing
-purposes.
-
-[root@ayukawa root]# init 3
+</a></p><blockquote><pre><a name="restartx">[root@ayukawa root]# init 3
...processes starting and stopping...
[root@ayukawa root]# startx
+</a></pre></blockquote>
-If the X server dies, you can always back-out the changes to the
-XF86Config file and try again. Worse case, copy the wacom_drv_old.o file
-back to its original place. But first, look at the XFree86 log file 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 name="restartx">If the X server dies, you can always back-out the changes to the XF86Config
+file and try again. Worse case, copy the wacom_drv_old.o file back to
+its original place. But first, look at the XFree86 log file 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.
-[root@ayukawa root]# grep -i wacom /var/log/XFree86.0.log
+</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: *26-j0.6.3* $
+(II) Wacom driver level: <b>26-linuxwacom-0.6.8.tar.bz2</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)
@@ -2307,124 +2330,123 @@ 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
-
-Notice the driver version 26-j0.6.3 above. This is the new stable
-wacom_drv.o driver. The beta driver is currently 26-j0.5.26.
-
-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.
-
-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.
-
-Lastly, if you would like more logging, the parameter "DebugLevel" can
-be set to values between 1 and 11, with 11 being way too much, and 1
-being fairly useful.
-
-
- 5.6 - Check the Pointer Status
-
-You can check the XInput pointer status by using /xsetpointer/ as below.
-The man page states that calling xsetpointer with the name of a
-particular device will set it as the primary pointing device.
-
-[root@ayukawa log]# xsetpointer -l
+</a></pre></blockquote>
+
+<a name="restartx">Notice the driver version 26-linuxwacom-0.6.8.tar.bz2 above. This is the new stable
+wacom_drv.o driver. The beta driver is currently 26-0.6.9.
+
+</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" can be
+set to values between 1 and 11, with 11 being way too much, and 1 being fairly
+useful.
+</a><a name="ptrstat">
+</a></p><h2><a name="ptrstat">5.6 - 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>
-
- 6.0 - Using xidump
-
-The xidump program is similar to wacdump, but it parses and displays
+<a name="xidump">
+</a><h1><a name="xidump">6.0 - Using 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
+itself. This is useful for seeing what programs like gimp and gsumi are
receiving from X.
-Presently, xidump will display proximity and motion events for the
-stylus, cursor, and eraser input devices. xidump supports different
+</a></p><p><a name="xidump">Presently, xidump will display proximity and motion events for
+the stylus, cursor, and eraser 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.
-
-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.
-
-*Building xidump*
-
-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.
-
-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.
-
-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.
-
-[jej@ayukawa linuxwacom]$ ./configure
-checking for XLib include directory... *found*
-checking for XLib header files... *found*
-checking for ncurses.h... *yes*
+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>Building xidump</b>
+
+</a></p><p><a name="xidump">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="xidump">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="xidump">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="xidump">[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:
...
- *XLib - yes*
- *ncurses - yes*
+ <b>XLib - yes</b>
+ <b>ncurses - yes</b>
...
BUILD OPTIONS:
...
- *xidump - yes*
+ <b>xidump - yes</b>
...
----------------------------------------
-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
+</a></pre></blockquote>
+
+<p><a name="xidump">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
+available. If you encounter warnings, it is most likely that your
development environment is missing some packages.
-When you run /make/, 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
-directory. It is installed by running /make install/.
+</a></p><p><a name="xidump">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 directory.
+It is installed by running <i>make install</i>.
-*Running xidump*
+</a></p><p><a name="xidump"><b>Running xidump</b>
-xidump takes one argument, the input device specified in your XF86Config
-file. Ordinarily, this would be either stylus, cursor, or eraser, but
-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">xidump takes one argument, the input device specified in your XF86Config
+file. Ordinarily, this would be either stylus, cursor, or eraser, but 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.
-[jej@ayukawa src]$ ./xidump -l
+</a></p><blockquote><pre><a name="xidump">[jej@ayukawa src]$ ./xidump -l
eraser extension
stylus extension
cursor extension
@@ -2442,34 +2464,35 @@ eraser extension
axis[3]: res=1, max=-64, max=63
axis[4]: res=1, max=-64, max=63
axis[5]: res=1, max=0, max=1023
+</a></pre></blockquote>
-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.
+<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.
-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
+</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.
-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.
-
-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.
-
-[jej@ayukawa src]$ ./xidump -u raw stylus
+</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
...
@@ -2483,19 +2506,20 @@ runs; you can safely ignore it. Closing it will kill the application.
...
17.35933795: Motion: x= +7089 y=+27061 p= 4 tx= +48 ty= +63 w= +0
17.37444395: Proximity Out
-<Ctrl-C>
-
-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.
-
-[jej@ayukawa src]$ ./xidump stylus
+&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 Axes: 6 Buffer: 0
@@ -2509,14 +2533,15 @@ Proximity: IN
Focus:
Buttons: 1-DOWN
Keys:
+</a></pre></blockquote>
-All of the ranges are display 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.
+<p><a name="xidump">All of the ranges are display 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.
-For completeness sake, here are the command line options:
+</a></p><p><a name="xidump">For completeness sake, here are the command line options:
-Usage: xidump [options] input_device
+</a></p><blockquote><pre><a name="xidump">Usage: xidump [options] input_device
-h, --help - usage
-v, --verbose - verbose
-V, --version - version
@@ -2525,50 +2550,49 @@ Usage: xidump [options] input_device
Use --list option for input_device choices
UI types: curses, raw
+</a></pre></blockquote>
-There are not many options, but the --list option is helpful for
+<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. The future GTK mode will be available in the same
-manner. Adding the --verbose option increases the amount of output, and
+curses and raw modes. The future GTK mode will be available in the same
+manner. Adding the --verbose option increases the amount of output, and
when used in conjunction with --list, displays the device capabilities.
-*Out of Range Values*
-
-At present, we are discovering a number of problems with out-of-range
-values. Rest assured, we are looking into it, so if you encounter them
-yourself, you might consider check the mailing list for similar
-problems, and if your problem is unique, let us know. When the driver is
-behaving better, I'll increase the priority of this class of problem.
-Until then, you'll probably just get a message back saying "sorry, and
-yes, we know." The most serious problem seems to be with runaway
-pressure settings, so those will get investigated first.
-
-
- 7.0 - Using 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 file.
-
-However, it is reported that there are systems on which you can not run
-xsetwacom due to some XFree86 interface error. We did not figure out the
-root cause of this problem yet. Please check Success Stories <#success>
-page to see if your system is in question. If it is, you'll have to add
-the configuration options to your /etc/X11/XF86Config file. Please refer
-Configuring XFree86 <#x11> for details.
-
-*Building xsetwacom*
-
-xsetwacom uses libwacomcfg.so to communicate with Wacom XFree86 driver,
-wacom_drv.o. So, libwacomcfg.so should be built and installed.
-
-libwacomcfg.so relies on Xlib. In the configure script, it will default
-the Xlib path to /usr/X11R6. If your Xlib is not installed under
-/usr/X11R6, you'll need to specify the path (dir) by /--with-xlib=dir/.
-Let's see what we get from configure:
-
-[jej@ayukawa linuxwacom]$./configure
+</a></p><p><a name="xidump"><b>Out of Range Values</b>
+
+</a></p><p><a name="xidump">At present, we are discovering a number of problems with out-of-range
+values. Rest assured, we are looking into it, so if you encounter them
+yourself, you might consider check the mailing list for similar problems,
+and if your problem is unique, let us know. When the driver is behaving
+better, I'll increase the priority of this class of problem. Until then,
+you'll probably just get a message back saying "sorry, and yes, we know."
+The most serious problem seems to be with runaway pressure settings, so
+those will get investigated first.
+</a><a name="xsetwacom">
+</a></p><h1><a name="xsetwacom">7.0 - Using 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 file.
+
+</a></p><p><a name="xsetwacom">However, it is reported that there are systems on which you can not run
+xsetwacom due to some XFree86 interface error. We did not figure out the root
+cause of this problem yet. Please check </a><a href="#success">Success Stories</a> page to see if your system is in question.
+If it is, you'll have to add the configuration options to your /etc/X11/XF86Config
+file. Please refer <a href="#x11">Configuring XFree86</a>
+for details.
+
+</p><p><b>Building xsetwacom</b>
+
+</p><p>xsetwacom uses libwacomcfg.so to communicate with Wacom XFree86 driver,
+wacom_drv.o. So, libwacomcfg.so should be built and installed.
+
+</p><p>libwacomcfg.so relies on Xlib. In the configure script, it will default
+the Xlib path to /usr/X11R6. If your Xlib is not installed under /usr/X11R6,
+you'll need to specify the path (dir) by <i>--with-xlib=dir</i>. Let's see
+what we get from configure:
+
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$./configure
...
----------------------------------------
BUILD ENVIRONMENT:
@@ -2598,29 +2622,29 @@ Let's see what we get from configure:
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-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.
+<p>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.
-Next, run /make/. The output will be stored in the linuxwacom package's
-src and src/.libs directory. They will be installed by running /make
-install (you need to switch to superuser to run this command)/.
+</p><p>Next, run <i>make</i>. The output will be stored in the linuxwacom
+package's src and src/.libs directory. They will be installed by running
+<i>make install (you need to switch to superuser to run this command)</i>.
-If wacom_drv.o was running while installing xsetwacom, xsetwacom can be
-launched immediately after /make install/ and /exit (switch back to your
-own account)/.
+</p><p>If wacom_drv.o was running while installing xsetwacom, xsetwacom can be
+launched immediately after <i>make install</i> and <i>exit (switch back
+to your own account)</i>.
-If wacom_drv.o is installed by the same /make install/ as xsetwacom is,
-restarting X server is required to use the newly built wacom_drv.o. We
-strongly recommand to build and install the wacom_drv.o and xsetwacom
-from the same release package since the out of sync wacom_drv.o and
-xsetwacom may crash your X server.
+</p><p>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.o. We
+strongly recommand to build and install the wacom_drv.o and xsetwacom from
+the same release package since the out of sync wacom_drv.o and xsetwacom may
+crash your X server.
-*Running xsetwacom*
+</p><p><b>Running xsetwacom</b>
-[jej@ayukawa linuxwacom]$xsetwacom
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$xsetwacom
Usage: xsetwacom [options] [command [arguments...]]
Options:
-h, --help - usage
@@ -2631,46 +2655,49 @@ Options:
Commands:
list [dev|param] - display known devices, parameters
set dev_name param [values...] - set device parameter by name
+</pre></blockquote>
+
+<p>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 is considered as dev_name in xsetwacom command.
-The most used xsetwacom command is /xsetwacom set dev_name param
-[values...]/, 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 /Stylus/ as
-your Wacom tool's Identifier, which is considered is considered as
-dev_name in xsetwacom command.
+</p><p>If you want to change <i>Stylus's</i> mode from absolute (default) to relative, then:
-If you want to change /Stylus's/ mode from absolute (default) to
-relative, then:
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$xsetwacom set Stylus mode relative
+</pre></blockquote>
-[jej@ayukawa linuxwacom]$xsetwacom set Stylus mode relative
+<p>If you want to change button 2 to left-double-click, then:
-If you want to change button 2 to left-double-click, then:
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$xsetwacom set Stylus button2 17
+</pre></blockquote>
-[jej@ayukawa linuxwacom]$xsetwacom set Stylus button2 17
+<p>If you want to set the pressure sensitivity a bit softer, then:
-If you want to set the pressure sensitivity a bit softer, then:
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$xsetwacom set Stylus PressCurve 0,15,85,100
+</pre></blockquote>
-[jej@ayukawa linuxwacom]$xsetwacom set Stylus PressCurve 0,15,85,100
+<p>If you want the buttons behave the Tablet PC way, i.e., sending button event only when
+button1 (the tip) is pressed, then:
-If you want the buttons behave the Tablet PC way, i.e., sending button
-event only when button1 (the tip) is pressed, then:
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$xsetwacom set Stylus TPCButton on
+</pre></blockquote>
-[jej@ayukawa linuxwacom]$xsetwacom set Stylus TPCButton on
-Below is a list of the parameters and their values used by /xsetwacom
-set/ command:
+Below is a list of the parameters and their values used by <i>xsetwacom set</i> command:
- param [values...] results
+<blockquote><pre> 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
- Button/M/ integer (1 - 16) sets button /M/ to button integer click
- Button/M/ 17 sets button /M/ to left-double-click
- Button/M/ 18 ignores button /M/ click
- Button/M/ 19 sets button /M/ to Mode Toggle
+ Button<i>M</i> integer (1 - 16) sets button <i>M</i> to button integer click
+ Button<i>M</i> 17 sets button <i>M</i> to left-double-click
+ Button<i>M</i> 18 ignores button <i>M</i> click
+ Button<i>M</i> 19 sets button <i>M</i> to Mode Toggle
PressCurve i1,i2,i3,i4 sets the pressure bezier curve, where i1+i4=100; i2+i4=100
DebugLevel integer (1 - 12) sets the level of debugging trace
SpeedLevel integer (1 - 11) sets relative cursor movement speed
@@ -2680,12 +2707,15 @@ set/ command:
mmonitor on|off turns on/off across monitor movement on multi-monitor desktop
TPCButton on|off turns on/off the buttons as Tablet PC buttons
------------------------------------------------------------------
+</pre></blockquote>
-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. Below is an example of my .xinitrc:
+<p>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.
-[jej@ayukawa jej]$more .xinitrc
+Below is an example of my .xinitrc:
+
+</p><blockquote><pre>[jej@ayukawa jej]$more .xinitrc
xsetwacom set Stylus0 TopX 10
xsetwacom set Stylus0 TopY 67
xsetwacom set Stylus0 BottomX 7170
@@ -2693,51 +2723,50 @@ xsetwacom set Stylus0 BottomY 5778
xsetwacom set Stylus0 TPCButton 1
# run the primary system script
. /etc/X11/xinit/xinitrc
-
-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. To see what's under your home
-directory, use /ls -al ~/.
-
-
- 8.0 - Using wacomcpl
-
-The wacomcpl is a graphic Wacom driver configuration tool. It changes
-the pressure sensitivity, click threshold, button functions, cursor mode
-and speed without having to manually modify XF86Config 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, a file
-under your home directory, will be updated each time you run wacomcpl.
-The .xinitrc 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.
-
-If your system doesn't execute .xinitrc at login, after exiting from
-wacomcpl, you will need to copy those xsetwacom commands in .xinitrc
-into the startup script (.bashrc, .cshrc, .profile, etc.) that your
-system launches.
-
-However, it is reported that there are systems on which can not run
-wacomcpl due to some XFree86 interface error. We did not figure out the
-root cause of this problem yet. Please check Success Stories <#success>
-page to see if your system is in question. If it is, you'll have to add
-the configuration options to your /etc/X11/XF86Config file. Please refer
-Configuring XFree86 <#x11> for details.
-
-*Building wacomcpl*
-
-wacomcpl is written in tcl/tk. It uses libwacomxi.so and xsetwacom to
-communicate with Wacom XFree86 driver, wacom_drv.o. So, to run wacomcpl,
-tcl/tk should be installed, libwacomxi.so and xsetwacom should be built
-and installed.
-
-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:
-
-[jej@ayukawa linuxwacom]$./configure
+</pre></blockquote>
+
+<div class="diff">
+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.
+To see what's under your home directory, use <i>ls -al ~</i>.
+</div>
+<a name="wacomcpl">
+</a><h1><a name="wacomcpl">8.0 - Using wacomcpl</a></h1>
+<p><a name="wacomcpl">The wacomcpl is a graphic Wacom driver configuration tool. It changes
+the pressure sensitivity, click threshold, button functions, cursor mode
+and speed without having to manually modify XF86Config 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, a file under
+your home directory, will be updated each time you run wacomcpl. The .xinitrc
+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">
+<a name="wacomcpl">If your system doesn't execute .xinitrc at login, after exiting from wacomcpl,
+you will need to copy those xsetwacom commands in .xinitrc into the startup script
+(.bashrc, .cshrc, .profile, etc.) that your system launches.
+</a></div>
+
+<p><a name="wacomcpl">However, it is reported that there are systems on which can not run wacomcpl
+due to some XFree86 interface error. We did not figure out the root cause of
+this problem yet. Please check </a><a href="#success">Success Stories</a> page to see if your system is in question.
+If it is, you'll have to add the configuration options to your /etc/X11/XF86Config
+file. Please refer <a href="#x11">Configuring XFree86</a> for details.
+
+</p><p><b>Building wacomcpl</b>
+
+</p><p>wacomcpl is written in tcl/tk. It uses libwacomxi.so and xsetwacom to
+communicate with Wacom XFree86 driver, wacom_drv.o. So, to run wacomcpl,
+tcl/tk should be installed, libwacomxi.so and xsetwacom should be built and
+installed.
+
+</p><p>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:
+
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$./configure
...
----------------------------------------
BUILD ENVIRONMENT:
@@ -2767,16 +2796,17 @@ get from configure:
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-As shown above, the build options indicate that libwacomxi and xsetwacom
-will be built. If not, then scroll back through the configuration to see
+<p>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.
-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:
+</p><p>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:
-[jej@ayukawa linuxwacom]$./configure
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$./configure
...
----------------------------------------
BUILD ENVIRONMENT:
@@ -2806,11 +2836,12 @@ For example, on another system, I have installed tcl/tk under
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-The build options show that libwacomxi will not be built. When I scroll
+<p>The build options show that libwacomxi will not be built. When I scroll
back through the configuration, I see:
-...
+</p><blockquote><pre>...
checking for tcl header files... not found; tried /usr/include/tcl.h
***
*** WARNING:
@@ -2837,10 +2868,11 @@ checking for ncurses.h... yes
*** libwacomxi requires tcl environment; libwacomxi will not be built.
***
...
+</pre></blockquote>
-Then I run configure with option --with-tcl=/usr/local/ActiveTcl:
+<p>Then I run configure with option --with-tcl=/usr/local/ActiveTcl:
-[jej@ayukawa linuxwacom]$./configure --with-tcl=/usr/local/ActiveTcl
+</p><blockquote><pre>[jej@ayukawa linuxwacom]$./configure --with-tcl=/usr/local/ActiveTcl
...
----------------------------------------
BUILD ENVIRONMENT:
@@ -2870,234 +2902,224 @@ Then I run configure with option --with-tcl=/usr/local/ActiveTcl:
tabletdev.o - no
wacom_drv.o - no
----------------------------------------
+</pre></blockquote>
-*Note:* You may need to issue the following commands before running
-wacomcpl:
-
-[jej@ayukawa linuxwacom]$export LD_LIBRARY_PATH=/usr/local/ActiveTcl/lib:$LD_LIBRARY_PATH
+<p><b>Note:</b> You may need to issue the following commands before running wacomcpl:
+
+</p><blockquote><pre>[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
+</pre></blockquote>
-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:
+<p>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:
-[jej@ayukawa linuxwacom]$./configure --with-tcl=/usr/local/tcl8.4 --with-tk=/usr/local/tk8.4
+</p><blockquote><pre>[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
-
-Next, run /make/. The output will be stored in the linuxwacom package's
-src, src/.libs, src/wacomxi, and src/wacomxi/.libs directories. They
-will be installed by running /make install (you need to switch to
-superuser to run this command)/.
-
-*Running wacomcpl*
-
-If wacom_drv.o was running while installing wacomcpl, wacomcpl can be
-launched immediately after /make install/ and /exit (switch back to your
-own account)/.
-
-If wacom_drv.o is installed by the same /make install/ as wacomcpl is,
-restarting X server is required to use the newly built wacom_drv.o. We
-strongly recommand to build and install the wacom_drv.o and wacomcpl
-from the same release package since the out of sync wacom_drv.o and
-wacomcpl may crash your X server.
-
-
- 9.0 - Working With 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, you may need to rebuild gtk with ./configure
---with-xinput=xfree on Slackware. As of March 23, 2004, newer Slackware
-shipping with gtk2 has configured with xinput.
-
-Bring up /gimp/ and select "File|Dialogs|Input Devices" if using 1.x or
-"File|Preferences|Input Devices|Configure Extended Input Devices" if
-using 2.x. You will see a drop-down list with all three devices present.
-After enabling them, you can see their respective statuses by calling up
-"File|Dialogs|Device Status". It has been recommended that the devices
-be set to "Screen" mode rather than "Window" due to a bug in Gimp which
-causes it to crash unexpectedly.
-
-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.
-
-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.
-
-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.
-
-Good luck!
-
-
- 10.0 - Contacts
-
-Ping Cheng can be contacted at the following email address:
-pingc@wacom.com <mailto: pingc@wacom.com?SUBJECT=WACOM>.
-
-
- 11.0 - Appendix
-
-This section is for everything that is either not critical or simply too
-complex to describe in the document above without becoming overly
+</pre></blockquote>
+
+<p>Next, run <i>make</i>. The output will be stored in the linuxwacom
+package's src, src/.libs, 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>.
+
+</p><p><b>Running wacomcpl</b>
+
+</p><p>If wacom_drv.o was running while installing wacomcpl, wacomcpl can be
+launched immediately after <i>make install</i> and <i>exit (switch back
+to your own account)</i>.
+
+</p><p>If wacom_drv.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.o. We
+strongly recommand to build and install the wacom_drv.o and wacomcpl from
+the same release package since the out of sync wacom_drv.o and wacomcpl may
+crash your X server.
+<a name="gimp">
+</a></p><h1><a name="gimp">9.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, you may need to rebuild gtk with ./configure --with-xinput=xfree on
+Slackware. 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|Dialogs|Input Devices" if using 1.x
+or "File|Preferences|Input Devices|Configure Extended Input Devices" if using
+2.x. You will see a drop-down list with all three devices present. After
+enabling them, you can see their respective statuses by calling up
+"File|Dialogs|Device Status". It has been recommended that the devices be set
+to "Screen" mode rather than "Window" due to a bug in Gimp which causes it to
+crash unexpectedly.
+
+</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">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="contact">
+</a></p><h1><a name="contact">10.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">11.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.
-
-
- 11.1 - Building wacom_drv.o from Scratch
-
-
- Introduction
-
-I should tell you out-right that this is a time consuming process.
-
-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.
-
- 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 Installing wacom driver On Debian
- <#debwcmdrv> page.
-
-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.
-
-Since I am running Redhat 8.0 and cannot really pull down the original
+</a><a name="builddrv">
+</a></p><h2><a name="builddrv">11.1 - 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.
+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>
- Step One: Get The Source
+<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:
-On Redhat 8.0, I discovered the version number for my currently
-installed XFree86 packages by running /rpm -q XFree86/. 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:
-
-[root@sen src]# rpm -ivh XFree86-4.2.0-72.src.rpm
+</p><blockquote><pre>[root@sen src]# rpm -ivh XFree86-4.2.0-72.src.rpm
1:XFree86 ########################################### [100%]
-
-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.
-
-
- Step Two: Build the Source
-
-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.
-
-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.
-
-[root@sen root]# cd /usr/src/redhat
+</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
-
-Not every distribution has /rpmbuild/; try using just /rpm/ instead. At
-some point, Redhat split the build functionality into separate programs.
-If after looking through the /rpm/ man page, you still cannot get this
-to work, send me some email, and I'll look into it.
-
-The important item is the "-bc" option of /rpmbuild/ 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.
-
-
- Step Three: Build the Original Driver
-
-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
-/find . -name xf86Wacom.c/ from the BUILD directory.
-
-[root@sen redhat]# cd BUILD/XFree86-4.2.0/xc/programs/Xserver/hw/xfree86/input/wacom
+</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
-
-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.
-
-[root@sen wacom]# make
+</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>
- Step Four: Automating the Build Process
-
-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.
-
-[jej@ayukawa wacom]$ ./configure \
+<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:
@@ -3105,12 +3127,13 @@ BUILD ENVIRONMENT:
BUILD OPTIONS:
wacom_drv.o - yes
[jej@ayukawa wacom]$ make
+</pre></blockquote>
-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>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:
-xf86Wacom.o: xf86Wacom.c
+</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 \
@@ -3133,42 +3156,43 @@ xf86Wacom.o: xf86Wacom.c
-DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 \
-DNARROWPROTO -DIN_MODULE -DXFree86Module -DLINUX_INPUT \
-o xf86Wacom.o -c xf86Wacom.c
-
- similar rules applie to wcmSerial.c, wcmUSB.c, wcmISDV4.c,
- wcmCommon.c, wcmCompat.c, wcmConfig.c, and, wcmFilter.c.
-
-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.
-
-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.
-
-
- 11.2 - Installing wacom driver On Debian
-
-The following documentation for building wacom driver on Debian was
-written by Olivier Lecarme. You can also refer to Olivier's page here
-<http://www.i3s.unice.fr/~ol/success.html> for updates.
-
-
-
-Copyright (C) June 14, 2005 Olivier Lecarme.
-
-I'm using the Sid version of Debian, but I was told that the Sarge
+</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">11.2 - 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.
-*Download the 2.6.11 kernel*
+<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
@@ -3181,7 +3205,7 @@ not decide what it was. Thus, I chose the last pre-compiled kernel.
If you use Lilo, configure your /etc/lilo.conf file, taking into
account that this kernel needs an initrd= line.
-*Optionally*
+<b>Optionally</b>
If your case is irrelevant, please skip this section and the following one.
@@ -3204,7 +3228,7 @@ 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
-*Install the optional packages*
+<b>Install the optional packages</b>
1. cd /usr/src
@@ -3214,7 +3238,7 @@ debian-fglrx-xfree86/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
-*Install the wacom tools package*
+<b>Install the wacom tools package</b>
1. apt-get install wacom-tools
@@ -3227,7 +3251,7 @@ 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).
-*Prepare for the /dev/input/wacom link*
+<b>Prepare for the /dev/input/wacom link</b>
In /etc/udev/rules.d/10-wacom.rules, add the following line:
@@ -3235,7 +3259,7 @@ 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.
-*Change your XF86Config-4 file*
+<b>Change your XF86Config-4 file</b>
The important sections are:
@@ -3286,9 +3310,9 @@ Section "InputDevice"
Option "USB" "on"
EndSection
- 3. The section dealing with your normal mouse must be considered too. See Mouse1 <#mouse1>.
+ 3. The section dealing with your normal mouse must be considered too. See <a href="#mouse1">Mouse1</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 *Remaining problems*.
+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:
@@ -3300,24 +3324,24 @@ Section "Device"
Option "UseInternalAGPGART" "no"
EndSection
-*Final steps*
+<b>Final steps</b>
1. Reboot. This will also restart the X server, of course.
2. Enjoy!
-*If you want to use the expresskeys of your Intuos tablet*
+<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 here <http://web.telia.com/~u46133770/wacom/index.html> a specific
+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 *not* enable it in "Preferences -> Input Devices -> Configure
+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.
-*Remaining problems*
+<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
@@ -3336,26 +3360,26 @@ you will have to change this in your XF86Config-4 file.
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.
-*Final remarks*
+<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">11.3 - 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.
- 11.3 - Building wacom driver On PowerMac
+<br><br><br><br>
-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.
+Copyright (C) 2004 Joseph E. Sacco<br><br>
+</a><pre><a name="ppcwcmdrv">System:
-
-Copyright (C) 2004 Joseph E. Sacco
-
-System:
-
-<< Hardware >>
+&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]
@@ -3364,7 +3388,7 @@ System:
* pen
* air brush
-<< Software >>
+&lt;&lt; Software &gt;&gt;
* Yellow Dog Linux 3.0.1 [Redhat variant for PPC]
* kernel: 2.4.25-ben1
* linuxwacom-0.6.1
@@ -3383,12 +3407,12 @@ System:
I have a Wacom Intuos tablet "working" [after a fashion] on a PPC
running Yellow Dog Linux 3.0.1.
-<< What works >>
+&lt;&lt; What works &gt;&gt;
* input devices:
* cursor movement
* button clicks
* wheel rotation [as seen from wacdump]
- * pressure [as seen from wacdump & gimp]
+ * pressure [as seen from wacdump &amp; gimp]
* tilt [as seen from wacdump]
* applications:
@@ -3396,12 +3420,12 @@ running Yellow Dog Linux 3.0.1.
* xidump
* xev
* xinput-1.2
- * gimp-1.25 & gimp-2.0
+ * gimp-1.25 &amp; gimp-2.0
* dia-0.9.2
-< What does *not* work >>
+&lt; What does *not* work &gt;&gt;
* input devices:
- * Mode "Relative" for pen & air brush [should it???]
+ * Mode "Relative" for pen &amp; air brush [should it???]
* applications:
* xsetwacom
@@ -3420,8 +3444,8 @@ KCFLAGS = -Wall $(DEBUG_FLAGS) -D__KERNEL__ \
-Wstrict-prototypes -Wno-trigraphs -O2 \
-fno-strict-aliasing \
-fno-common -fomit-frame-pointer -pipe \
- ===> -mpreferred-stack-boundary=2 \
- ===> -march=$(ARCHITECTURE)
+ ===&gt; -mpreferred-stack-boundary=2 \
+ ===&gt; -march=$(ARCHITECTURE)
The last two options are not applicable to a PPC.
@@ -3437,7 +3461,7 @@ KCFLAGS = -Wall $(DEBUG_FLAGS) -D__KERNEL__ \
[ from ./src/Makefile.in ]
$(XF86OBJS): xf86Wacom.c Makefile
- ==> gcc -O2 $(DEPFLAGS) -march=i386 -mcpu=$(ARCHITECTURE) -pipe -ansi \
+ ==&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 \
@@ -3448,7 +3472,7 @@ $(XF86OBJS): xf86Wacom.c Makefile
-I$(XF86_DIR)/include/extensions \
-I$(XF86_DIR) \
-I$(XF86_DIR)/exports/include \
-==> -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE \
+==&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 \
@@ -3535,7 +3559,7 @@ 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
@@ -3645,21 +3669,19 @@ absolute. Again the command fails with an unkown X error. Note that the
XFree86 command 'xsetmode' works fine.
-Joseph
+</vojtech></a></pre>
+<a name="debwacom">
+</a><h2><a name="debwacom">11.4 - Building wacom driver On Fedora Core 3</a></h2>
+<a name="debwacom">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>
- 11.4 - Building wacom driver On Fedora Core 3
-
-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.
+Copyright (C) 2005 Paul Duffy<br><br>
-
-
-Copyright (C) 2005 Paul Duffy
-
-Procedure for building linuxwacom package on Fedora Core 3 with 2.6 series
+</a><pre><a name="debwacom">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:
@@ -3678,13 +3700,13 @@ 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
-*What you will need:*
+<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 >> X Software Development). If you're unsure
+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 >> Add/Remove Applications.
+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
@@ -3715,9 +3737,9 @@ 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= /usr/src/redhat/SPECS/kernel-2.6.spec
+rpmbuild -bp --target=<arch> /usr/src/redhat/SPECS/kernel-2.6.spec
-If you don't know what is, run the command
+If you don't know what <arch> is, run the command
uname -m
@@ -3937,37 +3959,37 @@ Good luck.
regards, Paul
- 11.5 - Building wacom driver On Suse 9.2
-
-Nico Kadel-Garcia has provided a changed SPEC file for SuSE 9.2. You can
-download the spec here
-<http://sourceforge.net/tracker/index.php?func=detail&aid=1117278&group_id=69596&atid=525124>.
-
+</arch></arch></a></pre>
+<a name="susewacom">
+</a><h2><a name="susewacom">11.5 - 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">11.6 - Laptop Suspend/Resume Tips</a></h2>
+<a name="laptop">Thomas Netter (tnetter at iniDOTunizhDOTc) kindly provided a solution
+to the following problem:
- 11.6 - Laptop Suspend/Resume Tips
-
-Thomas Netter (tnetter at iniDOTunizhDOTc) kindly provided a solution to
-the following problem:
-
-When laptop recovers from suspend/resume, XFree86/X.org no longer
+</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>
-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 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:
-- Fold the laptop's screen
+</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
@@ -3985,394 +4007,309 @@ resuming the laptop.
Therefore, old airline operations apply: Extinguish LEDs before take-off!
-Thomas
-
-
- 11.7 - GNU Free Document License
-
-Version 1.2, November 2002
-
-Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to assure
-everyone the effective freedom to copy and redistribute it, with or
-without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible for
-modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative works
-of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft license
-designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free program
-should come with manuals providing the same freedoms that the software
-does. But this License is not limited to software manuals; it can be
-used for any textual work, regardless of subject matter or whether it is
-published as a printed book. We recommend this License principally for
-works whose purpose is instruction or reference.
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The "Document", below, refers
-to any such manual or work. Any member of the public is a licensee, and
-is addressed as "you". You accept the license if you copy, modify or
-distribute the work in a way requiring permission under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles are
-designated, as being those of Invariant Sections, in the notice that
-says that the Document is released under this License. If a section does
-not fit the above definition of Secondary then it is not allowed to be
-designated as Invariant. The Document may contain zero Invariant
-Sections. If the Document does not identify any Invariant Sections then
-there are none.
-
-The "Cover Texts" are certain short passages of text that are listed, as
-Front-Cover Texts or Back-Cover Texts, in the notice that says that the
-Document is released under this License. A Front-Cover Text may be at
-most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the general
-public, that is suitable for revising the document straightforwardly
-with generic text editors or (for images composed of pixels) generic
-paint programs or (for drawings) some widely available drawing editor,
-and that is suitable for input to text formatters or for automatic
-translation to a variety of formats suitable for input to text
-formatters. A copy made in an otherwise Transparent file format whose
-markup, or absence of markup, has been arranged to thwart or discourage
-subsequent modification by readers is not Transparent. An image format
-is not Transparent if used for any substantial amount of text. A copy
-that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain ASCII
-without markup, Texinfo input format, LaTeX input format, SGML or XML
-using a publicly available DTD, and standard-conforming simple HTML,
-PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the machine-generated
-HTML, PostScript or PDF produced by some word processors for output
-purposes only.
-
-The "Title Page" means, for a printed book, the title page itself, plus
-such following pages as are needed to hold, legibly, the material this
-License requires to appear in the title page. For works in formats which
-do not have any title page as such, "Title Page" means the text near the
-most prominent appearance of the work's title, preceding the beginning
-of the body of the text.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
+</a></pre></blockquote>
+<a name="lic">
+</a><h2><a name="lic">11.7 - GNU Free Document License</a></h2>
+<a name="lic">Version 1.2, November 2002<br>
+<br>
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.<br>
+59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>
+Everyone is permitted to copy and distribute verbatim copies<br>
+of this license document, but changing it is not allowed.<br>
+<br>
+0. PREAMBLE<br>
+<br>
+</a><p><a name="lic">The purpose of this License is to make a manual, textbook,
+or other functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it, with or
+without modifying it, either commercially or noncommercially. Secondarily,
+this License preserves for the author and publisher a way to get credit for
+their work, while not being considered responsible for modifications made
+by others. </a></p><p><a name="lic">This License is a kind of "copyleft", which means
+that derivative works of the document must themselves be free in the same
+sense. It complements the GNU General Public License, which is a copyleft
+license designed for free software. </a></p><p><a name="lic">We have designed this License in order to use it
+for manuals for free software, because free software needs free documentation:
+a free program should come with manuals providing the same freedoms that
+the software does. But this License is not limited to software manuals; it
+can be used for any textual work, regardless of subject matter or whether
+it is published as a printed book. We recommend this License principally
+for works whose purpose is instruction or reference. </a></p><p><a name="lic">1. APPLICABILITY AND DEFINITIONS
+
+</a></p><p><a name="lic">This License applies to any manual or other work,
+in any medium, that contains a notice placed by the copyright holder saying
+it can be distributed under the terms of this License. Such a notice grants
+a world-wide, royalty-free license, unlimited in duration, to use that work
+under the conditions stated herein. The "Document", below, refers to any
+such manual or work. Any member of the public is a licensee, and is addressed
+as "you". You accept the license if you copy, modify or distribute the work
+in a way requiring permission under copyright law. </a></p><p><a name="lic">A "Modified Version" of the Document means any
+work containing the Document or a portion of it, either copied verbatim,
+or with modifications and/or translated into another language. </a></p><p><a name="lic">A "Secondary Section" is a named appendix or a
+front-matter section of the Document that deals exclusively with the relationship
+of the publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly within
+that overall subject. (Thus, if the Document is in part a textbook of mathematics,
+a Secondary Section may not explain any mathematics.) The relationship could
+be a matter of historical connection with the subject or with related matters,
+or of legal, commercial, philosophical, ethical or political position regarding
+them. </a></p><p><a name="lic">The "Invariant Sections" are certain Secondary
+Sections whose titles are designated, as being those of Invariant Sections,
+in the notice that says that the Document is released under this License.
+If a section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero Invariant
+Sections. If the Document does not identify any Invariant Sections then there
+are none. </a></p><p><a name="lic">The "Cover Texts" are certain short passages of
+text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+that says that the Document is released under this License. A Front-Cover
+Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+ </a></p><p><a name="lic">A "Transparent" copy of the Document means a machine-readable
+copy, represented in a format whose specification is available to the general
+public, that is suitable for revising the document straightforwardly with
+generic text editors or (for images composed of pixels) generic paint programs
+or (for drawings) some widely available drawing editor, and that is suitable
+for input to text formatters or for automatic translation to a variety of
+formats suitable for input to text formatters. A copy made in an otherwise
+Transparent file format whose markup, or absence of markup, has been arranged
+to thwart or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount of
+text. A copy that is not "Transparent" is called "Opaque". </a></p><p><a name="lic">Examples of suitable formats for Transparent copies
+include plain ASCII without markup, Texinfo input format, LaTeX input format,
+SGML or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of transparent
+image formats include PNG, XCF and JPG. Opaque formats include proprietary
+formats that can be read and edited only by proprietary word processors,
+SGML or XML for which the DTD and/or processing tools are not generally available,
+and the machine-generated HTML, PostScript or PDF produced by some word processors
+for output purposes only. </a></p><p><a name="lic">The "Title Page" means, for a printed book, the
+title page itself, plus such following pages as are needed to hold, legibly,
+the material this License requires to appear in the title page. For works
+in formats which do not have any title page as such, "Title Page" means the
+text near the most prominent appearance of the work's title, preceding the
+beginning of the body of the text. </a></p><p><a name="lic">A section "Entitled XYZ" means a named subunit
+of the Document whose title either is precisely XYZ or contains XYZ in parentheses
+following text that translates XYZ in another language. (Here XYZ stands
+for a specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title" of
-such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this License,
-but only as regards disclaiming warranties: any other implication that
-these Warranty Disclaimers may have is void and has no effect on the
-meaning of this License.
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies to
-the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further copying
-of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover Texts:
-Front-Cover Texts on the front cover, and Back-Cover Texts on the back
-cover. Both covers must also clearly and legibly identify you as the
-publisher of these copies. The front cover must present the full title
-with all words of the title equally prominent and visible. You may add
-other material on the covers in addition. Copying with changes limited
-to the covers, as long as they preserve the title of the Document and
-satisfy these conditions, can be treated as verbatim copying in other
-respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy a
-computer-network location from which the general network-using public
-has access to download using public-standard network protocols a
-complete Transparent copy of the Document, free of added material. If
-you use the latter option, you must take reasonably prudent steps, when
-you begin distribution of Opaque copies in quantity, to ensure that this
-Transparent copy will remain thus accessible at the stated location
-until at least one year after the last time you distribute an Opaque
-copy (directly or through your agents or retailers) of that edition to
-the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under the
-conditions of sections 2 and 3 above, provided that you release the
-Modified Version under precisely this License, with the Modified Version
-filling the role of the Document, thus licensing distribution and
-modification of the Modified Version to whoever possesses a copy of it.
-In addition, you must do these things in the Modified Version:
-
- * A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of previous
- versions (which should, if there were any, be listed in the
- History section of the Document). You may use the same title as a
- previous version if the original publisher of that version gives
- permission.
- * B. List on the Title Page, as authors, one or more persons or
- entities responsible for authorship of the modifications in the
- Modified Version, together with at least five of the principal
- authors of the Document (all of its principal authors, if it has
- fewer than five), unless they release you from this requirement.
- * C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
- * D. Preserve all the copyright notices of the Document.
- * E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- * F. Include, immediately after the copyright notices, a license
- notice giving the public permission to use the Modified Version
- under the terms of this License, in the form shown in the Addendum
- below.
- * G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's license
- notice.
- * H. Include an unaltered copy of this License.
- * I. Preserve the section Entitled "History", Preserve its Title,
- and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on the
- Title Page. If there is no section Entitled "History" in the
- Document, create one stating the title, year, authors, and
- publisher of the Document as given on its Title Page, then add an
- item describing the Modified Version as stated in the previous
- sentence.
- * J. Preserve the network location, if any, given in the Document
- for public access to a Transparent copy of the Document, and
- likewise the network locations given in the Document for previous
- versions it was based on. These may be placed in the "History"
- section. You may omit a network location for a work that was
- published at least four years before the Document itself, or if
- the original publisher of the version it refers to gives permission.
- * K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
- * L. Preserve all the Invariant Sections of the Document, unaltered
- in their text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- * M. Delete any section Entitled "Endorsements". Such a section may
- not be included in the Modified Version.
- * N. Do not retitle any existing section to be Entitled
- "Endorsements" or to conflict in title with any Invariant Section.
-* O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or appendices
-that qualify as Secondary Sections and contain no material copied from
-the Document, you may at your option designate some or all of these
-sections as invariant. To do this, add their titles to the list of
-Invariant Sections in the Modified Version's license notice. These
-titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of Front-Cover
-Text and one of Back-Cover Text may be added by (or through arrangements
-made by) any one entity. If the Document already includes a cover text
-for the same cover, previously added by you or by arrangement made by
-the same entity you are acting on behalf of, you may not add another;
-but you may replace the old one, on explicit permission from the
-previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its license
-notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by adding
-at the end of it, in parentheses, the name of the original author or
-publisher of that section if known, or else a unique number. Make the
-same adjustment to the section titles in the list of Invariant Sections
-in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History" in
-the various original documents, forming one section Entitled "History";
-likewise combine any sections Entitled "Acknowledgements", and any
-sections Entitled "Dedications". You must delete all sections Entitled
-"Endorsements."
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate and
-independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright resulting
-from the compilation is not used to limit the legal rights of the
-compilation's users beyond what the individual works permit. When the
-Document is included an aggregate, this License does not apply to the
-other works in the aggregate which are not themselves derivative works
-of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these copies
-of the Document, then if the Document is less than one half of the
-entire aggregate, the Document's Cover Texts may be placed on covers
-that bracket the Document within the aggregate, or the electronic
-equivalent of covers if the Document is in electronic form. Otherwise
-they must appear on printed covers that bracket the whole aggregate.
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may distribute
-translations of the Document under the terms of section 4. Replacing
-Invariant Sections with translations requires special permission from
-their copyright holders, but you may include translations of some or all
-Invariant Sections in addition to the original versions of these
-Invariant Sections. You may include a translation of this License, and
-all the license notices in the Document, and any Warrany Disclaimers,
-provided that you also include the original English version of this
-License and the original versions of those notices and disclaimers. In
-case of a disagreement between the translation and the original version
-of this License or a notice or disclaimer, the original version will
-prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
+such a section when you modify the Document means that it remains a section
+"Entitled XYZ" according to this definition. </a></p><p><a name="lic">The Document may include Warranty Disclaimers next
+to the notice which states that this License applies to the Document. These
+Warranty Disclaimers are considered to be included by reference in this License,
+but only as regards disclaiming warranties: any other implication that these
+Warranty Disclaimers may have is void and has no effect on the meaning of
+this License. </a></p><p><a name="lic">2. VERBATIM COPYING
+
+</a></p><p><a name="lic">You may copy and distribute the Document in any
+medium, either commercially or noncommercially, provided that this License,
+the copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other conditions
+whatsoever to those of this License. You may not use technical measures to
+obstruct or control the reading or further copying of the copies you make
+or distribute. However, you may accept compensation in exchange for copies.
+If you distribute a large enough number of copies you must also follow the
+conditions in section 3. </a></p><p><a name="lic">You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+</a></p><p><a name="lic">3. COPYING IN QUANTITY
+
+</a></p><p><a name="lic">If you publish printed copies (or copies in media
+that commonly have printed covers) of the Document, numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover Texts:
+Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover.
+Both covers must also clearly and legibly identify you as the publisher of
+these copies. The front cover must present the full title with all words
+of the title equally prominent and visible. You may add other material on
+the covers in addition. Copying with changes limited to the covers, as long
+as they preserve the title of the Document and satisfy these conditions,
+can be treated as verbatim copying in other respects. </a></p><p><a name="lic">If the required texts for either cover are too
+voluminous to fit legibly, you should put the first ones listed (as many
+as fit reasonably) on the actual cover, and continue the rest onto adjacent
+pages. </a></p><p><a name="lic">If you publish or distribute Opaque copies of the
+Document numbering more than 100, you must either include a machine-readable
+Transparent copy along with each Opaque copy, or state in or with each Opaque
+copy a computer-network location from which the general network-using public
+has access to download using public-standard network protocols a complete
+Transparent copy of the Document, free of added material. If you use the
+latter option, you must take reasonably prudent steps, when you begin distribution
+of Opaque copies in quantity, to ensure that this Transparent copy will remain
+thus accessible at the stated location until at least one year after the
+last time you distribute an Opaque copy (directly or through your agents
+or retailers) of that edition to the public. </a></p><p><a name="lic">It is requested, but not required, that you contact
+the authors of the Document well before redistributing any large number of
+copies, to give them a chance to provide you with an updated version of the
+Document. </a></p><p><a name="lic">4. MODIFICATIONS
+
+</a></p><p><a name="lic">You may copy and distribute a Modified Version of
+the Document under the conditions of sections 2 and 3 above, provided that
+you release the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution and
+modification of the Modified Version to whoever possesses a copy of it. In
+addition, you must do these things in the Modified Version: </a></p><ul>
+<li><a name="lic">A. Use in the Title Page (and on the covers, if any) a
+title distinct from that of the Document, and from those of previous versions
+(which should, if there were any, be listed in the History section of the
+Document). You may use the same title as a previous version if the original
+publisher of that version gives permission. </a></li><li><a name="lic">B. List on the Title Page, as authors, one or
+more persons or entities responsible for authorship of the modifications
+in the Modified Version, together with at least five of the principal authors
+of the Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement. </a></li><li><a name="lic">C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+</a></li><li><a name="lic">D. Preserve all the copyright notices of the Document.
+</a></li><li><a name="lic">E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+</a></li><li><a name="lic">F. Include, immediately after the copyright notices,
+a license notice giving the public permission to use the Modified Version
+under the terms of this License, in the form shown in the Addendum below.
+</a></li><li><a name="lic">G. Preserve in that license notice the full lists
+of Invariant Sections and required Cover Texts given in the Document's license
+notice. </a></li><li><a name="lic">H. Include an unaltered copy of this License.
+</a></li><li><a name="lic">I. Preserve the section Entitled "History", Preserve
+its Title, and add to it an item stating at least the title, year, new authors,
+and publisher of the Modified Version as given on the Title Page. If there
+is no section Entitled "History" in the Document, create one stating the
+title, year, authors, and publisher of the Document as given on its Title
+Page, then add an item describing the Modified Version as stated in the previous
+sentence. </a></li><li><a name="lic">J. Preserve the network location, if any, given
+in the Document for public access to a Transparent copy of the Document,
+and likewise the network locations given in the Document for previous versions
+it was based on. These may be placed in the "History" section. You may omit
+a network location for a work that was published at least four years before
+the Document itself, or if the original publisher of the version it refers
+to gives permission. </a></li><li><a name="lic">K. For any section Entitled "Acknowledgements"
+or "Dedications", Preserve the Title of the section, and preserve in the
+section all the substance and tone of each of the contributor acknowledgements
+and/or dedications given therein. </a></li><li><a name="lic">L. Preserve all the Invariant Sections of the
+Document, unaltered in their text and in their titles. Section numbers or
+the equivalent are not considered part of the section titles. </a></li><li><a name="lic">M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+</a></li><li><a name="lic">N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+</a></li><li><a name="lic">O. Preserve any Warranty Disclaimers.
+</a></li></ul>
+
+<p><a name="lic">If the Modified Version includes new front-matter sections
+or appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all of
+these sections as invariant. To do this, add their titles to the list of
+Invariant Sections in the Modified Version's license notice. These titles
+must be distinct from any other section titles. </a></p><p><a name="lic">You may add a section Entitled "Endorsements",
+provided it contains nothing but endorsements of your Modified Version by
+various parties--for example, statements of peer review or that the text
+has been approved by an organization as the authoritative definition of a
+standard. </a></p><p><a name="lic">You may add a passage of up to five words as a
+Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to
+the end of the list of Cover Texts in the Modified Version. Only one passage
+of Front-Cover Text and one of Back-Cover Text may be added by (or through
+arrangements made by) any one entity. If the Document already includes a
+cover text for the same cover, previously added by you or by arrangement
+made by the same entity you are acting on behalf of, you may not add another;
+but you may replace the old one, on explicit permission from the previous
+publisher that added the old one. </a></p><p><a name="lic">The author(s) and publisher(s) of the Document
+do not by this License give permission to use their names for publicity for
+or to assert or imply endorsement of any Modified Version. </a></p><p><a name="lic">5. COMBINING DOCUMENTS
+
+</a></p><p><a name="lic">You may combine the Document with other documents
+released under this License, under the terms defined in section 4 above for
+modified versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and list
+them all as Invariant Sections of your combined work in its license notice,
+and that you preserve all their Warranty Disclaimers. </a></p><p><a name="lic">The combined work need only contain one copy of
+this License, and multiple identical Invariant Sections may be replaced with
+a single copy. If there are multiple Invariant Sections with the same name
+but different contents, make the title of each such section unique by adding
+at the end of it, in parentheses, the name of the original author or publisher
+of that section if known, or else a unique number. Make the same adjustment
+to the section titles in the list of Invariant Sections in the license notice
+of the combined work. </a></p><p><a name="lic">In the combination, you must combine any sections
+Entitled "History" in the various original documents, forming one section
+Entitled "History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections Entitled
+"Endorsements." </a></p><p><a name="lic">6. COLLECTIONS OF DOCUMENTS
+
+</a></p><p><a name="lic">You may make a collection consisting of the Document
+and other documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy that is
+included in the collection, provided that you follow the rules of this License
+for verbatim copying of each of the documents in all other respects. </a></p><p><a name="lic">You may extract a single document from such a collection,
+and distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this License
+in all other respects regarding verbatim copying of that document. </a></p><p><a name="lic">7. AGGREGATION WITH INDEPENDENT WORKS
+
+</a></p><p><a name="lic">A compilation of the Document or its derivatives
+with other separate and independent documents or works, in or on a volume
+of a storage or distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights of the
+compilation's users beyond what the individual works permit. When the Document
+is included an aggregate, this License does not apply to the other works
+in the aggregate which are not themselves derivative works of the Document.
+ </a></p><p><a name="lic">If the Cover Text requirement of section 3 is applicable
+to these copies of the Document, then if the Document is less than one half
+of the entire aggregate, the Document's Cover Texts may be placed on covers
+that bracket the Document within the aggregate, or the electronic equivalent
+of covers if the Document is in electronic form. Otherwise they must appear
+on printed covers that bracket the whole aggregate. </a></p><p><a name="lic">8. TRANSLATION
+
+</a></p><p><a name="lic">Translation is considered a kind of modification,
+so you may distribute translations of the Document under the terms of section
+4. Replacing Invariant Sections with translations requires special permission
+from their copyright holders, but you may include translations of some or
+all Invariant Sections in addition to the original versions of these Invariant
+Sections. You may include a translation of this License, and all the license
+notices in the Document, and any Warrany Disclaimers, provided that you also
+include the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between the translation
+and the original version of this License or a notice or disclaimer, the original
+version will prevail. </a></p><p><a name="lic">If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve its
-Title (section 1) will typically require changing the actual title.
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to copy,
-modify, sublicense or distribute the Document 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.
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions of the
-GNU Free Documentation 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. See http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number. If
-the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-HOW TO USE THIS LICENSE FOR YOUR DOCUMENTS
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
- Copyright (c) YEAR YOUR NAME.
+Title (section 1) will typically require changing the actual title. </a></p><p><a name="lic">9. TERMINATION
+
+</a></p><p><a name="lic">You may not copy, modify, sublicense, or distribute
+the Document except as expressly provided for under this License. Any other
+attempt to copy, modify, sublicense or distribute the Document 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">10. FUTURE REVISIONS OF THIS LICENSE
+
+</a></p><p><a name="lic">The Free Software Foundation may publish new, revised
+versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/.
+ </a></p><p><a name="lic">Each version of the License is given a distinguishing
+version number. If the Document specifies that a particular numbered version
+of this License "or any later version" applies to it, you have the option
+of following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the Free
+Software Foundation. If the Document does not specify a version number of
+this License, you may choose any version ever published (not as a draft)
+by the Free Software Foundation. </a></p><p><a name="lic">HOW TO USE THIS LICENSE FOR YOUR DOCUMENTS
+
+</a></p><p><a name="lic">To use this License in a document you have written,
+include a copy of the License in the document and put the following copyright
+and license notices just after the title page: </a></p><blockquote><pre><a name="lic"> Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
+</a></pre></blockquote>
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
+<p><a name="lic">If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
- with the Invariant Sections being LIST THEIR TITLES, with the
+</a></p><blockquote><pre><a name="lic"> with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of free
-software license, such as the GNU General Public License, to permit
-their use in free software.
-
-
-
-Copyright (C) 2002-2005 - LinuxWacom -Last updated June 15, 2005
-This website and its contents are licensed under the GNU FDL
-</index.php/lic>.
+</a></pre></blockquote>
+
+<p><a name="lic">If you have Invariant Sections without Cover Texts, or some
+other combination of the three, merge those two alternatives to suit the
+situation. </a></p><p><a name="lic">If your document contains nontrivial examples of
+program code, we recommend releasing these examples in parallel under your
+choice of free software license, such as the GNU General Public License,
+to permit their use in free software. </a></p></td></tr></tbody></table></center>
+
+<br><br>
+
+<div class="copy" align="center">
+ Copyright (C) 2002-2005 - LinuxWacom -Last updated August 18, 2005<br>
+ This website and its contents are
+ <a class="copy" href="http://linuxwacom.sourceforge.net/index.php/lic">licensed under the GNU FDL</a>.<br>
+</div>
+</body></html> \ No newline at end of file
diff --git a/docs/docs_files/sflogo.png b/docs/docs_files/sflogo.png
index ea9f1da..7e1247a 100644
--- a/docs/docs_files/sflogo.png
+++ b/docs/docs_files/sflogo.png
Binary files differ
diff --git a/src/wacdump.c b/src/wacdump.c
index 95486a5..56d9cf9 100644
--- a/src/wacdump.c
+++ b/src/wacdump.c
@@ -29,6 +29,7 @@
** 2003-02-12 0.5.1 - added version option and fixed usage
** 2003-06-19 0.5.2 - added patch for I2 6x8 id 0x47
** 2005-02-17 0.6.6 - added I3 and support 64-bit system
+** 2005-09-01 0.7.0 - Added Cintiq 21UX
**
****************************************************************************/
@@ -47,7 +48,7 @@
#include "config.h"
#endif
-#define WACDUMP_VER "0.5.2"
+#define WACDUMP_VER "0.7.0"
/* from linux/input.h */
#define BITS_PER_LONG (sizeof(long) * 8)
diff --git a/src/wactablet.c b/src/wactablet.c
index 178be56..f4ae85d 100644
--- a/src/wactablet.c
+++ b/src/wactablet.c
@@ -1,7 +1,8 @@
/*****************************************************************************
** wactablet.c
**
-** Copyright (C) 2002, 2003 - John E. Joganic
+** Copyright (C) 2002 - 2003 - John E. Joganic
+** Copyright (C) 2004 - 2005 - Ping Cheng
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License
diff --git a/src/wactablet.h b/src/wactablet.h
index 32fcadb..315cf61 100644
--- a/src/wactablet.h
+++ b/src/wactablet.h
@@ -50,6 +50,7 @@
#define WACOMDEVICE_VOLITO2 0x000E
#define WACOMDEVICE_ACERC100 0x000F
#define WACOMDEVICE_INTUOS3 0x0010
+#define WACOMDEVICE_CINTIQV5 0x0011
typedef struct _WACOMMODEL WACOMMODEL;
struct _WACOMMODEL
diff --git a/src/wacusb.c b/src/wacusb.c
index c79bb96..9803e2f 100644
--- a/src/wacusb.c
+++ b/src/wacusb.c
@@ -226,6 +226,12 @@ static int USBIdentifyModel(USBTABLET* pUSB);
{ NULL }
};
+ static USBSUBTYPE xCintiqV5[] =
+ {
+ { "DTZ-21ux", "Wacom Cintiq 21UX", 1, 0x3F },
+ { NULL }
+ };
+
static USBSUBTYPE xIntuos3[] =
{
{ "PTZ-430", "Wacom Intuos3 4x5", 1, 0xB0 },
@@ -243,6 +249,7 @@ static int USBIdentifyModel(USBTABLET* pUSB);
{ "int", "Intuos", WACOMDEVICE_INTUOS, xIntuos },
{ "int2", "Intuos2", WACOMDEVICE_INTUOS2, xIntuos2 },
{ "int3", "Intuos3", WACOMDEVICE_INTUOS3, xIntuos3 },
+ { "ctq", "Cintiq (V5)", WACOMDEVICE_CINTIQV5, xCintiqV5 },
{ "pl", "Cintiq (PL)", WACOMDEVICE_CINTIQ, xCintiq },
{ "ptu", "Cintiq Partner (PTU)", WACOMDEVICE_PTU, xCintiqPartner },
{ "vol", "Volito", WACOMDEVICE_VOLITO, xVolito },