99 lines
3.7 KiB
C
99 lines
3.7 KiB
C
|
/*++
|
|||
|
|
|||
|
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
|
|||
|
|