Digital notepads
This information applies to the following devices:
- Waltop: Digital Ink Pad T01s
- Aiptek: MyNote, MyNote Premium, MyNote Premium II
- Medion/Tevion: MD 85076, MD 85276 1
- Adesso: CyberPad
- Aclass Technology: EzPad Digital NotePad
These devices are all more or less the same product and apparently based on the Waltop device.
Note taking
Without PC, a digital notepad can be used for taking notes which are stored on its internal memory. Once connected to the PC, the notepad is recognised as standard USB mass storage device. Each page of the notes is in a file with the extension .top.
top2svg.py is a slightly modified version of a python script from 2 which converts top files to the widely supported svg format. Usage:
top2svg.py foo.top > foo.svg
To install the script, make it executable,
chmod +x top2svg.py
and copy it to a location included in your PATH variable.
The top files on an notepad can be organised in directories, so that the following shell script might be useful: topdir2pdf.sh converts all top files in the directory given as command-line argument to a single pdf-file. Example:
topdir2pdf.sh directory/with/top-files
creates the file top-files.pdf in the current directory. Each page of this pdf file corresponds to one top file in the directory top-files. The script requires top2svg.py to be installed, as well as Inkscape 3 and Ghostscript. The script can be installed in the same way as top2svg.py.
X11 input device
When connected to the USB port of a computer, the notepad is not only recognised as mass storage but also as mouse device. It should be usable as mouse replacement out of the box. However, the calibration of the cursor position varies with time, rendering the device useless for producing precise sketches, for example.
To overcome this problem, the xorg.conf file has to be adjusted.4 But first of all, we have to make sure that the notepad can be unambiguously identified with a certain device file (without this step, a device file /dev/input/event# with # a somewhat random integer will be assigned to the notepad). For this purpose, we create an udev rule. Both steps, creating the rule and adjusting the xorg.conf file require root privileges.
Udev rule
Udev rules are stated in plain text files in the directory /etc/udev/rules.d. The alphabetical order of the file names reflects the priority of the files. For our rule we create the file z60_xserver-xorg-input-waltop.rules (which has rather low priority, the rule might be overwritten in a file with higher priority) containing the following line:
KERNEL=="event*", ATTRS{idVendor}=="172f", SYMLINK+="input/waltop"
After restarting the udev daemon the notepad can now be accessed via /dev/input/waltop. The daemon is restarted with (as root)
/etc/init.d/udev restart
for Debian, a similar command for other systems or by rebooting.
xorg.conf
The following input device section must be added to the file /etx/X11/xorg.conf:
Section "InputDevice"
Identifier "Digital Notepad"
Driver "wacom"
Option "Device" "/dev/input/waltop"
Option "Type" "stylus"
Option "TopX" "1100"
Option "TopY" "1380"
Option "BottomY" "6752"
Option "BottomX" "10188"
EndSection
TopX and TopY are the coordinates on the notepad representing the top-left corner of the screen, BottomX and BottomY the coordinates for the bottom-right corner. The given values can be adjusted, keeping in mind that the top-left corner of the notepad is at TopX=0, TopY=0, its bottom-right corner at BottomX=11000, BottomY=8250.
Also, a corresponding entry in the server layout section is required:
Section "ServerLayout"
[...]
InputDevice "Digital Notepad" "SendCoreEvents"
EndSection
The X server has to be restarted for the changes to take effect.
Hotplugging
With the configuration described so far, the notepad has to be connected to the usb-port when the xserver is started. Once the xserver is running you can unplug and replug the device. Afterwards, by switching to a virtual console with Ctrl-Alt-F1 and back to the X server with Ctrl-Alt-F7 the device will be reinitialised. This should even work if the system is suspended to disk between unplugging and replugging.
For real hotplug support, the only solution so far seems to be wdaemon5 which makes the xserver believe that the notepad is present even if it is actually not.
Installation of Wdaemon
To install, first make sure that daemon6 is installed and in your PATH. Then, download the source code of wdaemon, extract the tarball and compile:
wget http://jake.ruivo.org/~aris/wdaemon/wdaemon-0.14.tar.bz2
tar -xjvf wdaemon-0.14.tar.bz2
cd wdaemon-0.14
make
The resulting executable should be copied to /usr/bin/:
cp wdaemon /usr/bin/
Now edit wdaemon.initrd: The line
. /etc/init.d/functions
can be removed. The line
daemon /usr/bin/wdaemon -c /etc/wdaemon.conf -f >/dev/null;
should be changed to
daemon -- /usr/bin/wdaemon -c /etc/wdaemon.conf -f >/dev/null;
and
killproc /usr/bin/wdaemon
to
killall /usr/bin/wdaemon
After editing, make the file executable,
chmod +x wdaemon.initrd
and copy it to /etc/init.d/wdaemon:
cp wdaemon.initrd /etc/init.d/wdaemon
New udev rules are installed to /etc/udev/:
cp udev/61-uinput-wacom.rules /etc/udev/rules.d/
mkdir /etc/udev/scripts
cp udev/is_uinput.sh /etc/udev/scripts/
Finally, create the directory /var/lock/subsys (if not already existent),
mkdir /var/lock/subsys
and make sure that wdaemon is started in the default runlevel - for Debian, this is done by creating a symbolic link in /etc/rc2.d:
ln -s /etc/init.d/wdaemon /etc/rc2.d/S89wdaemon
Configuration
Create the configuration file /etc/wdaemon.conf containing the line
device = 0,/dev/input/waltop
and change in /etc/X11/xorg.conf the line
Option "Device" "/dev/input/waltop"
to
Option "Device" "/dev/input/uinput-devices/uinput-wacom-penpartner-tablet"
Reboot the system or start the daemon manually with
/etc/init.d/wdaemon start
and restart the xserver. Now, the digital notepad can be plugged in at any time and has no longer to be connected when the xserver is started.
Application: shared whiteboard
Coccinella 7 is a jabber client with integrated whiteboard function. That means, you can chat and talk with people and at the same time draw on a shared whiteboard. Together with a digital notepad as input device, this is a very convenient way to exchange formulas and diagrams. The EVO 8 collaboration network and the Inkscape 3 vector-graphics editor also have an integrated shared whiteboard.
1 http://eddie.niese.net/20071129/new-digital-notepad-gadget
2 http://graphics.tudelft.nl/~jorik/dlog/public/2007-11-28.html
3 http://www.inkscape.org
4 http://graphics.tudelft.nl/~jorik/dlog/public/2007-12-11.html
5 http://jake.ruivo.org/~aris/wdaemon
6 http://libslack.org/daemon
7 http://thecoccinella.org
8 http://evo.caltech.edu
