mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.7 KiB
99 lines
3.7 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
HIDPI.H
|
|
|
|
Abstract:
|
|
|
|
Public Definitions of HID USAGES.
|
|
|
|
Environment:
|
|
|
|
Kernel & user mode
|
|
|
|
Revision History:
|
|
|
|
Aug-1996 : created Kenneth D. Ray
|
|
|
|
--*/
|
|
|
|
#ifndef _HIDTOKEN_H
|
|
#define _HIDTOKEN_H
|
|
|
|
#define HIDP_ITEM_LONG 0xFE
|
|
#define HIDP_ITEM_LENGTH_DATA 0x03
|
|
|
|
#define HIDP_IS_MAIN_ITEM(item) (((item) & 0xC) == 0x0)
|
|
#define HIDP_IS_GLOBAL_ITEM(item) (((item) & 0xC) == 0x4)
|
|
#define HIDP_IS_LOCAL_ITEM(item) (((item) & 0xC) == 0x8)
|
|
#define HIDP_IS_RESERVED_ITEM(item) (((item) & 0xC) == 0xC)
|
|
|
|
// Main Items
|
|
// Only main items with one byte data (bSize = 1) are supported.
|
|
#define HIDP_MAIN_INPUT_1 0x81
|
|
#define HIDP_MAIN_INPUT_2 0x82
|
|
#define HIDP_MAIN_OUTPUT_1 0x91
|
|
#define HIDP_MAIN_OUTPUT_2 0x92
|
|
#define HIDP_MAIN_FEATURE_1 0xB1
|
|
#define HIDP_MAIN_FEATURE_2 0xB2
|
|
#define HIDP_MAIN_COLLECTION 0xA1
|
|
#define HIDP_MAIN_ENDCOLLECTION 0xC0
|
|
#define HIDP_ISMAIN(x) (0 == ((x) & 0x0C))
|
|
#define HIDP_MAIN_COLLECTION_LINK 0x00
|
|
#define HIDP_MAIN_COLLECTION_APP 0x01
|
|
|
|
// Global Items
|
|
#define HIDP_GLOBAL_USAGE_PAGE_1 0x05 // UsagePage of 1 byte
|
|
#define HIDP_GLOBAL_USAGE_PAGE_2 0x06 // UsagePage of 2 bytes
|
|
#define HIDP_GLOBAL_USAGE_PAGE_4 0x07 // UsagePage of 4 bytes
|
|
#define HIDP_GLOBAL_LOG_MIN_1 0x15 // minimum value of size 1 byte.
|
|
#define HIDP_GLOBAL_LOG_MIN_2 0x16 // minimum value of size 2 bytes.
|
|
#define HIDP_GLOBAL_LOG_MIN_4 0x17 // minimum value of size 4 bytes.
|
|
#define HIDP_GLOBAL_LOG_MAX_1 0X25 // maximum of size 1 byte.
|
|
#define HIDP_GLOBAL_LOG_MAX_2 0X26 // maximum of size 2 bytes.
|
|
#define HIDP_GLOBAL_LOG_MAX_4 0X27 // maximum of size 4 bytes.
|
|
|
|
#define HIDP_GLOBAL_PHY_MIN_1 0x35 // minimum value of size 1 byte.
|
|
#define HIDP_GLOBAL_PHY_MIN_2 0x36 // minimum value of size 2 bytes.
|
|
#define HIDP_GLOBAL_PHY_MIN_4 0x37 // minimum value of size 4 bytes.
|
|
#define HIDP_GLOBAL_PHY_MAX_1 0X45 // maximum of size 1 byte.
|
|
#define HIDP_GLOBAL_PHY_MAX_2 0X46 // maximum of size 2 bytes.
|
|
#define HIDP_GLOBAL_PHY_MAX_4 0X47 // maximum of size 4 bytes.
|
|
|
|
#define HIDP_GLOBAL_UNIT_EXP_1 0x55 // Exponent of size 1 byte.
|
|
#define HIDP_GLOBAL_UNIT_EXP_2 0x56 // Exponent of size 2 bytes.
|
|
#define HIDP_GLOBAL_UNIT_EXP_4 0x57 // Exponent of size 4 bytes.
|
|
#define HIDP_GLOBAL_UNIT_1 0x65 // UNIT of size 1 byte.
|
|
#define HIDP_GLOBAL_UNIT_2 0x66 // UNIT of size 2 bytes.
|
|
#define HIDP_GLOBAL_UNIT_4 0x67 // UNIT of size 4 bytes.
|
|
|
|
#define HIDP_GLOBAL_REPORT_SIZE 0x75 // Report size in bits
|
|
#define HIDP_GLOBAL_REPORT_ID 0x85 // ID only size 1 byte supported
|
|
#define HIDP_GLOBAL_REPORT_COUNT_1 0x95 // Number of data fields 1 byte
|
|
#define HIDP_GLOBAL_REPORT_COUNT_2 0x96 // Number of data fields 2 bytes
|
|
#define HIDP_GLOBAL_PUSH 0xA4 // The dreaded PUSH command
|
|
#define HIDP_GLOBAL_POP 0xB4 // And the dreaded POP command
|
|
|
|
// Local Items
|
|
#define HIDP_LOCAL_USAGE_1 0x09 //
|
|
#define HIDP_LOCAL_USAGE_2 0x0A //
|
|
#define HIDP_LOCAL_USAGE_4 0x0B //
|
|
#define HIDP_LOCAL_USAGE_MIN_1 0x19
|
|
#define HIDP_LOCAL_USAGE_MIN_2 0x1A
|
|
#define HIDP_LOCAL_USAGE_MIN_4 0x1B
|
|
#define HIDP_LOCAL_USAGE_MAX_1 0x29
|
|
#define HIDP_LOCAL_USAGE_MAX_2 0x2A
|
|
#define HIDP_LOCAL_USAGE_MAX_4 0x2B
|
|
#define HIDP_LOCAL_DESIG_INDEX 0x39 // Designators of byte size supported
|
|
#define HIDP_LOCAL_DESIG_MIN 0x49
|
|
#define HIDP_LOCAL_DESIG_MAX 0x59
|
|
#define HIDP_LOCAL_STRING_INDEX 0x79 // String indices of size byte supported
|
|
#define HIDP_LOCAL_STRING_MIN 0x89
|
|
#define HIDP_LOCAL_STRING_MAX 0x99
|
|
#define HIDP_LOCAL_DELIMITER 0xA9
|
|
|
|
#endif
|
|
|