1 /****************************************************************************** 2 * Copyright (c) 2022 Telink Semiconductor (Shanghai) Co., Ltd. ("TELINK") 3 * All rights reserved. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 *****************************************************************************/ 18 #pragma once 19 20 /** 21 * @brief hids_uuid Hids Characteristic UUID 22 */ 23 #define CHARACTERISTIC_UUID_HID_BOOT_KEY_INPUT 0x2A22 // !< HID Boot Keyboard Input Report 24 #define CHARACTERISTIC_UUID_HID_BOOT_KEY_OUTPUT 0x2A32 // !< HID Boot Keyboard Output Report 25 #define CHARACTERISTIC_UUID_HID_BOOT_MOUSE_INPUT 0x2A33 // !< HID Boot Mouse Input Report 26 #define CHARACTERISTIC_UUID_HID_INFORMATION 0x2A4A // !< HID Information 27 #define CHARACTERISTIC_UUID_HID_REPORT_MAP 0x2A4B // !< HID Report Map 28 #define CHARACTERISTIC_UUID_HID_CONTROL_POINT 0x2A4C // !< HID Control Point 29 #define CHARACTERISTIC_UUID_HID_REPORT 0x2A4D // !< HID Report 30 #define CHARACTERISTIC_UUID_HID_PROTOCOL_MODE 0x2A4E // !< HID Protocol Mode 31 32 /** 33 * @brief HID Report ID 34 */ 35 #define HID_REPORT_ID_KEYBOARD_INPUT 1 // !< Keyboard input report ID 36 #define HID_REPORT_ID_CONSUME_CONTROL_INPUT 2 // !< Consumer Control input report ID 37 #define HID_REPORT_ID_MOUSE_INPUT 3 // !< Mouse input report ID 38 #define HID_REPORT_ID_GAMEPAD_INPUT 4 // !< Gamepad input report ID 39 #define HID_REPORT_ID_LED_OUT 0 // !< LED output report ID 40 #define HID_REPORT_ID_FEATURE 0 // !< Feature report ID 41 42 #define HID_REPORT_ID_CTRL_VOICE 9 43 44 #define HID_REPORT_ID_AUDIO_FIRST_INPUT 10 // 250 45 #define HID_REPORT_ID_AUDIO_SECND_INPUT 11 // 251 46 #define HID_REPORT_ID_AUDIO_THIRD_INPUT 12 // 247 47 48 /** 49 * @brief HID Report type 50 */ 51 52 #define HID_REPORT_TYPE_INPUT 1 53 #define HID_REPORT_TYPE_OUTPUT 2 54 #define HID_REPORT_TYPE_FEATURE 3 55 56 /** 57 * @brief Definition for HID protocol mode 58 */ 59 #define HID_PROTOCOL_MODE_BOOT 0 60 #define HID_PROTOCOL_MODE_REPORT 1 61 #define DFLT_HID_PROTOCOL_MODE HID_PROTOCOL_MODE_REPORT 62 63 /** 64 * @brief Definition for HID information flags 65 */ 66 #define HID_FLAGS_REMOTE_WAKE 0x01 // RemoteWake 67 #define HID_FLAGS_NORMALLY_CONNECTABLE 0x02 // NormallyConnectable 68