1 /* 2 ******************************************************************************** 3 * USB Hid Driver 4 * 5 * (c) Copyright 2006-2010, All winners Co,Ld. 6 * All Right Reserved 7 * 8 * FileName : UsbMouse_DriftControl.h 9 * 10 * Author : Javen 11 * 12 * Date : 2010.06.02 13 * 14 * Description : USB Mouse 15 * 16 * Others : NULL 17 * 18 * History: 19 * <time> <version > <author> <desc> 20 * 2010.07.16 1.0 Javen build this file 21 * 22 ******************************************************************************** 23 */ 24 #ifndef __USBMOUSE_DRIFTCONTROL_H__ 25 #define __USBMOUSE_DRIFTCONTROL_H__ 26 27 //-------------------------------------------------------- 28 // 29 //-------------------------------------------------------- 30 typedef struct _UsbMouseEventUnit{ 31 unsigned int vaild; /* 是否有效 */ 32 USBHMouseEvent_t MouseEvent; /* 鼠标事件 */ 33 }UsbMouseEventUnit_t; 34 35 typedef struct _UsbMouseDriftControl{ 36 usbMouse_t *usbMouse; 37 38 osal_timer_t TimerHdle; /* timer 句柄 */ 39 hal_sem_t ThreadSemi; /* 线程信号量 */ 40 hal_sem_t notify_complete; /* 线程同步信号量 */ 41 void *ThreadId; /* 线程ID */ 42 43 unsigned int ButtonDown; /* 按键按下 */ 44 45 UsbMouseEventUnit_t PreMouseEvent; /* 上一次的鼠标事件 */ 46 UsbMouseEventUnit_t DubiousMouseEvent; /* 可以的鼠标事件 */ 47 UsbMouseEventUnit_t CurrentMouseEvent; /* 当前的鼠标事件 */ 48 unsigned int DubiousCoordinate; /* 可疑坐标, bit1:X, bit2:Y, bit3: X & Y */ 49 unsigned int WaitEvent; /* 等待下一次的事件 */ 50 }UsbMouseDriftControl_t; 51 52 53 //-------------------------------------------------------- 54 // 55 //-------------------------------------------------------- 56 void UsbMouse_AddToDriftArray(usbMouse_t *usbMouse, USBHMouseEvent_t *Event); 57 int UsbMouse_DriftControl_Init(usbMouse_t *usbMouse); 58 int UsbMouse_DriftControl_Exit(usbMouse_t *usbMouse); 59 60 #endif //__USBMOUSE_DRIFTCONTROL_H__ 61 62