summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZixun LI <[email protected]>2025-09-25 14:45:00 +0200
committerGitHub <[email protected]>2025-09-25 14:45:00 +0200
commit1f9c41566165b23ff573bf1b9bfd077cfbe9067f (patch)
treeb20655964227245fed12184902da6d08dc037ff9
parent5b200c45f2a1b2124f8338dbd5942ba25d2368d0 (diff)
parentf4a3c1a1ba177abc97b0dfad6df8ea622cd97e64 (diff)
Merge pull request #3265 from ludoux/hid-power-devices
Add HID Usage Page and Table for Power Devices (0x84 - 0x85)
-rw-r--r--src/class/hid/hid.h198
1 files changed, 197 insertions, 1 deletions
diff --git a/src/class/hid/hid.h b/src/class/hid/hid.h
index bbc58af80..b69f623a0 100644
--- a/src/class/hid/hid.h
+++ b/src/class/hid/hid.h
@@ -807,7 +807,9 @@ enum {
HID_USAGE_PAGE_MEDICAL_INSTRUMENT = 0x40,
HID_USAGE_PAGE_LIGHTING_AND_ILLUMINATION = 0x59,
HID_USAGE_PAGE_MONITOR = 0x80, // 0x80 - 0x83
- HID_USAGE_PAGE_POWER = 0x84, // 0x084 - 0x87
+ HID_USAGE_PAGE_POWER = 0x84,
+ HID_USAGE_PAGE_BATTERY = 0x85,
+ // 0x86 - 0x87 is reserved for Power Device
HID_USAGE_PAGE_BARCODE_SCANNER = 0x8c,
HID_USAGE_PAGE_SCALE = 0x8d,
HID_USAGE_PAGE_MSR = 0x8e,
@@ -1595,6 +1597,200 @@ enum {
HID_USAGE_LIGHTING_AUTONOMOUS_MODE = 0x71,
};
+/// HID Usage Table: Power Device Page (0x84)
+enum {
+ HID_USAGE_POWER_UNDEFINED = 0x00,
+ HID_USAGE_POWER_I_NAME = 0x01,
+ HID_USAGE_POWER_PRESENT_STATUS = 0x02,
+ HID_USAGE_POWER_CHANGED_STATUS = 0x03,
+ HID_USAGE_POWER_UPS = 0x04,
+ HID_USAGE_POWER_POWER_SUPPLY = 0x05,
+ // 06-0F Reserved
+ HID_USAGE_POWER_BATTERY_SYSTEM = 0x10,
+ HID_USAGE_POWER_BATTERY_SYSTEM_ID = 0x11,
+ HID_USAGE_POWER_BATTERY = 0x12,
+ HID_USAGE_POWER_BATTERY_ID = 0x13,
+ HID_USAGE_POWER_CHARGER = 0x14,
+ HID_USAGE_POWER_CHARGER_ID = 0x15,
+ HID_USAGE_POWER_POWER_CONVERTER = 0x16,
+ HID_USAGE_POWER_POWER_CONVERTER_ID = 0x17,
+ HID_USAGE_POWER_OUTLET_SYSTEM = 0x18,
+ HID_USAGE_POWER_OUTLET_SYSTEM_ID = 0x19,
+ HID_USAGE_POWER_INPUT = 0x1A,
+ HID_USAGE_POWER_INPUT_ID = 0x1B,
+ HID_USAGE_POWER_OUTPUT = 0x1C,
+ HID_USAGE_POWER_OUTPUT_ID = 0x1D,
+ HID_USAGE_POWER_FLOW = 0x1E,
+ HID_USAGE_POWER_FLOW_ID = 0x1F,
+ HID_USAGE_POWER_OUTLET = 0x20,
+ HID_USAGE_POWER_OUTLET_ID = 0x21,
+ HID_USAGE_POWER_GANG = 0x22,
+ HID_USAGE_POWER_GANG_ID = 0x23,
+ HID_USAGE_POWER_POWER_SUMMARY = 0x24,
+ HID_USAGE_POWER_POWER_SUMMARY_ID = 0x25,
+ // 26-2F Reserved
+ HID_USAGE_POWER_VOLTAGE = 0x30,
+ HID_USAGE_POWER_CURRENT = 0x31,
+ HID_USAGE_POWER_FREQUENCY = 0x32,
+ HID_USAGE_POWER_APPARENT_POWER = 0x33,
+ HID_USAGE_POWER_ACTIVE_POWER = 0x34,
+ HID_USAGE_POWER_PERCENT_LOAD = 0x35,
+ HID_USAGE_POWER_TEMPERATURE = 0x36,
+ HID_USAGE_POWER_HUMIDITY = 0x37,
+ HID_USAGE_POWER_BAD_COUNT = 0x38,
+ // 39-3F Reserved
+ HID_USAGE_POWER_CONFIG_VOLTAGE = 0x40,
+ HID_USAGE_POWER_CONFIG_CURRENT = 0x41,
+ HID_USAGE_POWER_CONFIG_FREQUENCY = 0x42,
+ HID_USAGE_POWER_CONFIG_APPARENT_POWER = 0x43,
+ HID_USAGE_POWER_CONFIG_ACTIVE_POWER = 0x44,
+ HID_USAGE_POWER_CONFIG_PERCENT_LOAD = 0x45,
+ HID_USAGE_POWER_CONFIG_TEMPERATURE = 0x46,
+ HID_USAGE_POWER_CONFIG_HUMIDITY = 0x47,
+ // 48-4F Reserved
+ HID_USAGE_POWER_SWITCH_ON_CONTROL = 0x50,
+ HID_USAGE_POWER_SWITCH_OFF_CONTROL = 0x51,
+ HID_USAGE_POWER_TOGGLE_CONTROL = 0x52,
+ HID_USAGE_POWER_LOW_VOLTAGE_TRANSFER = 0x53,
+ HID_USAGE_POWER_HIGH_VOLTAGE_TRANSFER = 0x54,
+ HID_USAGE_POWER_DELAY_BEFORE_REBOOT = 0x55,
+ HID_USAGE_POWER_DELAY_BEFORE_STARTUP = 0x56,
+ HID_USAGE_POWER_DELAY_BEFORE_SHUTDOWN = 0x57,
+ HID_USAGE_POWER_TEST = 0x58,
+ HID_USAGE_POWER_MODULE_RESET = 0x59,
+ HID_USAGE_POWER_AUDIBLE_ALARM_CONTROL = 0x5A,
+ // 5B-5F Reserved
+ HID_USAGE_POWER_PRESENT = 0x60,
+ HID_USAGE_POWER_GOOD = 0x61,
+ HID_USAGE_POWER_INTERNAL_FAILURE = 0x62,
+ HID_USAGE_POWER_VOLTAGE_OUT_OF_RANGE = 0x63,
+ HID_USAGE_POWER_FREQUENCY_OUT_OF_RANGE = 0x64,
+ HID_USAGE_POWER_OVERLOAD = 0x65,
+ HID_USAGE_POWER_OVER_CHARGED = 0x66,
+ HID_USAGE_POWER_OVER_TEMPERATURE = 0x67,
+ HID_USAGE_POWER_SHUTDOWN_REQUESTED = 0x68,
+ HID_USAGE_POWER_SHUTDOWN_IMMINENT = 0x69,
+ // 6A Reserved
+ HID_USAGE_POWER_SWITCH_ON_OFF = 0x6B,
+ HID_USAGE_POWER_SWITCHABLE = 0x6C,
+ HID_USAGE_POWER_USED = 0x6D,
+ HID_USAGE_POWER_BOOST = 0x6E,
+ HID_USAGE_POWER_BUCK = 0x6F,
+ HID_USAGE_POWER_INITIALIZED = 0x70,
+ HID_USAGE_POWER_TESTED = 0x71,
+ HID_USAGE_POWER_AWAITING_POWER = 0x72,
+ HID_USAGE_POWER_COMMUNICATION_LOST = 0x73,
+ // 74-FC Reserved
+ HID_USAGE_POWER_I_MANUFACTURER = 0xFD,
+ HID_USAGE_POWER_I_PRODUCT = 0xFE,
+ HID_USAGE_POWER_I_SERIAL_NUMBER = 0xFF
+};
+
+/// HID Usage Table: Battery System Page (0x85)
+enum {
+ HID_USAGE_BATTERY_UNDEFINED = 0x00,
+ HID_USAGE_BATTERY_SMB_BATTERY_MODE = 0x01,
+ HID_USAGE_BATTERY_SMB_BATTERY_STATUS = 0x02,
+ HID_USAGE_BATTERY_SMB_ALARM_WARNING = 0x03,
+ HID_USAGE_BATTERY_SMB_CHARGER_MODE = 0x04,
+ HID_USAGE_BATTERY_SMB_CHARGER_STATUS = 0x05,
+ HID_USAGE_BATTERY_SMB_CHARGER_SPEC_INFO = 0x06,
+ HID_USAGE_BATTERY_SMB_SELECTOR_STATE = 0x07,
+ HID_USAGE_BATTERY_SMB_SELECTOR_PRESETS = 0x08,
+ HID_USAGE_BATTERY_SMB_SELECTOR_INFO = 0x09,
+ // 0A-0F Reserved
+ HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_1 = 0x10,
+ HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_2 = 0x11,
+ HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_3 = 0x12,
+ HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_4 = 0x13,
+ HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_5 = 0x14,
+ HID_USAGE_BATTERY_CONNECTION_TO_SMBUS = 0x15,
+ HID_USAGE_BATTERY_OUTPUT_CONNECTION = 0x16,
+ HID_USAGE_BATTERY_CHARGER_CONNECTION = 0x17,
+ HID_USAGE_BATTERY_BATTERY_INSERTION = 0x18,
+ HID_USAGE_BATTERY_USE_NEXT = 0x19,
+ HID_USAGE_BATTERY_OK_TO_USE = 0x1A,
+ HID_USAGE_BATTERY_BATTERY_SUPPORTED = 0x1B,
+ HID_USAGE_BATTERY_SELECTOR_REVISION = 0x1C,
+ HID_USAGE_BATTERY_CHARGING_INDICATOR = 0x1D,
+ // 1E-27 Reserved
+ HID_USAGE_BATTERY_MANUFACTURER_ACCESS = 0x28,
+ HID_USAGE_BATTERY_REMAINING_CAPACITY_LIMIT = 0x29,
+ HID_USAGE_BATTERY_REMAINING_TIME_LIMIT = 0x2A,
+ HID_USAGE_BATTERY_AT_RATE = 0x2B,
+ HID_USAGE_BATTERY_CAPACITY_MODE = 0x2C,
+ HID_USAGE_BATTERY_BROADCAST_TO_CHARGER = 0x2D,
+ HID_USAGE_BATTERY_PRIMARY_BATTERY = 0x2E,
+ HID_USAGE_BATTERY_CHARGE_CONTROLLER = 0x2F,
+ // 30-3F Reserved
+ HID_USAGE_BATTERY_TERMINATE_CHARGE = 0x40,
+ HID_USAGE_BATTERY_TERMINATE_DISCHARGE = 0x41,
+ HID_USAGE_BATTERY_BELOW_REMAINING_CAPACITY_LIMIT = 0x42,
+ HID_USAGE_BATTERY_REMAINING_TIME_LIMIT_EXPIRED = 0x43,
+ HID_USAGE_BATTERY_CHARGING = 0x44,
+ HID_USAGE_BATTERY_DISCHARGING = 0x45,
+ HID_USAGE_BATTERY_FULLY_CHARGED = 0x46,
+ HID_USAGE_BATTERY_FULLY_DISCHARGED = 0x47,
+ HID_USAGE_BATTERY_CONDITIONING_FLAG = 0x48,
+ HID_USAGE_BATTERY_AT_RATE_OK = 0x49,
+ HID_USAGE_BATTERY_SMB_ERROR_CODE = 0x4A,
+ HID_USAGE_BATTERY_NEED_REPLACEMENT = 0x4B,
+ // 4C-5F Reserved
+ HID_USAGE_BATTERY_AT_RATE_TIME_TO_FULL = 0x60,
+ HID_USAGE_BATTERY_AT_RATE_TIME_TO_EMPTY = 0x61,
+ HID_USAGE_BATTERY_AVERAGE_CURRENT = 0x62,
+ HID_USAGE_BATTERY_MAX_ERROR = 0x63,
+ HID_USAGE_BATTERY_RELATIVE_STATE_OF_CHARGE = 0x64,
+ HID_USAGE_BATTERY_ABSOLUTE_STATE_OF_CHARGE = 0x65,
+ HID_USAGE_BATTERY_REMAINING_CAPACITY = 0x66,
+ HID_USAGE_BATTERY_FULL_CHARGE_CAPACITY = 0x67,
+ HID_USAGE_BATTERY_RUN_TIME_TO_EMPTY = 0x68,
+ HID_USAGE_BATTERY_AVERAGE_TIME_TO_EMPTY = 0x69,
+ HID_USAGE_BATTERY_AVERAGE_TIME_TO_FULL = 0x6A,
+ HID_USAGE_BATTERY_CYCLE_COUNT = 0x6B,
+ // 6C-7F Reserved
+ HID_USAGE_BATTERY_BATT_PACK_MODEL_LEVEL = 0x80,
+ HID_USAGE_BATTERY_INTERNAL_CHARGE_CONTROLLER = 0x81,
+ HID_USAGE_BATTERY_PRIMARY_BATTERY_SUPPORT = 0x82,
+ HID_USAGE_BATTERY_DESIGN_CAPACITY = 0x83,
+ HID_USAGE_BATTERY_SPECIFICATION_INFO = 0x84,
+ HID_USAGE_BATTERY_MANUFACTURER_DATE = 0x85,
+ HID_USAGE_BATTERY_SERIAL_NUMBER = 0x86,
+ HID_USAGE_BATTERY_I_MANUFACTURER_NAME = 0x87,
+ HID_USAGE_BATTERY_I_DEVICE_NAME = 0x88,
+ HID_USAGE_BATTERY_I_DEVICE_CHEMISTRY = 0x89,
+ HID_USAGE_BATTERY_MANUFACTURER_DATA = 0x8A,
+ HID_USAGE_BATTERY_RECHARGEABLE = 0x8B,
+ HID_USAGE_BATTERY_WARNING_CAPACITY_LIMIT = 0x8C,
+ HID_USAGE_BATTERY_CAPACITY_GRANULARITY_1 = 0x8D,
+ HID_USAGE_BATTERY_CAPACITY_GRANULARITY_2 = 0x8E,
+ HID_USAGE_BATTERY_I_OEMINFORMATION = 0x8F,
+ // 90-BF Reserved
+ HID_USAGE_BATTERY_INHIBIT_CHARGE = 0xC0,
+ HID_USAGE_BATTERY_ENABLE_POLLING = 0xC1,
+ HID_USAGE_BATTERY_RESET_TO_ZERO = 0xC2,
+ // C3-CF Reserved
+ HID_USAGE_BATTERY_AC_PRESENT = 0xD0,
+ HID_USAGE_BATTERY_BATTERY_PRESENT = 0xD1,
+ HID_USAGE_BATTERY_POWER_FAIL = 0xD2,
+ HID_USAGE_BATTERY_ALARM_INHIBITED = 0xD3,
+ HID_USAGE_BATTERY_THERMISTOR_UNDER_RANGE = 0xD4,
+ HID_USAGE_BATTERY_THERMISTOR_HOT = 0xD5,
+ HID_USAGE_BATTERY_THERMISTOR_COLD = 0xD6,
+ HID_USAGE_BATTERY_THERMISTOR_OVER_RANGE = 0xD7,
+ HID_USAGE_BATTERY_VOLTAGE_OUT_OF_RANGE = 0xD8,
+ HID_USAGE_BATTERY_CURRENT_OUT_OF_RANGE = 0xD9,
+ HID_USAGE_BATTERY_CURRENT_NOT_REGULATED = 0xDA,
+ HID_USAGE_BATTERY_VOLTAGE_NOT_REGULATED = 0xDB,
+ HID_USAGE_BATTERY_MASTER_MODE = 0xDC,
+ // DD-EF Reserved
+ HID_USAGE_BATTERY_CHARGER_SELECTOR_SUPPORT = 0xF0,
+ HID_USAGE_BATTERY_CHARGER_SPEC = 0xF1,
+ HID_USAGE_BATTERY_LEVEL_2 = 0xF2,
+ HID_USAGE_BATTERY_LEVEL_3 = 0xF3
+ // F4-FF Reserved
+};
+
/// HID Usage Table: FIDO Alliance Page (0xF1D0)
enum {
HID_USAGE_FIDO_U2FHID = 0x01, // U2FHID usage for top-level collection