没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
file:///C/Users/sqqdf/Desktop/Wintab_v140.html[2017/8/18 16:24:33]
Wacom Technology Corp.
Wintab Interface Specification 1.4:
16-bit and 32-bit API Reference
Revised October, 2010
This specification was developed in response to a perceived need for a standardized programming interface to digitizing tablets, three
dimensional position sensors, and other pointing devices by a group of leading digitizer manufacturers and applications developers. The
availability of drivers that support the features of the specification will simplify the process of developing Windows application programs that
incorporate absolute coordinate input, and enhance the acceptance of advanced pointing devices among users.
This specification is intended to be an open standard, and as such the text and information contained herein may be freely used, copied, or
distributed without compensation or licensing restrictions.
Original copyright © 1991 by LCS/Telegraphics.
Update: copyright © 2014 by Wacom Technology Corp.
Address questions and comments to:
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".
Contents
1. BACKGROUND INFORMATION
1.1. FEATURES OF DIGITIZERS
1.2. THE WINDOWS ENVIRONMENT
2. DESIGN GOALS
2.1. USER CONTROL
2.2. EASE OF PROGRAMMING
2.3. TABLET SHARING
2.4. TABLET FEATURE SUPPORT
3. DESIGN CONCEPTS
3.1. DEVICE CONVENTIONS
3.2. DEVICE INFORMATION
3.3. TABLET CONTEXTS
3.4. EVENT PACKETS
*
file:///C/Users/sqqdf/Desktop/Wintab_v140.html[2017/8/18 16:24:33]
3.5.
EXTENSIONS
3.6.
PERSISTENT BINDING OF INTERFACE FEATURES (1.1)
4. INTERFACE IMPLEMENTATIONS
4.1. FILE AND MODULE CONVENTIONS
4.2. FEATURE SUPPORT OPTIONS
5. FUNCTION REFERENCE
5.1. BASIC FUNCTIONS
5.1.1. WTInfo
5.1.2. WTOpen
5.1.3. WTClose
5.1.4. WTPacketsGet
5.1.5. WTPacket
5.2. VISIBILITY FUNCTIONS
5.2.1. WTEnable
5.2.2. WTOverlap
5.3. CONTEXT EDITING FUNCTIONS
5.3.1. WTGet
5.3.2. WTSet (1.1 modified)
5.3.3. WTExtGet
5.3.4. WTExtSet
5.3.5. WTSave
5.3.6. WTRestore
5.4. ADVANCED PACKET AND QUEUE FUNCTIONS
5.4.1. WTPacketsPeek
5.4.2. WTDataGet
5.4.3. WTDataPeek
5.4.4. WTQueuePackets (16-bit only)
5.4.5. WTQueuePacketsEx
5.4.6. WTQueueSizeGet
5.4.7. WTQueueSizeSet
5.5. MANAGER HANDLE FUNCTIONS
5.5.1. WTMgrOpen
5.5.2. WTMgrClose
5.6. MANAGER CONTEXT FUNCTIONS
5.6.1. WTMgrContextEnum
5.6.2. WTMgrContextOwner
5.6.3. WTMgrDefContext
5.6.4. WTMgrDefContextEx (1.1 modified, 1.4 modified)
5.7. MANAGER PREFERENCE DATA FUNCTIONS (1.4 MODIFIED)
5.7.1. WTMgrCsrButtonMap
5.7.2. WTMgrCsrPressureBtnMarks (16-bit only)
5.7.3. WTMgrCsrPressureBtnMarksEx
5.7.4. WTMgrCsrPressureResponse
6. MESSAGE REFERENCE
6.1. EVENT MESSAGES
6.1.1. WT_PACKET
6.1.2. WT_CSRCHANGE (1.1)
6.2. CONTEXT MESSAGES
6.2.1. WT_CTXOPEN
6.2.2. WT_CTXCLOSE
6.2.3. WT_CTXUPDATE
6.2.4. WT_CTXOVERLAP
6.2.5. WT_PROXIMITY
6.3. INFORMATION CHANGE MESSAGES
6.3.1. WT_INFOCHANGE (1.4 modified)
7. DATA REFERENCE
7.1. COMMON DATA TYPES (1.1 MODIFIED, 1.4 MODIFIED)
7.2. INFORMATION DATA STRUCTURES
7.2.1. AXIS
file:///C/Users/sqqdf/Desktop/Wintab_v140.html[2017/8/18 16:24:33]
7.2.2.
Information Categories and Indices (1.1 modified)
7.3. CONTEXT DATA STRUCTURES
7.3.1. LOGCONTEXT (1.1 modified)
7.4. EVENT DATA STRUCTURES
7.4.1. PACKET (1.1 modified)
7.4.2. ORIENTATION
7.4.3. ROTATION (1.1)
APPENDIX A. USING PKTDEF.H
APPENDIX B. EXTENSION DEFINITIONS (1.4 MODIFIED)
B.1. EXTENSIONS PROGRAMMING
Extensions Programming Notes
B.2. OUT OF BOUNDS TRACKING
OBT Programming
Information Category
Turning OBT On and Off
B.5. CURSOR MASK
CSRMASK Programming
Information Category
B.6. EXTENDED BUTTON MASKS
XBTNMASK Programming
Information Category
B.7. EXPRESS KEYS EXTENSION (1.4 MODIFIED)
B.8. TOUCH STRIPS AND TOUCH RINGS EXTENSIONS (1.4 MODIFIED)
B.9. EXTENSION STRUCTURES (1.4 MODIFIED)
EXPKEYSDATA structure
SLIDERDATA structure
EXTPROPERTY structure
APPENDIX C. ADDITIONAL FEATURES (1.4 MODIFIED)
C.1. ERASER
C.2. TILT
C.3. DUAL TRACK
C.4. UNIQUE ID
C.5. AIRBRUSH FINGERWHEEL
C.6. 4D MOUSE ROTATION
C.7. 4D MOUSE THUMBWHEEL
1. BACKGROUND INFORMATION
This document describes a programming interface for using digitizing tablets and other advanced pointing devices with Microsoft Windows
Version 3.0 and above. The design presented here is based on the input of numerous professionals from the pointing device manufacturing and
Windows software development industries.
In this document, the words "tablet" and "digitizer" are used interchangeably to mean all absolute pointing or digitizing devices that can be
made to work with this interface. The definition is not limited to devices that use a physical tablet. In fact, this specification can support
devices that combine relative and absolute pointing as well as purely relative devices.
The following sections describe features of tablets and of the Windows environment that helped motivate the design.
1.1. Features of Digitizers
Digitizing tablets present several problems to device interface authors.
· Many tablets have a very high report rate.
file:///C/Users/sqqdf/Desktop/Wintab_v140.html[2017/8/18 16:24:33]
· Many tablets have many configurable features and types of input information.
· Tablets often control the system cursor, provide additional digitizing input, and provide template or macro functions.
1.2. The Windows Environment
Programming for tablets in the Windows environment presents additional problems.
· Multitasking means multiple applications may have to share the tablet.
· The tablet must also be able to control the system cursor and/or the pen (in Pen Windows).
· The tablet must work with legacy applications, and with applications written to take advantage of tablet services.
· The tablet driver must add minimal speed and memory overhead, so as many applications as possible can run as efficiently as
possible.
· The user should be able to control how applications use the tablet. The user interface must be efficient, consistent, and
customizable.
2. DESIGN GOALS
While the tablet interface design must address the technical problems stated above, it must also be useful to the programmers who will
write tablet programs, and ultimately, to the tablet users. Four design goals will help clarify these needs, and provide some criteria for
evaluating the interface specification. The goals are user control, ease of programming, tablet sharing, and tablet feature support.
2.1. User Control
The user should be able to use and control the tablet in as natural and easy a manner as possible. The user's preferences should take
precedence over application requests, where possible.
Here are questions to ask when thinking about user control as a design goal:
· Can the user understand how applications use the tablet?
· Is the interface for controlling tablet functions natural and unobtrusive?
· Is the user allowed to change things that help to customize the work environment, but prevented from changing things over
which applications must have control?
2.2. Ease of Programming
Programming is easiest when the amount of knowledge and effort required matches the task at hand. Writing simple programs should
require only a few lines of code and a minimal understanding of the environment. On the other hand, more advanced features and
functions should be available to those who need them. The interface should accommodate three kinds of programmers: those who wish to
write simple tablet programs, programmers who wish to write complex applications that take full advantage of tablet capabilities, and
programmers who wish to provide tablet device control features. In addition, the interface should accommodate programmers in as many
different programming languages, situations, and environments as possible.
Questions to ask when thinking about ease of programming include:
· How hard is it to learn the interface and write a simple program that uses tablet input?
· Can programmers of complex applications control the features they need?
· Are more powerful tablet device control features available?
· Can the interface be used in different programming environments?
· Is the interface logical, consistent, and robust?
2.3. Tablet Sharing
file:///C/Users/sqqdf/Desktop/Wintab_v140.html[2017/8/18 16:24:33]
In the Windows environment, multiple applications that use the tablet 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.
Questions to ask when thinking about tablet sharing include:
· Can tablet applications use the tablet features they need, independent of other applications?
· Does the interface prevent a rogue application from "hijacking" the tablet, or causing deadlocks?
· Does the sharing architecture promote efficiency?
2.4. Tablet Feature Support
The interface gives standard access to as many features as possible, while leaving room for future extensions and vendor-specific
customizations. Applications should be able to get the tablet information and services they want, just the way they want them. Users
should be able to use the tablet to set up an efficient, comfortable work environment.
Questions to ask when thinking about tablet feature support include:
· Does the interface provide the features applications need? Are any commonly available features not supported?
· Does the interface provide what users need? Is anything missing?
· Are future extensions possible and fairly easy?
· Are vendor-specific extensions possible?
3. DESIGN CONCEPTS
The proposed interface design depends on several fundamental concepts. Devices and cursor types describe physical hardware configurations.
The interface publishes read-only information through a single information interface. Applications interact with the interface by setting up
tablet contexts and consuming event packets. Applications may assume interface and hardware control functions by becoming tablet
managers. The interface provides explicit support for future extensions.
3.1. Device Conventions
The interface provides access to one or more devices that produce pointing input. Devices supported by this interface have some common
characteristics. The device must define an absolute or relative coordinate space in at least two dimensions for which it can return position
data. The device must have a pointing apparatus or method (such as a stylus, or a finger touching a touch pad), called the cursor, that
defines the current position. The cursor must be able to return at least one bit of additional state (via a button, touching a digitizing
surface, etc.).
Devices may have multiple cursor types that have different physical configurations, or that have different numbers of buttons, or return
auxiliary information, such as pressure information. Cursor types may also describe different optional hardware configurations.
The interface defines a standard orientation for reporting device native coordinates. When the user is viewing the device in its normal
position, the coordinate origin will be at the lower left of the device. The coordinate system will be right-handed, that is, the positive x axis
points from left to right, and the positive y axis points either upward or away from the user. The z axis, if supported, points either toward
the user or upward. For devices that lay flat on a table top, the x-y plane will be horizontal and the z axis will point upward. For devices
that are oriented vertically (for example, a touch screen on a conventional display), the x-y plane will be vertical, and the z axis will point
toward the user.
3.2. Device Information
Any program can get descriptive information about the tablet via the WTInfo function. The interface specifies certain information that
剩余52页未读,继续阅读
资源评论
sqqdftb
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功