<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tengu</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tengu"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Tengu"/>
	<updated>2026-05-05T04:35:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Wacom_Serial_Tablet_PC_Stylus&amp;diff=41942</id>
		<title>Wacom Serial Tablet PC Stylus</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Wacom_Serial_Tablet_PC_Stylus&amp;diff=41942"/>
		<updated>2009-03-07T10:41:23Z</updated>

		<summary type="html">&lt;p&gt;Tengu: /* Linux Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |[[Image:Logo_wacom.gif|Wacom Logo]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Wacom Serial Tablet PC Stylus ===&lt;br /&gt;
This is a stylus made for tablet PCs by Wacom.&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Wacom&lt;br /&gt;
* Serial: irq 5 port 0x0200&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Linux Support==&lt;br /&gt;
The pen is supported by the XFree/Xorg Wacom driver. New tablets also have the [[MultiTouch]] capability. [[MultiTouch]] is experimentally supported presently by the Linux wacom project. The pen works regardless of [[MultiTouch]] support.&lt;br /&gt;
&lt;br /&gt;
The pen uses serial and appears on some {{path|/dev/ttySnn}} device where &amp;lt;tt&amp;gt;nn&amp;lt;/tt&amp;gt; is a number. An easy way to find it is to map {{path|/dev/ttyS0}} to the pen's port and irq. The values can be found under the windows driver properties. Using values from an {{X41T}} 1869-5CU, the command is: {{cmdroot|setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig}} (you need to run this after every suspend/resume cycle).&lt;br /&gt;
&lt;br /&gt;
This may be inserted into startup scripts in {{path|/etc/rc.d/}}&lt;br /&gt;
&lt;br /&gt;
The X config file needs to be changed to use the stylus. Add the following sections to your xorg.conf:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
      Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
      Identifier    &amp;quot;cursor&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/ttyS0&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Type&amp;quot;          &amp;quot;cursor&amp;quot;&lt;br /&gt;
      Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;     &lt;br /&gt;
      Option        &amp;quot;Mode&amp;quot;          &amp;quot;Absolute&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
    &lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
      Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
      Identifier    &amp;quot;stylus&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/ttyS0&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Type&amp;quot;          &amp;quot;stylus&amp;quot;&lt;br /&gt;
      Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
    &lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
      Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
      Identifier    &amp;quot;eraser&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/ttyS0&amp;quot;&lt;br /&gt;
      Option        &amp;quot;Type&amp;quot;          &amp;quot;eraser&amp;quot;&lt;br /&gt;
      Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
    # support for &amp;quot;touch&amp;quot; (with finger, available on x200t)&lt;br /&gt;
   Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
     Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
     Identifier    &amp;quot;touch&amp;quot;&lt;br /&gt;
     Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/ttyS0&amp;quot;          # SERIAL ONLY&lt;br /&gt;
     Option        &amp;quot;Type&amp;quot;          &amp;quot;touch&amp;quot;&lt;br /&gt;
     Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;               # Serial Tablet PC ONLY&lt;br /&gt;
   EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add the following lines to the ServerLayout section:&lt;br /&gt;
&lt;br /&gt;
    InputDevice    &amp;quot;cursor&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
    InputDevice    &amp;quot;stylus&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
    InputDevice    &amp;quot;eraser&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
    InputDevice    &amp;quot;touch&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
Check the wacom driver man page and [http://linuxwacom.sf.net/ website] for other options.&lt;br /&gt;
&lt;br /&gt;
For handwriting recognition using pen you can use [[CellWriter]].&lt;br /&gt;
&lt;br /&gt;
To get the right mouse button to map to the stylus button use this script and run it through .bashrc&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    xsetwacom set stylus Button1 1&lt;br /&gt;
    xsetwacom set stylus Button2 3&lt;br /&gt;
    xsetwacom set stylus Button3 3&lt;br /&gt;
&lt;br /&gt;
==xrandr Rotation==&lt;br /&gt;
&lt;br /&gt;
There is work underway to create a [https://code.edge.launchpad.net/~karl.hegbloom/tabuntu/tablet-screen-rotation-support Tablet Screen Rotation Support] package for Ubuntu. Because I can afford only one tablet computer, and since this is relatively new and not many others have put any work into it yet, so far it mainly supports the Lenovo Thinkpad X61 Tablet. The next phase of development involves refactoring in such a way that it can easily be expanded to support other brands and models of tablet computer. The planned mechanism is similar to that used by the scripts in the Debian acpi-support package.&lt;br /&gt;
&lt;br /&gt;
So far, it supports auto-rotation on conversion from laptop to tablet mode, including rebinding the navpad keys and turning the logical orientation of the Wacom tablet to match. It is done as an event called when the X Server has changed it's xRandR orientation. The actual work is carried out by a quick set of shell scripts that can easily be adapted and extended. The idea is that no matter what piece of software actually caused the X Server to rotate, the same things need to happen whenever it does. So the best place to hook in the support event is on an event handler for the RandR Rotate event. The programs and packaging are simple, and the source is available at the URL above. I encourage you to get a copy and learn from it while helping make it work for a new kind of tablet no other developer has created support for yet! If you can write an essay, you can write the necessary program.&lt;br /&gt;
&lt;br /&gt;
Because this ThinkWiki page is one of the sources I drew from when I initially created tablet-screen-rotation-support. The following scripts by Gtx, radix, and Papertiger probably contain some elements in common.  --[[User:KarlHegbloom|KarlHegbloom]] 21:55, 9 February 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== xrotate support scripts ===&lt;br /&gt;
&lt;br /&gt;
linuxwacom is very buggy. I needed some time to get the tablet work with &amp;quot;xrandr -r&amp;quot;. I use the script below to do screen rotation. copy the source an put it in /usr/local/bin/xrotate. You may change output and devices to fit to you're system (the default values work fine for an x41 tablet)&lt;br /&gt;
&lt;br /&gt;
you can use &amp;quot;xrotate +&amp;quot; to rotate the screen CCW or &amp;quot;xrotate -&amp;quot; to rotate clockwise. use &amp;quot;xrotate x&amp;quot; where x is&lt;br /&gt;
* 0 to set rotation to normal&lt;br /&gt;
* 1 to set rotation to left&lt;br /&gt;
* 2 to set rotation to inverted&lt;br /&gt;
* 3 to set rotation to right&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  &lt;br /&gt;
  output=LVDS&lt;br /&gt;
  if [ &amp;quot;$XROT_OUTPUT&amp;quot; ]&lt;br /&gt;
  then    &lt;br /&gt;
          output=$XROT_OUTPUT;&lt;br /&gt;
  fi&lt;br /&gt;
  devices=&amp;quot;stylus cursor&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  geomnbr=0&lt;br /&gt;
  xrandr=normal&lt;br /&gt;
  wacom=normal&lt;br /&gt;
  if [ &amp;quot;$1&amp;quot; == &amp;quot;-&amp;quot; ] || [ &amp;quot;$1&amp;quot; == &amp;quot;+&amp;quot; ] || ! [ &amp;quot;$1&amp;quot; ];&lt;br /&gt;
  then    &lt;br /&gt;
          operator=&amp;quot;$1&amp;quot;;&lt;br /&gt;
          [ &amp;quot;$1&amp;quot; ] || operator='+';&lt;br /&gt;
          case `xrandr --verbose | grep &amp;quot;^$output &amp;quot; | sed &amp;quot;s/^[^ ]* [^ ]* [^ ]* ([^(]*) \([a-z]*\).*/\1/&amp;quot;` in&lt;br /&gt;
                  normal)         geom=0;;&lt;br /&gt;
                  left)           geom=1;;&lt;br /&gt;
                  inverted)       geom=2;;&lt;br /&gt;
                  right)          geom=3;;&lt;br /&gt;
          esac&lt;br /&gt;
          let geom=${geom}${operator}1+4&lt;br /&gt;
          let geom=${geom}%4&lt;br /&gt;
  else    &lt;br /&gt;
          geom=&amp;quot;$1&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  case $geom in&lt;br /&gt;
          1)      wacom=2; xrandr=left ;;&lt;br /&gt;
          2)      wacom=3; xrandr=inverted ;;&lt;br /&gt;
          3)      wacom=1; xrandr=right ;;&lt;br /&gt;
          *)      wacom=0; xrandr=normal ;;&lt;br /&gt;
  esac&lt;br /&gt;
  &lt;br /&gt;
  echo &amp;quot;xrandr to $xrandr, xsetwacom to $wacom&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  &lt;br /&gt;
  if xrandr --output &amp;quot;$output&amp;quot; --rotate &amp;quot;$xrandr&amp;quot;; then&lt;br /&gt;
          for d in $devices&lt;br /&gt;
          do      &lt;br /&gt;
                  xsetwacom set &amp;quot;$device&amp;quot; Rotate &amp;quot;$wacom&amp;quot;&lt;br /&gt;
          done&lt;br /&gt;
  fi&lt;br /&gt;
  &lt;br /&gt;
  #workaround for linuxwacom bug&lt;br /&gt;
  if [ &amp;quot;`xsetwacom get stylus Mode`&amp;quot; == '1' ]; then&lt;br /&gt;
          for d in $devices&lt;br /&gt;
          do      &lt;br /&gt;
                  xsetwacom set stylus CoreEvent &amp;quot;off&amp;quot;&lt;br /&gt;
                  xsetwacom set stylus Mode &amp;quot;off&amp;quot;&lt;br /&gt;
          done&lt;br /&gt;
          { sleep 1;&lt;br /&gt;
          for d in $devices&lt;br /&gt;
          do      &lt;br /&gt;
                  xsetwacom set stylus Mode &amp;quot;on&amp;quot;&lt;br /&gt;
                  xsetwacom set stylus CoreEvent &amp;quot;on&amp;quot;&lt;br /&gt;
          done; } &amp;amp;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
--[[User:Gtx|Gtx]] 13:34, 22 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
modified script for linuxwacom 0.8.1-1.&lt;br /&gt;
 &lt;br /&gt;
   #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 output=&amp;quot;(normal left inverted right)&amp;quot; #LVDS&lt;br /&gt;
  # if [ &amp;quot;$XROT_OUTPUT&amp;quot; ]&lt;br /&gt;
  # then     &lt;br /&gt;
  #         output=$XROT_OUTPUT;&lt;br /&gt;
  # fi&lt;br /&gt;
 devices=&amp;quot;stylus cursor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 geomnbr=0&lt;br /&gt;
 xrandr=normal&lt;br /&gt;
 wacom=normal&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; == &amp;quot;-&amp;quot; ] || [ &amp;quot;$1&amp;quot; == &amp;quot;+&amp;quot; ] || ! [ &amp;quot;$1&amp;quot; ];&lt;br /&gt;
 then    &lt;br /&gt;
         operator=&amp;quot;$1&amp;quot;;&lt;br /&gt;
         [ &amp;quot;$1&amp;quot; ] || operator='+';&lt;br /&gt;
         case `xrandr --verbose | grep &amp;quot;$output&amp;quot; | sed &amp;quot;s/^[^ ]* [^ ]* [^ ]* ([^(]*) \([a-z]*\).*/\1/&amp;quot;` in&lt;br /&gt;
                 normal)         geom=0;;&lt;br /&gt;
                 left)          geom=1;;&lt;br /&gt;
                 inverted)       geom=2;;&lt;br /&gt;
                 right)          geom=3;;&lt;br /&gt;
         esac&lt;br /&gt;
         let geom=${geom}${operator}1+4&lt;br /&gt;
         let geom=${geom}%4	&lt;br /&gt;
 else    &lt;br /&gt;
         geom=&amp;quot;$1&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 case $geom in&lt;br /&gt;
         1)      wacom=2; xrandr=left ;;&lt;br /&gt;
         2)      wacom=3; xrandr=inverted ;;&lt;br /&gt;
         3)      wacom=1; xrandr=right ;;&lt;br /&gt;
         *)      wacom=0; xrandr=normal ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;xrandr to $xrandr, xsetwacom to $wacom&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
 &lt;br /&gt;
 if xrandr -o &amp;quot;$xrandr&amp;quot;; then&lt;br /&gt;
         for d in $devices&lt;br /&gt;
         do      &lt;br /&gt;
                 xsetwacom set &amp;quot;stylus&amp;quot; Rotate &amp;quot;$wacom&amp;quot;&lt;br /&gt;
         done&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 #workaround for linuxwacom bug&lt;br /&gt;
 if [ &amp;quot;`xsetwacom get stylus Mode`&amp;quot; == '1' ]; then&lt;br /&gt;
         for d in $devices&lt;br /&gt;
         do      &lt;br /&gt;
                 xsetwacom set stylus CoreEvent &amp;quot;off&amp;quot;&lt;br /&gt;
                 xsetwacom set stylus Mode &amp;quot;off&amp;quot;&lt;br /&gt;
         done&lt;br /&gt;
         { sleep 1;&lt;br /&gt;
         for d in $devices&lt;br /&gt;
         do      &lt;br /&gt;
                 xsetwacom set stylus Mode &amp;quot;on&amp;quot;&lt;br /&gt;
                 xsetwacom set stylus CoreEvent &amp;quot;on&amp;quot;&lt;br /&gt;
         done; } &amp;amp;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:radix|radix]] 13:15, 28 August 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
Additional code for rotating the 4 navigation keys on the display frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 case $geom in&lt;br /&gt;
         1)      xmodmap -e 'keycode 98 = Right';xmodmap -e 'keycode 100 = Up';xmodmap -e 'keycode 102 = Down';xmodmap -e 'keycode 104 = Left';;&lt;br /&gt;
         2)      xmodmap -e 'keycode 98 = Down';xmodmap -e 'keycode 100 = Right';xmodmap -e 'keycode 102 = Left';xmodmap -e 'keycode 104 = Up';;&lt;br /&gt;
         3)      xmodmap -e 'keycode 98 = Left';xmodmap -e 'keycode 100 = Down';xmodmap -e 'keycode 102 = Up';xmodmap -e 'keycode 104 = Right';;&lt;br /&gt;
         *)      xmodmap -e 'keycode 98 = Up';xmodmap -e 'keycode 100 = Left';xmodmap -e 'keycode 102 = Right';xmodmap -e 'keycode 104 = Down';;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Papertiger|Papertiger]] 02:05, 16 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
If the stylus still doesn't work try to reset the bios. This fixed it for me. --[[User:Gtx|Gtx]] 08:22, 21 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Device==&lt;br /&gt;
*ThinkPad {{X41_Tablet}}&lt;br /&gt;
*ThinkPad {{X60_Tablet}}&lt;br /&gt;
*ThinkPad {{X61_Tablet}}&lt;br /&gt;
*ThinkPad {{X200_Tablet}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Tengu</name></author>
		
	</entry>
</feed>