211 lines
5 KiB
Plaintext
211 lines
5 KiB
Plaintext
/*++
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
tabsrv.idl
|
|
|
|
Abstract:
|
|
This module contains the server interface of TabSrv.
|
|
|
|
Author:
|
|
Michael Tsang (MikeTs) 05-Jun-2000
|
|
|
|
Environment:
|
|
User mode
|
|
|
|
Revision History:
|
|
--*/
|
|
|
|
import "WTypes.idl";
|
|
|
|
[
|
|
uuid(95a0c486-01fc-47eb-82f1-fb35a00097a8),
|
|
version(1.0),
|
|
helpstring("TabSrv Control Panel Interface")
|
|
]
|
|
|
|
interface TabSrv
|
|
{
|
|
const int NUM_LINEAR_XPTS = 32;
|
|
const int NUM_LINEAR_YPTS = 24;
|
|
const ULONG GESTURE_FEATURE_RECOG_ENABLED = 0x00000001;
|
|
const ULONG GESTURE_FEATURE_PRESSHOLD_ENABLED = 0x00000002;
|
|
const ULONG GESTURE_FEATURE_MOUSE_ENABLED = 0x00000004;
|
|
const ULONG GESTURE_FEATURE_UNUSED_BITS = 0xfffffff8;
|
|
const int NO_GESTURE = -1;
|
|
const int UP_SPIKE = 0;
|
|
const int DOWN_SPIKE = 1;
|
|
const int LEFT_SPIKE = 2;
|
|
const int RIGHT_SPIKE = 3;
|
|
const int NUM_GESTURES = 4;
|
|
const int BUTTON_1 = 0;
|
|
const int BUTTON_2 = 1;
|
|
const int BUTTON_3 = 2;
|
|
const int BUTTON_4 = 3;
|
|
const int BUTTON_5 = 4;
|
|
const int NUM_BUTTONS = 5;
|
|
|
|
typedef enum _SW_ACTION
|
|
{
|
|
SWNoAction = 0,
|
|
SWRightButton,
|
|
#ifdef DEBUG
|
|
SWDebugModeToggle
|
|
#endif
|
|
} SW_ACTION;
|
|
|
|
typedef struct _LINEAR_PT
|
|
{
|
|
USHORT wRefPtX;
|
|
USHORT wRefPtY;
|
|
USHORT wDigiPtX;
|
|
USHORT wDigiPtY;
|
|
} LINEAR_PT, *PLINEAR_PT;
|
|
|
|
typedef struct _LINEAR_MAP
|
|
{
|
|
ULONG dwcbLen;
|
|
USHORT wNumXPts;
|
|
USHORT wNumYPts;
|
|
LINEAR_PT Data[NUM_LINEAR_YPTS][NUM_LINEAR_XPTS];
|
|
} LINEAR_MAP, *PLINEAR_MAP;
|
|
|
|
typedef enum _BUTTON_ACTION
|
|
{
|
|
ButtonNoAction = 0,
|
|
InvokeNoteBook,
|
|
PageUp,
|
|
PageDown,
|
|
AltEsc,
|
|
AltTab,
|
|
Enter,
|
|
Esc
|
|
} BUTTON_ACTION;
|
|
|
|
typedef struct _BUTTON_SETTINGS
|
|
{
|
|
ULONG dwcbLen;
|
|
BUTTON_ACTION ButtonMap[NUM_BUTTONS];
|
|
ULONG dwHotKeyButtons;
|
|
} BUTTON_SETTINGS, *PBUTTON_SETTINGS;
|
|
|
|
typedef enum _GESTRUE_ACTION
|
|
{
|
|
GestureNoAction = 0,
|
|
PopupSuperTIP,
|
|
PopupMIP,
|
|
SendHotkey
|
|
} GESTURE_ACTION;
|
|
|
|
typedef struct _GESTURE_SETTINGS
|
|
{
|
|
ULONG dwcbLen;
|
|
ULONG dwfFeatures;
|
|
int iRadius;
|
|
int iMinOutPts;
|
|
int iMaxTimeToInspect;
|
|
int iAspectRatio;
|
|
int iCheckTime;
|
|
int iPointsToExamine;
|
|
int iStopDist;
|
|
int iStopTime;
|
|
int iPressHoldTime;
|
|
int iHoldTolerance;
|
|
int iCancelPressHoldTime;
|
|
GESTURE_ACTION GestureMap[NUM_GESTURES];
|
|
} GESTURE_SETTINGS, *PGESTURE_SETTINGS;
|
|
|
|
typedef enum _EVTNOTIFY
|
|
{
|
|
RawPtEvent = 0,
|
|
GestureEvent
|
|
} EVTNOTIFY;
|
|
|
|
typedef DWORD_PTR HEVTNOTIFY;
|
|
typedef DWORD_PTR HWIN;
|
|
|
|
HEVTNOTIFY
|
|
TabSrvRegisterEventNotify(
|
|
[in] handle_t hBinding,
|
|
[in] EVTNOTIFY Event,
|
|
[in] HWIN hWnd,
|
|
[in] UINT uiMsg
|
|
);
|
|
|
|
BOOL
|
|
TabSrvDeregisterEventNotify(
|
|
[in] handle_t hBinding,
|
|
[in] HEVTNOTIFY hEventNotify
|
|
);
|
|
|
|
void
|
|
TabSrvGetLastRawDigiReport(
|
|
[in] handle_t hBinding,
|
|
[out] WORD *pwButtonState,
|
|
[out] WORD *pwX,
|
|
[out] WORD *pwY
|
|
);
|
|
|
|
void
|
|
TabSrvSetPenTilt(
|
|
[in] handle_t hBinding,
|
|
[in] LONG dx,
|
|
[in] LONG dy
|
|
);
|
|
|
|
BOOL
|
|
TabSrvGetLinearityMap(
|
|
[in] handle_t hBinding,
|
|
[out] PLINEAR_MAP LinearityMap
|
|
);
|
|
|
|
void
|
|
TabSrvSetLinearityMap(
|
|
[in] handle_t hBinding,
|
|
[in] PLINEAR_MAP LinearityMap
|
|
);
|
|
|
|
BOOL
|
|
TabSrvGetPenFeatures(
|
|
[in] handle_t hBinding,
|
|
[in] WORD wReportID,
|
|
[in] WORD wUsagePage,
|
|
[in] WORD wUsage,
|
|
[out] DWORD *pdwFeature
|
|
);
|
|
|
|
BOOL
|
|
TabSrvSetPenFeatures(
|
|
[in] handle_t hBinding,
|
|
[in] WORD wReportID,
|
|
[in] WORD wUsagePage,
|
|
[in] WORD wUsage,
|
|
[in] DWORD dwFeature
|
|
);
|
|
|
|
BOOL
|
|
TabSrvGetGestureSettings(
|
|
[in] handle_t hBinding,
|
|
[out] PGESTURE_SETTINGS GestureSettings
|
|
);
|
|
|
|
BOOL
|
|
TabSrvSetGestureSettings(
|
|
[in] handle_t hBinding,
|
|
[in] PGESTURE_SETTINGS GestureSettings
|
|
);
|
|
|
|
BOOL
|
|
TabSrvGetButtonSettings(
|
|
[in] handle_t hBinding,
|
|
[out] PBUTTON_SETTINGS ButtonSettings
|
|
);
|
|
|
|
BOOL
|
|
TabSrvSetButtonSettings(
|
|
[in] handle_t hBinding,
|
|
[in] PBUTTON_SETTINGS ButtonSettings
|
|
);
|
|
}
|
|
|