1 /* 2 * Copyright (C) 2019-2020 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _BT_HIDS_H_ 6 #define _BT_HIDS_H_ 7 8 typedef void *hids_handle_t; 9 10 hids_handle_t hids_init(uint8_t mode); 11 int set_data_map(uint8_t u_data[], uint16_t len, uint8_t u_type); 12 int hids_key_send(hids_handle_t handle, uint8_t *key_code, uint16_t us_len); 13 int hids_notify_send(hids_handle_t handle, uint8_t *key_code, uint16_t us_len); 14 15 typedef enum { 16 HIDS_IDX_SVC, 17 HIDS_IDX_REPORT_MAP_CHAR, 18 HIDS_IDX_REPORT_MAP_VAL, 19 HIDS_IDX_REPORT_INPUT_CHAR, 20 HIDS_IDX_REPORT_INPUT_VAL, 21 HIDS_IDX_REPORT_INPUT_REF, 22 HIDS_IDX_REPORT_INPUT_CCC, 23 HIDS_IDX_REPORT_OUTPUT_CHAR, 24 HIDS_IDX_REPORT_OUTPUT_VAL, 25 HIDS_IDX_REPORT_OUTPUT_REF, 26 //HIDS_IDX_REPORT_FEATURE_CHAR, 27 //HIDS_IDX_REPORT_FEATURE_VAL, 28 //HIDS_IDX_REPORT_FEATURE_DES, 29 HIDS_IDX_BOOT_KB_INPUT_REPORT_CHAR, 30 HIDS_IDX_BOOT_KB_INPUT_REPORT_VAL, 31 HIDS_IDX_BOOT_KB_INPUT_REPORT_CCC, 32 HIDS_IDX_BOOT_KB_OUTPUT_REPORT_CHAR, 33 HIDS_IDX_BOOT_KB_OUTPUT_REPORT_VAL, 34 HIDS_IDX_INFO_CHAR, 35 HIDS_IDX_INFO_VAL, 36 HIDS_IDX_CTRL_CHAR, 37 HIDS_IDX_CTRL_VAL, 38 HIDS_IDX_PROTOCOL_MODE_CHAR, 39 HIDS_IDX_PROTOCOL_MODE_VAL, 40 41 HIDS_IDX_MAX, 42 } hids_event_e; 43 44 typedef void (*hids_event_cb)(hids_event_e event, void *event_data); //Event call back. 45 int init_hids_call_func(int32_t idx, hids_event_cb cb_event); 46 47 48 enum { 49 REPORT_MAP = 0x00, 50 REPORT_INPUT = 0x01, 51 REPORT_OUTPUT = 0x02, 52 //REPORT_FEATURE = 0x03, 53 54 REPORT_MAX, 55 }; 56 57 enum { 58 HIDS_BOOT_PROTOCOL_MODE = 0x00, 59 HIDS_REPORT_PROTOCOL_MODE = 0x01, 60 }; 61 62 63 64 #endif 65