Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

243 lines
10 KiB

  1. ------------------------------- readme.txt -------------------------------
  2. Wintab(tm) Programmer's Kit V. 1.26 for 16- and 32-bit Windows APIs.
  3. This file contains programmer's kit installation instructions and
  4. programming notes.
  5. Please direct your programming questions and comments to:
  6. LCS/Telegraphics
  7. 150 Rogers St.
  8. Cambridge, MA 02142
  9. voice: (617) 225-7970
  10. fax: (617) 225-7969
  11. email: [email protected]
  12. web site: http://www.pointing.com
  13. ftp site: ftp://ftp.pointing.com/pointing/Wintab/
  14. Questions or problems regarding specific devices or device drivers
  15. should be directed to the device manufacturer.
  16. --------------------------------------------------------------------------
  17. Legal/Disclaimer
  18. --------------------------------------------------------------------------
  19. The Wintab specification is intended to be an open standard. The
  20. Wintab Programmer's Kit is an aid to understanding the Wintab
  21. standard and implementing Wintab-compliant applications. As such,
  22. the text and information contained herein may be freely used, copied,
  23. or distributed without compensation or licensing restrictions.
  24. The Wintab Programmer's Kit is copyright 1991-1998 by
  25. LCS/Telegraphics.
  26. LCS/Telegraphics does not assume any liability for damages resulting
  27. from the use of the information contained herein.
  28. --------------------------------------------------------------------------
  29. Installation
  30. --------------------------------------------------------------------------
  31. * Getting the latest Wintab driver files
  32. To get the latest Wintab driver files, including WINTAB.DLL and
  33. WINTAB32.DLL, contact your device manufacturer. Follow the
  34. manufacturer's installation directions.
  35. * Installing the development files
  36. The files are in several subdirectories on this disk. To copy the
  37. whole tree to your hard disk, use XCOPY with the /S flag.
  38. Example:
  39. xcopy a:\*.* c:\wintab\ /s
  40. * Installing the sample programs and testing your configuration
  41. To test your Wintab driver configuration, build and run the
  42. sample programs. (Previous versions of this kit included executable
  43. of all the samples, but as Windows platforms proliferate, these have
  44. been dropped to control the size of the kit.) The source code for
  45. the programs is in stored in subdirectories by program name.
  46. * Project settings for WTKIT
  47. All projects require that the LIB and INCLUDE variables point to
  48. the appropriate Windows SDK directories. Also, the WINTAB variable
  49. must point to a tree containing the LIB and INCLUDE subtrees from the
  50. Wintab Programmer's Kit.
  51. For example, in MSVC 5.0, under the Tools menu, Options setting,
  52. the WINTAB\INCLUDE directory must be listed as a directory for
  53. Include files, and the WINTAB\LIB\I386 must be listed as a directory
  54. for library files. Also, please see the note about linker warnings
  55. during the debug build under the WNTAB32X.LIB section of this document.
  56. * Compiler notes
  57. Makefiles compatible with Microsoft NMAKE are in the win16
  58. subdirectories. Project files for Microsoft Visual C versions 4.2
  59. and 5.0 are in the win32 subdirectories.
  60. MSVC 5.0 will be able to compile all the projects.
  61. MSVC 4.2 will not be able to compile MFC_DEMO and WTHOOK
  62. projects.
  63. * Cleaning intermediate files before switching targets
  64. Please cleanup intermediate files between builds to different targets.
  65. If you have built the programs from source for one target environment,
  66. and wish to switch to another target, first run the command NMAKE
  67. CLEANALL in the source subdirectories.
  68. --------------------------------------------------------------------------
  69. Using WINTABX.LIB and WNTAB32X.LIB
  70. --------------------------------------------------------------------------
  71. Two types of import libraries are provided. WINTAB.LIB and
  72. WINTAB32.LIB are regular import libraries created with the SDK
  73. utilities. Any module linked with WINTAB.LIB or WINTAB32.LIB will not
  74. load unless Wintab API support is present. WINTABX.LIB and
  75. WNTAB32X.LIB are more flexible. They link each function as it is
  76. invoked, using the Windows functions LoadLibrary and GetProcAddress.
  77. If the link fails, the user will see a message box saying "cannot
  78. find WINTAB.DLL", and the function will return 0 (the failure code
  79. for all WINTAB functions) to its caller. Thus, WINTABX and WNTAB32X
  80. provide the flexibility of run-time linking, while reducing the code
  81. burden.
  82. WINTABX and WNTAB32X do add one new requirement, though. Since Wintab
  83. was explicitly linked using LoadLibrary, it must be explicitly freed
  84. using FreeLibrary when shutting down. WINTABX and WNTAB32X provide a
  85. new function, _UnlinkWintab, that calls FreeLibrary and resets the
  86. automatic function-linking mechanism. The C declaration is included
  87. in the header file WINTABX.H.
  88. If you want to avoid the "cannot find WINTAB.DLL" message when Wintab
  89. is not present, you can use the Windows function SetErrorMode() to
  90. suppress the error box while issuing a Wintab function call. For
  91. example:
  92. BOOL WintabHere(void)
  93. {
  94. /*-----
  95. Call this function before any Wintab API
  96. function when using WINTABX.LIB.
  97. This function returns TRUE if Wintab is
  98. present and functioning; FALSE otherwise.
  99. No warning message will be displayed if
  100. the WINTAB.DLL file is not found.
  101. -----*/
  102. WORD errmode;
  103. BOOL fResult;
  104. /* suppress error box */
  105. errmode = SetErrorMode(SEM_NOOPENFILEERRORBOX
  106. #ifdef WIN32
  107. | SEM_FAILCRITICALERRORS
  108. #endif
  109. );
  110. /* try wintab */
  111. fResult = WTInfo(0,0,NULL);
  112. /* restore previous error mode */
  113. SetErrorMode(errmode);
  114. /* return wintab result */
  115. return fResult;
  116. }
  117. *Note on MSVC 5.0 projects using WNTAB32X.LIB
  118. Note that the linker warning LNK4098 (to recompile with the
  119. /Nodefaultlib:LIBC option) during the compilation of Debug projects
  120. will not affect the operation of the resulting executable. This bug
  121. will be fixed in the next version of the Wintab Programmer's Kit.
  122. For example, the WTHOOK project will give this linker warning during
  123. debug compilation, but the resulting executable is functional.
  124. --------------------------------------------------------------------------
  125. Determining whether 1.1 features are supported
  126. --------------------------------------------------------------------------
  127. To determine which version of the Wintab specification your device
  128. supports, use the result of the following function call:
  129. WTINFO(WTI_INTERFACE,IFC_SPECVERSION)
  130. Please see MGRTEST for an example.
  131. The specification version number (either 1.0 or 1.1) will be
  132. returned. If you need 1.1 features for your application, and you want to
  133. make sure they are supported in a tablet, please email us at
  134. [email protected]
  135. --------------------------------------------------------------------------
  136. Using Non-Microsoft C Compilers
  137. --------------------------------------------------------------------------
  138. WINTAB.LIB and WINTAB32.LIB are implicit import libraries created and
  139. tested with Microsoft C tools. Some linkers from other vendors may
  140. not work with these versions of the libraries. This Programmer's Kit
  141. now includes the corresponding WINTAB.DEF and WINTAB32.DEF files used
  142. to create WINTAB.LIB and WINTAB32.LIB. Use the .DEF files with your
  143. vendor's IMPLIB or librarian tools to create compatible import
  144. libraries.
  145. WINTABX.LIB and WNTAB32X.LIB have been tested with Microsoft C, but
  146. not with other C or C++ compilers, or compilers for other languages.
  147. Source code for these libraries are in the directories WINTABX and
  148. WNTAB32X.
  149. --------------------------------------------------------------------------
  150. RULE and RULE2
  151. --------------------------------------------------------------------------
  152. Rule and Rule2 are versions of the same program. Rule demonstrates
  153. the limitations of a polled input approach in Windows; Rule2
  154. demonstrates a more robust, message-based approach, and adds a few
  155. other enhancements.
  156. To see what's bad about Rule, run it, click on it but don't start
  157. measuring. Now turn off your Wintab device. Windows is now hung.
  158. If you try the same experiment with Rule2, you can still use the
  159. keyboard.
  160. --------------------------------------------------------------------------
  161. MGRTEST as a Debugging Aid
  162. --------------------------------------------------------------------------
  163. Besides demonstrating the WTMgr* APIs, MGRTEST is useful in itself.
  164. You can use MGRTEST to see what contexts are active, their modes,
  165. status, and active areas, as well as the current overlap order. It
  166. can be very useful in understanding how various Wintab-aware programs
  167. use contexts.
  168. --------------------------------------------------------------------------
  169. Keeping in Touch
  170. --------------------------------------------------------------------------
  171. Here are three ways to show your support for the Wintab standard, and
  172. allow us to let people know that your product has Wintab support.
  173. 1. When you complete Wintab support in your product, let us know. Be
  174. sure to include the product name, a description, and contact
  175. information for your company.
  176. 2. If possible, send us an evaluation copy of your product, or the
  177. portions of it that contain Wintab support. LCS/Telegraphics is
  178. building a library of Wintab-compliant applications for ongoing
  179. compatibility testing.
  180. 3. Join the Committee for Advanced Pointing Standards (CAPS). CAPS
  181. formed in August of 1993 to promote and support future development of
  182. the specification. The more than 40 corporate members of CAPS
  183. include most major pointing device manufacturers, and many leading
  184. CAD and graphics arts software developers. To join CAPS, contact:
  185. LCS/Telegraphics
  186. 150 Rogers St.
  187. Cambridge, MA 02142
  188. voice: (617) 225-7970
  189. fax: (617) 225-7969
  190. email: [email protected]
  191. web site: http://www.pointing.com