Note: This document (originally entitled "LCS/Telegraphics") was originally written by LCS/Telegraphics circa 1993.  Updates have been added by Wacom Technology Corp., 2010. 

 

The Issue

In the era when most desktop PC's ran DOS, digitizing tablets and other advanced graphics input devices had fairly primitive software support. Specialized CAD and graphics applications each pro­vided their own custom and incompatible device drivers. Other graphics applications could only use a device as if it were a mouse, with no access to other features, like a tablet's precise absolute positioning. This state of af­fairs was ac­ceptable for single-tasking DOS systems and dedicated workstations.

With the advent of windowed, graphic computing environments, however, users have come to expect hardware and software products that enhance productivity, work together seamlessly, and provide an effi­cient, easy-to-use computing process. In particular, windowed environments have demonstrated the ad­van­tages of providing a single, consistent interface to hardware components that all applications can use. Unfortunately, graphics input could be difficult because of software incompatibilities.

For example, to use your digitizer with some windowed CAD programs, you must install custom hardware drivers that work only with one application, leaving the digitizer "dead" while using other applications. On the other hand, to use the tablet with all applications, you must install a "mouse" driver that cannot provide access to precise absolute positioning, pressure input, or other advanced features. This situation in frustrating at best, and does not reflect how computer graphics professionals want to work.

The Solution

As advanced pointing device issues surfaced, hardware and software developers began to define their own device interfaces. This was a step forward, but it soon became apparent that numerous proprietary inter­faces were not the ultimate solution. It's inefficient to require software developers to write a different driver for each device they need to support. Conversely, a hardware vendor should not have to develop a different driver to interface with each software application. Most important, user should not have to deal with a confusing proliferation of unique application and device driver files.

The most obvious solution to this situation was an open industry interface that directly collects pointing input and passes it in a standardized fashion to applications. In this scenario, a software developer sup­ports a standard pointing device manager, and a hardware vendor writes one driver for each device that communicates with the manager.

Such an interface is a win-win answer for everyone. Hardware vendors benefit because they need to pro­vide only one standard driver for all software applications supporting the standard digitizer interface. Software vendors no longer need to write and support device drivers and solicit support for their own pro­prietary interface. Software vendors also benefit because one interface will provide application support of all compliant hardware devices. Finally, users can now store a smaller set of drivers for access by all compliant applications.

Origins of Wintab

In early 1991, digitizing tablet manufacturers gathered at an Autodesk conference identified the industry's need for an open interface. While interest in such an interface was high, the industry needed a neutral party—neither application nor device vendor—to research and define the specification. They selected LCS/Telegraphics for its unique position and expertise as the leading independent provider of drivers and utility software to peripheral and system manufacturers.

LCS engineers reviewed many existing interfaces and considered both current and future device features. Device vendors and application developers extensively reviewed and commented on early versions of the Wintab interface specification. LCS took the comments and suggestions, examined the costs and benefits of the modifications, and decided which to incorporate into the specification.

Wintab drivers have achieved widespread acceptance. A number of industry-leading CAD and graphics applications use the Wintab API, and many peripheral vendors now include Wintab drivers with their de­vices. Wintab implementations are available to end users today for Microsoft Windows 3.1. Support for Microsoft Windows NT and Windows 4.0 ("Chicago") were in beta test at this writing. [Wacom Wintab applications can be written for Windows XP, Vista and Windows 7 as of 2010.]

In August of 1993, a new industry group, The Committee for Advanced Pointing Standards (CAPS), con­vened to promote and support future development of the specification. The more than 40 corporate mem­bers of CAPS include most major pointing device manufacturers, and many leading CAD and graphics arts software developers. For more information about CAPS, see the end of this document.


Goals of the Wintab Specification

Wintab aims to provide consistent easy integration between sophisticated input pointing devices and soft­ware applications. More detailed design goals include:

    ·       User Control  The user should be able to use and control the device in as natural and easy a man­ner as possible. One should be able to use the device to set up an efficient, comfortable work envi­ronment. The user's preferences should take precedence over application requests, where possi­ble.

    ·       Support for Diverse Devices  The interface must give standard access to as many devices as possible, while leaving room for future extensions. The interface must be capable of supporting a broad range of advanced pointing devices, such as pressure tablets, integrated display tablets, 3D, and 6DF devices.

    ·       Device Sharing  In the Windows environment, multiple applications that use the device may be running at once. Each application will require different services. Applications must be able to get the services they need without getting in each others' way.

    ·       Easy Implementation  The interface and its documentation should be clear, well structured, well written, and intuitively designed, so developers can easily learn and write the code for it.

    ·       Widespread Acceptance  The interface should be both rich enough and unambiguous enough that the majority of leading hardware and software developers can provide drivers for their de­vices or support it through their applications.

The Wintab Architecture

Wintab provides a simple yet rich methodology for connecting Wintab-compliant applications with Wintab-aware devices.

The central component of the system is the WINTAB module, WINTAB.DLL [Wacom supports Win32 systems with Wintab32.dll.], which provides application interface services, and to which one or more device drivers connect. Applications manipulate software objects called contexts that encompass such information as input area, scaling, and event control. Two principle types of contexts are available. Digitizing contexts pass their input directly to applications, with­out plotting a cursor. System contexts provide system-mouse input.

Once an application has defined and opened a Wintab context, Wintab will send data packets to that application in the form of Windows messages when the user presses a pen to the tablet[1].  The application can then set up event handling to capture those packets and extract the desired data (such as tablet X, Y and pressure data).

In addition to the above type of context handling, Wintab manager applications ac­cess special functions that allow extensive user access to device configurations and preference settings.

Applications never deal with device drivers directly, and they can off-load many configuration tasks onto Wintab managers. By judicious use of contexts, applications can achieve seamless integration of pure dig­itizing and system pointer input.

 

[See the Wintab Specification Level 1.4 on the Software Developers site (http://us.wacom.com/en/developerrelations/windows) for a list of Wacom-supported Wintab functions.  Additional information can be found in the Notes for Tablet Aware Application Developers on the same site.]

 

How You Can Become Involved

Software Developers: Go to  http://us.wacom.com/en/developerrelations/windows to obtain the Wintab Programmers' Kit and documentation.  The site includes the Wintab specification, header and import library files, and sample application code. Tablet drivers that support Wintab are installed automatically with each Wacom tablet driver installation on supported Windows systems (currently Windows XP, Vista and Windows 7 are supported).  Developer support is available from Wacom Technology Corp.  See Wintab Information Contacts below for details.

Hardware Vendors: Contact Wacom Technology Corp. to receive Wintab sample code and discuss driver devel­opment arrangements.


Wintab Information Contacts

Currently, Wintab support is at: http://us.wacom.com/en/developerrelations/windows

Wacom Technology Corporation
1311 SE Cardinal Court
Vancouver, WA 98683
USA Tel:  ++1-360-896-9833

Ø  For Wintab programming developer support questions, send email to: developer@wacom.com

Ø  For Wintab samples and documentation, visit: http://us.wacom.com/en/developerrelations/windows

 

Ø  For general questions regarding Wacom tablet usage, visit: http://www.wacom.com  and search for "Product Support".

 

Note: LCS/Telegraphics (http://www.pointing.com/) is no longer supporting the Wintab SDK.



[1] Wintab does not support sending tablet touch data.