/******************************************************************************** * Copyright (c) 2016, Beijing Tongfang Microelectroics Co., Ltd. * All rights reserved. * Module: HID header file * Author: Yang Song * Version: V1.0 * History: * 2016-09-22 Original version ********************************************************************************/ #ifndef HID_H_ #define HID_H_ //#if HID #define HID 0x00 #define HIDINTPKTSIZE 0x40 #define SET_REPORT 0x09 #define GET_REPORT 0x01 #define HIDRREPORT 0x22 #define HID_KBD_RPT_LEN 0x3f #define HID_POS_RPT_LEN 0x45 //#define HIDRXMAXLENL 0x0B //#define HIDRXMAXLENH 0x08 #define HIDTXMAXLENL 0x1F #define HIDTXMAXLENH 0x00 #define HIDPOS_CFG_LEN 0x29 #define HIDKBD_CFG_LEN 0x22 #define VSP_CFG_LEN 0x43 //#define HIDRXLEN (((u16)HIDRXMAXLENH<<8)+HIDRXMAXLENL) //#define HIDTXLEN (((u16)HIDTXMAXLENH<<8)+HIDTXMAXLENL) #define SETBASE 0x50 // Change base #define ALGOPER 0x56 // DES operation: Encryption/Decrytion/Read result #define WRFLASH 0x58 // Write flash #define RDFLASH 0x5A // Read flash #define UDFLASH 0x5C // Update flash #define ERFLASH 0x2E // Erase flash #define FERFLASH 0x3E // Fast erase flash #define GETRDMN 0x84 // get random number #define CAPSLOCKON 0x01 #define CAPSLOCKOFF 0x00 #define NUMLOCKON 0x01 #define NUMLOCKOFF 0x00 #define SHIFTON 0x02 extern u8 g_bCapsLock; extern u8 g_bNumLock; //0: 没开; 1:开了 extern void SendCapsLock(void); extern void SendNumLock(void); extern const u8 usbHidPosInterfaceDescriptor[]; extern const u8 usbHidKbdInterfaceDescriptor[]; extern const u8 usbHidPosDeviceClassDescriptor[]; extern const u8 usbHidKbdDeviceClassDescriptor[]; extern const u8 usbHidPosEndpointDescriptor[]; extern const u8 usbHidKbdEndpointDescriptor[]; extern const u8 usbHidKbdReportDescriptor[HID_KBD_RPT_LEN]; extern const u8 usbHidPosReportDescriptor[HID_POS_RPT_LEN]; extern void hidReportRequest(u8 req); extern void hidSetReportRequest(void); extern void hidGetReportRequest(void); extern void hidSendReportDscrpt(void); extern void usbHidPosSendChars(u8 *buf,u32 len); extern u32 usbHidPosRecvChars(u8 *buf, u32 bufSize); extern void usbHidKbdSendChars(u8 *buf,u32 len); extern void usbHidKbdSendCharsGBK(u8 *buf,u32 len); extern void usbHidKbdSendCharsUNICODE(u8 *buf,u32 len); extern void usbHidKbdSendCharsUTF8(u8 *buf,u32 len); //根据现有状态status开关capslock void usbHidKbdSendCapsLock(uint8_t status); //#endif #endif