WDAEMON

Section: [FIXME: manual] (1)
Updated: 12/07/2011
Index Return to Main Contents
 

NAME

wdaemon - Wacom tablet hotplugging emulator  

SYNOPSIS

wdaemon [options]
 

DESCRIPTION

wdaemon is an application to abstract Wacom tablet hotplugging. wdaemon creates virtual input devices using the uinput kernel module and makes them available while at run time keeps looking for specified devices to be plugged in.

Instead of looking for the actual device, the X server is configured to look for the emulated device. wdaemon will provide the an identical device description, allowing the server to initialize properly. Once the physical device is plugged in, wdaemon will forward all events through the emulated device and thus to the X server.

For easier recognition, the device name is prefixed with the string "wdaemon". This can be disabled at configure time.  

OPTIONS

-h

Print a help message

-p

Path to the device file to monitor, load to or extract

-t

Device type, use -w to get a list

-c file

Use <file> as configuration file.

-d N

Enable debug messages up to level N

-o file

Redirect debug messages to file

-f

Fork on start and enter in daemon mode

-w

Get a list of supported devices and their numbers

-a

Autoconfigure, generate a configuration file based on currently plugged in tablets

-l file

Load a device description from file

-x file

Extract a device description into file

-s

Use syslog for debug messages (conflicts with -o)

-v

Print version number
 

CONFIGURATION

wdaemon requires configuration in the udev(7) system setup, the xorg.conf(5) configuration files and finally wdaemon itself.  

UDEV CONFIGURATION

wdaemon requires a tablet to have a predictable unique device file. This is usually accomplished through udev rules. For example, on modern systems, a tablet may appear as

/dev/input/by-id/usb-Tablet_PTZ-630-event-mouse

which will point to the event device of a Intuos3 6x8. The wdaemon package provides udev rules to create symlinks to known tablet models in the form of

/dev/input/wacomX,
/dev/input/wacom-tablets/wacom-<model>-tabletX and
/dev/input/wacom-tablets/wacom-<model>-tablet-<phys path>

The last link provides unique type per USB port. Once a tablet reliably appears at a given device path, wdaemon may be configured to use it.

The second step consists in creating a persistent name for uinput devices created by wdaemon, so you can configure your xorg.conf right. An example udev rule to do this:

KERNEL="event*", PROGRAM="/lib/udev/wdaemon_is_uinput.sh", \
        RESULT="056a-0000", \
        SYMLINK="input/uinput-devices/uinput-wacom-penpartner-tablet%e"

This will create a symbolic link for penpartner tablets. Notice it needs wdaemon_is_uinput.sh script (included in this package). Also included in this package, 11-uinput-wacom.rules has these rules done for most tablets. With the rule in place, a wdaemon-created device will have predictable device files. This makes xorg.conf configuration simpler.  

XORG.CONF CONFIGURATION

The X server should be configured to use the devices by wdaemon instead of the actual physical devices. An xorg.conf(5) section may look like this:

Section "InputDevice"
        Identifier "cursor"
        Driver "wacom"
        Option "Type" "cursor"
        Option "Device" "/dev/input/uinput-devices/uinput-wacom-intuos3-6x8-tablet"
        Option "Mode" "relative"
        Option "Tilt" "on"
        Option "Threshold" "20"
        Option "Suppress" "6"
        Option "USB"    "On"
EndSection

Note that if the X server is configured to hotplug devices, it must ignore physical devices in use by wdaemon. Example xorg.conf.d(5) and fdi files are provided with this package.  

WDAEMON CONFIGURATION

Now wdaemon must be configured to monitor the physical tablet and create matching uinput device. A /etc/wdaemon.conf for two devices may look like this:

device = 36,/dev/input/wacom-tablets/intuos3-6x8-tablet
device = 6,/dev/input/wacom-tablets/graphire4-4x5-tablet

Notice the spaces. The wdaemon parser is very rudimentary at this point and can get easily confused. The device types 36 and 6 can be determined by running

wdaemon -w

When wdaemon is started, it will create devices of the types specified in the wdaemon.conf configuration file and monitor the device path. Whenever the physical tablet appears, wdaemon will forward events from the device to the uinput device.

If the device type is unknown to wdaemon, see SAVING AND LOADING DEVICES below.  

AUTO-CONFIGURATION

The -a option was added in 0.14 to generate a wdaemon.conf based on the currently plugged-in tablets. First, plug in all tablets that should be emulated by wdaemon in the future. Then run

wdaemon -a

This command prints a configuration file that can then be used for wdaemon.

Auto-configuration only works with device types known to wdaemon.  

SAVING AND LOADING DEVICES

wdaemon has the device descriptions for a number of devices built-in. For devices that are unknown to wdaemon the device description must be gathered from the physical device and loaded on startup.

A device description may be extracted with the -x option:

wdaemon -p /dev/input/by-id/usb-Tablet_PTZ-630-event-mouse -x Intuos3_6x8.desc

The resulting device file is a description of the device currently available as /dev/input/event12. The description may be loaded again with the -l option:

wdaemon -p /dev/input/by-id/usb-Tablet_PTZ-630-event-mouse -l Intuos3_6x8.desc

wdaemon will initialize a device based on the description file and forward events from the specified device path.  

CONFIGURATION FILE FORMAT

The configuration format supports the following keywords:

debug = <debuglevel>

Where debuglevel is an integer equal or larger than 0.

device = <type>,<path>

Where type is an integer representing the device type and path the path to the device to monitor.

description = <desc>,<path>

Where desc is the path to a device file description and path the path to the device to monitor.

wdaemoncqs parser is simple and the spaces in the configuration file must be exactly as above. That is, no space at the beginning of the line, a space before and after the = sign and no spaces elsewhere.  

ENVIRONMENT VARIABLES

UINPUT_DEVICE

Specifies the path to the uinput kernel device.
 

VERSION

0.17  

AUTHORS

This man page was written by Peter Hutterer <m[blue]peter.hutterer@redhat.comm[][1]> based on the README provided by wdaemon.  

SEE ALSO

xorg.conf(5), wacom(4)  

NOTES

1.
peter.hutterer@redhat.com
mailto:peter.hutterer@redhat.com


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
CONFIGURATION
UDEV CONFIGURATION
XORG.CONF CONFIGURATION
WDAEMON CONFIGURATION
AUTO-CONFIGURATION
SAVING AND LOADING DEVICES
CONFIGURATION FILE FORMAT
ENVIRONMENT VARIABLES
VERSION
AUTHORS
SEE ALSO
NOTES

This document was created by man2html, using the manual pages.
Time: 05:29:12 GMT, December 24, 2015