⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.h

📁 这是一个声波触摸屏驱动中的定位校准程序的源码. VC
💻 H
字号:
//=============================================================================
// Compuware Corporation   NuMega Lab   9 Townsend West   Nashua, NH 03060  USA
// Copyright (c) 1998 Compuware Corporation. All Rights Reserved.
// Unpublished - rights reserved under the Copyright laws of the United States.
//=============================================================================
// CLIENT.H - include file for COMM Client example
// Copyright (c) 1996 Compuware Corporation

#ifndef __CLIENT_H
#define __CLIENT_H

typedef unsigned char	BYTE;
typedef	unsigned short	WORD;
typedef	unsigned long	DWORD;

// These definitions are used both by the app and the VxD
//API函数接口定义
#define IOCTL_ETTOUCH_GET_BUTTON_MODE	CTL_CODE(FILE_DEVICE_MOUSE,0x900,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_CALINFO		CTL_CODE(FILE_DEVICE_MOUSE,0x902,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_RESET_CALINFO		CTL_CODE(FILE_DEVICE_MOUSE,0x904,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUC_GET_TOUCHINFO		CTL_CODE(FILE_DEVICE_MOUSE,0x908,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_EXTRAINFO		CTL_CODE(FILE_DEVICE_MOUSE,0x910,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_INFO			CTL_CODE(FILE_DEVICE_MOUSE,0x920,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_MOUSE_MODE	CTL_CODE(FILE_DEVICE_MOUSE,0x940,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_UPDATE_CAL		CTL_CODE(FILE_DEVICE_MOUSE,0x980,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_EN_TOUCHSCREEN	CTL_CODE(FILE_DEVICE_MOUSE,0x982,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_DIS_TOUCHSCREEN	CTL_CODE(FILE_DEVICE_MOUSE,0x984,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_UPDATE_SETTING	CTL_CODE(FILE_DEVICE_MOUSE,0x988,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_BUTTON_MODE	CTL_CODE(FILE_DEVICE_MOUSE,0x98C,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_BEEP			CTL_CODE(FILE_DEVICE_MOUSE,0x990,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_BEEP			CTL_CODE(FILE_DEVICE_MOUSE,0x991,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_MOUSE_MODE	CTL_CODE(FILE_DEVICE_MOUSE,0x992,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_MAKE_SOUND		CTL_CODE(FILE_DEVICE_MOUSE,0x993,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_ENCRYPTION	CTL_CODE(FILE_DEVICE_MOUSE,0x998,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_DIAGNOSE     	CTL_CODE(FILE_DEVICE_MOUSE,0x99f,METHOD_BUFFERED,FILE_ANY_ACCESS)

typedef struct {  //触摸数据结构
    BYTE ch[7];		//
}info;
//Touchscreen button mode
#define LEFTBUTTONMODE       0		//左键模式
#define RIGHTBUTTONMODE      1		//右键模式
//Touchscreen calibration Info
typedef struct {
	DWORD  Cal_State;				//校准状态
	DWORD  TouchX;					//原始触摸X坐标
	DWORD  TouchY;					//原始触摸Y坐标
}_CALIBRATE_DATA ;
#define  CALIBRATE_READY           5735
#define  CALIBRATE_NOTREADY        4139
//TouchSreen calibration information
typedef struct {
	DWORD	nBorderLeft;	//X轴的最小值
	DWORD	nBorderTop;		//Y轴的最小值
	DWORD	nBorderRight;	//X轴的最大值
	DWORD	nBorderBottom;	//Y轴的最大值
	DWORD	nXOffset;		//X轴的偏移值
	DWORD	nYOffset;		//Y轴的偏移值
	DWORD	xprop;			// 比例
	DWORD	yprop;			// 比例
}_CALIBRATION_DATA ;
//Touchscreen touch coordimate and touch status srructure
typedef struct {
	DWORD  ButtonState;				//模拟的键状态
	DWORD  lastX;					//X触摸坐标
	DWORD  lastY;					// Y触摸坐标
}_TOUCH_INFO ;

#define TOUCHPRESS 0x81				//按下
#define TOUCHMOVE  0x82				//移动
#define TOUCHRELEASE 0x84			//离开
#define BUTTONSTATE   2342
#define LBUTTONDOWN   BUTTONSTATE + 2   //左键按下
#define LBUTTONDRAW   BUTTONSTATE + 3   //左键拖动
#define LBUTTONUP     BUTTONSTATE + 4   //左键离开
#define RBUTTONDOWN   BUTTONSTATE + 5   //右键按下
#define RBUTTONDRAW   BUTTONSTATE + 6   //右键拖动
#define RBUTTONUP     BUTTONSTATE + 7   //右键离开
#define MBUTTONDOWN   BUTTONSTATE + 8   //中键按下
#define MBUTTONDRAW   BUTTONSTATE + 9   //中键拖动
#define MBUTTONUP     BUTTONSTATE + 10  //中键离开
#define BUTTONSWITCH  BUTTONSTATE + 11  //按键模式切换

//Touchscreen product information
typedef struct {
	DWORD  Version;         //version number
	DWORD  comtrollertype;  //controller type number
	DWORD  ltouchscreentype;// touchscreen type number
	DWORD  Initstatus;      // initialization status
	DWORD  Zsuppout;        //Z axis coordinate support
	DWORD  Xmin;            // screen extents,default =0
	DWORD  XRANGE;          //default=65535
	DWORD  Ymin;            // default=0
	DWORD  YRANGE ;			// default=65535
	DWORD  Reserved1;		//Reserved,must be zero
	DWORD  Reserved2;		// Reserved,must be zero
}_PRODUCT_INFO ;
//Touchscreen mouse emulation mode
#define Mode_1       0      //Click on Touch
#define Mode_2       1      //Click on Release
#define Mode_5       2      //Drag
#define Mode_6       3      //Double Click,Drag

#define CLICK_ON_TOUCH		Mode_1
#define CLICK_ON_RELEASE	Mode_2
#define DRAG				Mode_5
#define DOUBLE_CLICK_DRAG	Mode_6


//Touchscreen beep information
typedef struct {
	DWORD  BeepMode;		// 响声模式,见下面的常数定义。
	DWORD  BeepFreq;        //响声频率,见下面的频率范围。
	DWORD  BeepTime;        // 响声时长,见下面的时长范围。
}_BEEP_INFO;

//Touchscreen beep information
typedef struct {
	DWORD  BeepFreq1;		// 响声频率(Press),见下面的频率范围。
	DWORD  BeepTime1;		// 响声时长(press),见下面的时长范围。
	DWORD  BeepFreq2;		// 响声频率(release),见下面的频率范围。
	DWORD  BeepTime2;		// 响声时长(Release),见下面的时长范围。
}_ETT_BEEP_INFO;


//触摸响声模式常数
#define NOBEEP              0			//不响声
#define BEEPONTOUCH			NOBEEP+1    //用户刚触摸离开时响声
#define BEEPONRELEASE		NOBEEP+2    //用户触摸离开时响声
#define BEEP_FREQ_MIN		1000        //响声最低频率
#define DEFAULT_BEEP_FREQ	2000        //默认的响声频率
#define BEEP_FREQ_MAX		5000        //响声的最高频率
#define BEEP_TIME_MIN		32          //响声最低时长
#define DEFAULT_BEEP_TIME	32          //默认的响声时长
#define BEEP_TIME_MAX		750         //响声的最大时长
//controller encryption infomation
typedef struct {
	UCHAR OperationIndex;
	UCHAR Opnd1;
	UCHAR Opnd2;
	UCHAR Opnd3;
	UCHAR Opnd4;
	UCHAR Opnd5;
	UCHAR Opnd6;
	UCHAR Flag;
	UCHAR Result;
}_ENCRYPTION_INFO;
//set controller diagnostics parameters and get diagnostics results
typedef struct {
	DWORD DiagItem;
	DWORD DiagFlag;
	DWORD DiagResult;
}_DIAGNOSTICS_INFO;

#endif	//__CLIENT_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -