Source code of Windows XP (NT5)
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.

210 lines
5.0 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. tabsrv.idl
  5. Abstract:
  6. This module contains the server interface of TabSrv.
  7. Author:
  8. Michael Tsang (MikeTs) 05-Jun-2000
  9. Environment:
  10. User mode
  11. Revision History:
  12. --*/
  13. import "WTypes.idl";
  14. [
  15. uuid(95a0c486-01fc-47eb-82f1-fb35a00097a8),
  16. version(1.0),
  17. helpstring("TabSrv Control Panel Interface")
  18. ]
  19. interface TabSrv
  20. {
  21. const int NUM_LINEAR_XPTS = 32;
  22. const int NUM_LINEAR_YPTS = 24;
  23. const ULONG GESTURE_FEATURE_RECOG_ENABLED = 0x00000001;
  24. const ULONG GESTURE_FEATURE_PRESSHOLD_ENABLED = 0x00000002;
  25. const ULONG GESTURE_FEATURE_MOUSE_ENABLED = 0x00000004;
  26. const ULONG GESTURE_FEATURE_UNUSED_BITS = 0xfffffff8;
  27. const int NO_GESTURE = -1;
  28. const int UP_SPIKE = 0;
  29. const int DOWN_SPIKE = 1;
  30. const int LEFT_SPIKE = 2;
  31. const int RIGHT_SPIKE = 3;
  32. const int NUM_GESTURES = 4;
  33. const int BUTTON_1 = 0;
  34. const int BUTTON_2 = 1;
  35. const int BUTTON_3 = 2;
  36. const int BUTTON_4 = 3;
  37. const int BUTTON_5 = 4;
  38. const int NUM_BUTTONS = 5;
  39. typedef enum _SW_ACTION
  40. {
  41. SWNoAction = 0,
  42. SWRightButton,
  43. #ifdef DEBUG
  44. SWDebugModeToggle
  45. #endif
  46. } SW_ACTION;
  47. typedef struct _LINEAR_PT
  48. {
  49. USHORT wRefPtX;
  50. USHORT wRefPtY;
  51. USHORT wDigiPtX;
  52. USHORT wDigiPtY;
  53. } LINEAR_PT, *PLINEAR_PT;
  54. typedef struct _LINEAR_MAP
  55. {
  56. ULONG dwcbLen;
  57. USHORT wNumXPts;
  58. USHORT wNumYPts;
  59. LINEAR_PT Data[NUM_LINEAR_YPTS][NUM_LINEAR_XPTS];
  60. } LINEAR_MAP, *PLINEAR_MAP;
  61. typedef enum _BUTTON_ACTION
  62. {
  63. ButtonNoAction = 0,
  64. InvokeNoteBook,
  65. PageUp,
  66. PageDown,
  67. AltEsc,
  68. AltTab,
  69. Enter,
  70. Esc
  71. } BUTTON_ACTION;
  72. typedef struct _BUTTON_SETTINGS
  73. {
  74. ULONG dwcbLen;
  75. BUTTON_ACTION ButtonMap[NUM_BUTTONS];
  76. ULONG dwHotKeyButtons;
  77. } BUTTON_SETTINGS, *PBUTTON_SETTINGS;
  78. typedef enum _GESTRUE_ACTION
  79. {
  80. GestureNoAction = 0,
  81. PopupSuperTIP,
  82. PopupMIP,
  83. SendHotkey
  84. } GESTURE_ACTION;
  85. typedef struct _GESTURE_SETTINGS
  86. {
  87. ULONG dwcbLen;
  88. ULONG dwfFeatures;
  89. int iRadius;
  90. int iMinOutPts;
  91. int iMaxTimeToInspect;
  92. int iAspectRatio;
  93. int iCheckTime;
  94. int iPointsToExamine;
  95. int iStopDist;
  96. int iStopTime;
  97. int iPressHoldTime;
  98. int iHoldTolerance;
  99. int iCancelPressHoldTime;
  100. GESTURE_ACTION GestureMap[NUM_GESTURES];
  101. } GESTURE_SETTINGS, *PGESTURE_SETTINGS;
  102. typedef enum _EVTNOTIFY
  103. {
  104. RawPtEvent = 0,
  105. GestureEvent
  106. } EVTNOTIFY;
  107. typedef DWORD_PTR HEVTNOTIFY;
  108. typedef DWORD_PTR HWIN;
  109. HEVTNOTIFY
  110. TabSrvRegisterEventNotify(
  111. [in] handle_t hBinding,
  112. [in] EVTNOTIFY Event,
  113. [in] HWIN hWnd,
  114. [in] UINT uiMsg
  115. );
  116. BOOL
  117. TabSrvDeregisterEventNotify(
  118. [in] handle_t hBinding,
  119. [in] HEVTNOTIFY hEventNotify
  120. );
  121. void
  122. TabSrvGetLastRawDigiReport(
  123. [in] handle_t hBinding,
  124. [out] WORD *pwButtonState,
  125. [out] WORD *pwX,
  126. [out] WORD *pwY
  127. );
  128. void
  129. TabSrvSetPenTilt(
  130. [in] handle_t hBinding,
  131. [in] LONG dx,
  132. [in] LONG dy
  133. );
  134. BOOL
  135. TabSrvGetLinearityMap(
  136. [in] handle_t hBinding,
  137. [out] PLINEAR_MAP LinearityMap
  138. );
  139. void
  140. TabSrvSetLinearityMap(
  141. [in] handle_t hBinding,
  142. [in] PLINEAR_MAP LinearityMap
  143. );
  144. BOOL
  145. TabSrvGetPenFeatures(
  146. [in] handle_t hBinding,
  147. [in] WORD wReportID,
  148. [in] WORD wUsagePage,
  149. [in] WORD wUsage,
  150. [out] DWORD *pdwFeature
  151. );
  152. BOOL
  153. TabSrvSetPenFeatures(
  154. [in] handle_t hBinding,
  155. [in] WORD wReportID,
  156. [in] WORD wUsagePage,
  157. [in] WORD wUsage,
  158. [in] DWORD dwFeature
  159. );
  160. BOOL
  161. TabSrvGetGestureSettings(
  162. [in] handle_t hBinding,
  163. [out] PGESTURE_SETTINGS GestureSettings
  164. );
  165. BOOL
  166. TabSrvSetGestureSettings(
  167. [in] handle_t hBinding,
  168. [in] PGESTURE_SETTINGS GestureSettings
  169. );
  170. BOOL
  171. TabSrvGetButtonSettings(
  172. [in] handle_t hBinding,
  173. [out] PBUTTON_SETTINGS ButtonSettings
  174. );
  175. BOOL
  176. TabSrvSetButtonSettings(
  177. [in] handle_t hBinding,
  178. [in] PBUTTON_SETTINGS ButtonSettings
  179. );
  180. }