94 lines
2.4 KiB
C
94 lines
2.4 KiB
C
/********************************************************************************
|
||
* 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
|