123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- #ifndef HIDDEV_H
- #define HIDDEV_H
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- #define HIDDEV_ERASE_ALLBONDS 0
- #define HID_DEV_OPER_WRITE 0
- #define HID_DEV_OPER_READ 1
- #define HID_DEV_OPER_ENABLE 2
- #define HID_DEV_OPER_DISABLE 3
- #define HID_DEV_SUSPEND_EVT 0
- #define HID_DEV_EXIT_SUSPEND_EVT 1
- #define HID_DEV_SET_BOOT_EVT 2
- #define HID_DEV_SET_REPORT_EVT 3
- #define HID_REPORT_TYPE_INPUT 1
- #define HID_REPORT_TYPE_OUTPUT 2
- #define HID_REPORT_TYPE_FEATURE 3
- #define HID_FLAGS_REMOTE_WAKE 0x01
- #define HID_FLAGS_NORMALLY_CONNECTABLE 0x02
- #define HID_CMD_SUSPEND 0x00
- #define HID_CMD_EXIT_SUSPEND 0x01
- #define HID_PROTOCOL_MODE_BOOT 0x00
- #define HID_PROTOCOL_MODE_REPORT 0x01
- #define HID_PROTOCOL_MODE_LEN 1
- #define HID_INFORMATION_LEN 4
- #define HID_REPORT_REF_LEN 2
- #define HID_EXT_REPORT_REF_LEN 2
-
- #define HID_KEYBOARD_RESERVED 0
- #define HID_KEYBOARD_A 4
- #define HID_KEYBOARD_B 5
- #define HID_KEYBOARD_C 6
- #define HID_KEYBOARD_D 7
- #define HID_KEYBOARD_E 8
- #define HID_KEYBOARD_F 9
- #define HID_KEYBOARD_G 10
- #define HID_KEYBOARD_H 11
- #define HID_KEYBOARD_I 12
- #define HID_KEYBOARD_J 13
- #define HID_KEYBOARD_K 14
- #define HID_KEYBOARD_L 15
- #define HID_KEYBOARD_M 16
- #define HID_KEYBOARD_N 17
- #define HID_KEYBOARD_O 18
- #define HID_KEYBOARD_P 19
- #define HID_KEYBOARD_Q 20
- #define HID_KEYBOARD_R 21
- #define HID_KEYBOARD_S 22
- #define HID_KEYBOARD_T 23
- #define HID_KEYBOARD_U 24
- #define HID_KEYBOARD_V 25
- #define HID_KEYBOARD_W 26
- #define HID_KEYBOARD_X 27
- #define HID_KEYBOARD_Y 28
- #define HID_KEYBOARD_Z 29
- #define HID_KEYBOARD_1 30
- #define HID_KEYBOARD_2 31
- #define HID_KEYBOARD_3 32
- #define HID_KEYBOARD_4 33
- #define HID_KEYBOARD_5 34
- #define HID_KEYBOARD_6 35
- #define HID_KEYBOARD_7 36
- #define HID_KEYBOARD_8 37
- #define HID_KEYBOARD_9 38
- #define HID_KEYBOARD_0 39
- #define HID_KEYBOARD_RETURN 40
- #define HID_KEYBOARD_ESCAPE 41
- #define HID_KEYBOARD_DELETE 42
- #define HID_KEYBOARD_TAB 43
- #define HID_KEYBOARD_SPACEBAR 44
- #define HID_KEYBOARD_MINUS 45
- #define HID_KEYBOARD_EQUAL 46
- #define HID_KEYBOARD_LEFT_BRKT 47
- #define HID_KEYBOARD_RIGHT_BRKT 48
- #define HID_KEYBOARD_BACK_SLASH 49
- #define HID_KEYBOARD_SEMI_COLON 51
- #define HID_KEYBOARD_SGL_QUOTE 52
- #define HID_KEYBOARD_GRV_ACCENT 53
- #define HID_KEYBOARD_COMMA 54
- #define HID_KEYBOARD_DOT 55
- #define HID_KEYBOARD_FWD_SLASH 56
- #define HID_KEYBOARD_CAPS_LOCK 57
- #define HID_KEYBOARD_F1 58
- #define HID_KEYBOARD_F2 59
- #define HID_KEYBOARD_F3 60
- #define HID_KEYBOARD_F4 61
- #define HID_KEYBOARD_F5 62
- #define HID_KEYBOARD_F6 63
- #define HID_KEYBOARD_F7 64
- #define HID_KEYBOARD_F8 65
- #define HID_KEYBOARD_F9 66
- #define HID_KEYBOARD_F10 67
- #define HID_KEYBOARD_F11 68
- #define HID_KEYBOARD_F12 69
- #define HID_KEYBOARD_PRNT_SCREEN 70
- #define HID_KEYBOARD_SCROLL_LOCK 71
- #define HID_KEYBOARD_PAUSE 72
- #define HID_KEYBOARD_INSERT 73
- #define HID_KEYBOARD_HOME 74
- #define HID_KEYBOARD_PAGE_UP 75
- #define HID_KEYBOARD_DELETE_FWD 76
- #define HID_KEYBOARD_END 77
- #define HID_KEYBOARD_PAGE_DOWN 78
- #define HID_KEYBOARD_RIGHT_ARROW 79
- #define HID_KEYBOARD_LEFT_ARROW 80
- #define HID_KEYBOARD_DOWN_ARROW 81
- #define HID_KEYBOARD_UP_ARROW 82
- #define HID_KEYBPAD_NUM_LOCK 83
- #define HID_KEYBPAD_DIVIDE 84
- #define HID_KEYBOARD_MULTIPLY 85
- #define HID_KEYBOARD_SUBTRACT 86
- #define HID_KEYBPAD_ADD 87
- #define HID_KEYBPAD_ENTER 88
- #define HID_KEYBPAD_1 89
- #define HID_KEYBPAD_2 90
- #define HID_KEYBPAD_3 91
- #define HID_KEYBPAD_4 92
- #define HID_KEYBPAD_5 93
- #define HID_KEYBPAD_6 94
- #define HID_KEYBPAD_7 95
- #define HID_KEYBPAD_8 96
- #define HID_KEYBPAD_9 97
- #define HID_KEYBPAD_0 98
- #define HID_KEYBPAD_DOT 99
- #define HID_KEYBOARD_MUTE 127
- #define HID_KEYBOARD_VOLUME_UP 128
- #define HID_KEYBOARD_VOLUME_DOWN 129
- #define HID_KEYBOARD_LEFT_CTRL 224
- #define HID_KEYBOARD_LEFT_SHIFT 225
- #define HID_KEYBOARD_LEFT_ALT 226
- #define HID_KEYBOARD_LEFT_GUI 227
- #define HID_KEYBOARD_RIGHT_CTRL 228
- #define HID_KEYBOARD_RIGHT_SHIFT 229
- #define HID_KEYBOARD_RIGHT_ALT 230
- #define HID_KEYBOARD_RIGHT_GUI 231
- #define HID_MOUSE_BUTTON_LEFT 253
- #define HID_MOUSE_BUTTON_MIDDLE 254
- #define HID_MOUSE_BUTTON_RIGHT 255
- #define HID_CONSUMER_POWER 48
- #define HID_CONSUMER_RESET 49
- #define HID_CONSUMER_SLEEP 50
- #define HID_CONSUMER_MENU 64
- #define HID_CONSUMER_SELECTION 128
- #define HID_CONSUMER_ASSIGN_SEL 129
- #define HID_CONSUMER_MODE_STEP 130
- #define HID_CONSUMER_RECALL_LAST 131
- #define HID_CONSUMER_QUIT 148
- #define HID_CONSUMER_HELP 149
- #define HID_CONSUMER_CHANNEL_UP 156
- #define HID_CONSUMER_CHANNEL_DOWN 157
- #define HID_CONSUMER_PLAY 176
- #define HID_CONSUMER_PAUSE 177
- #define HID_CONSUMER_RECORD 178
- #define HID_CONSUMER_FAST_FORWARD 179
- #define HID_CONSUMER_REWIND 180
- #define HID_CONSUMER_SCAN_NEXT_TRK 181
- #define HID_CONSUMER_SCAN_PREV_TRK 182
- #define HID_CONSUMER_STOP 183
- #define HID_CONSUMER_EJECT 184
- #define HID_CONSUMER_RANDOM_PLAY 185
- #define HID_CONSUMER_SELECT_DISC 186
- #define HID_CONSUMER_ENTER_DISC 187
- #define HID_CONSUMER_REPEAT 188
- #define HID_CONSUMER_STOP_EJECT 204
- #define HID_CONSUMER_PLAY_PAUSE 205
- #define HID_CONSUMER_PLAY_SKIP 206
- #define HID_CONSUMER_VOLUME 224
- #define HID_CONSUMER_BALANCE 225
- #define HID_CONSUMER_MUTE 226
- #define HID_CONSUMER_BASS 227
- #define HID_CONSUMER_VOLUME_UP 233
- #define HID_CONSUMER_VOLUME_DOWN 234
- #define HID_ANDROID_CONSUMER_MENU 101
- #define HID_USER_DEFINE_CH_UP 54
- #define HID_USER_DEFINE_CH_DOWN 55
-
- typedef struct
- {
- uint16 handle;
- uint16 cccdHandle;
- uint8 id;
- uint8 type;
- uint8 mode;
- } hidRptMap_t;
- typedef struct
- {
- uint32 idleTimeout;
- uint8 hidFlags;
- } hidDevCfg_t;
- extern uint16 hidReportMapLen;
- extern uint8 hidProtocolMode;
- typedef uint8 (*hidDevReportCB_t)( uint8 id, uint8 type, uint16 uuid,
- uint8 oper, uint8 *pLen, uint8 *pData );
- typedef void (*hidDevEvtCB_t)( uint8 evt );
- typedef void (*hidDevPasscodeCB_t)( uint8 *deviceAddr, uint16 connectionHandle,
- uint8 uiInputs, uint8 uiOutputs );
- typedef struct
- {
- hidDevReportCB_t reportCB;
- hidDevEvtCB_t evtCB;
- hidDevPasscodeCB_t passcodeCB;
- } hidDevCB_t;
- extern void hidDevGapStateCB( gaprole_States_t newState );
- extern void hidDevPairStateCB( uint16 connHandle, uint8 state, uint8 status );
- extern void hidDevPasscodeCB( uint8 *deviceAddr, uint16 connectionHandle,
- uint8 uiInputs, uint8 uiOutputs );
- extern void HidDev_Init( uint8 task_id );
- extern uint16 HidDev_ProcessEvent( uint8 task_id, uint16 events );
- extern void HidDev_Register( hidDevCfg_t *pCfg, hidDevCB_t *pCBs );
- extern void HidDev_RegisterReports( uint8 numReports, hidRptMap_t *pRpt );
- extern void HidDev_Report( uint8 id, uint8 type, uint8 len, uint8 *pData );
- extern void HidDev_Close( void );
- extern bStatus_t HidDev_SetParameter( uint8 param, uint8 len, void *pValue );
- extern bStatus_t HidDev_GetParameter( uint8 param, void *pValue );
- extern void HidDev_PasscodeRsp( uint8 status, uint32 passcode );
- extern bStatus_t HidDev_ReadAttrCB( uint16 connHandle, gattAttribute_t *pAttr,
- uint8 *pValue, uint8 *pLen, uint16 offset,
- uint8 maxLen);
- extern bStatus_t HidDev_WriteAttrCB( uint16 connHandle, gattAttribute_t *pAttr,
- uint8 *pValue, uint8 len, uint16 offset);
- #ifdef __cplusplus
- }
- #endif
- #endif
|