Skip to content

Commit f36b63a

Browse files
committed
Add HID Usage Page and Table for Power Devices (0x84 - 0x85)
1 parent 5b200c4 commit f36b63a

File tree

1 file changed

+197
-1
lines changed

1 file changed

+197
-1
lines changed

src/class/hid/hid.h

Lines changed: 197 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,9 @@ enum {
807807
HID_USAGE_PAGE_MEDICAL_INSTRUMENT = 0x40,
808808
HID_USAGE_PAGE_LIGHTING_AND_ILLUMINATION = 0x59,
809809
HID_USAGE_PAGE_MONITOR = 0x80, // 0x80 - 0x83
810-
HID_USAGE_PAGE_POWER = 0x84, // 0x084 - 0x87
810+
HID_USAGE_PAGE_POWER = 0x84,
811+
HID_USAGE_PAGE_BATTERY = 0x85,
812+
// 0x86 - 0x87 is reserved for Power Device
811813
HID_USAGE_PAGE_BARCODE_SCANNER = 0x8c,
812814
HID_USAGE_PAGE_SCALE = 0x8d,
813815
HID_USAGE_PAGE_MSR = 0x8e,
@@ -1595,6 +1597,200 @@ enum {
15951597
HID_USAGE_LIGHTING_AUTONOMOUS_MODE = 0x71,
15961598
};
15971599

1600+
/// HID Usage Table: Power Device Page (0x84)
1601+
enum {
1602+
HID_USAGE_POWER_UNDEFINED = 0x00,
1603+
HID_USAGE_POWER_I_NAME = 0x01,
1604+
HID_USAGE_POWER_PRESENT_STATUS = 0x02,
1605+
HID_USAGE_POWER_CHANGED_STATUS = 0x03,
1606+
HID_USAGE_POWER_UPS = 0x04,
1607+
HID_USAGE_POWER_POWER_SUPPLY = 0x05,
1608+
// 06-0F Reserved
1609+
HID_USAGE_POWER_BATTERY_SYSTEM = 0x10,
1610+
HID_USAGE_POWER_BATTERY_SYSTEM_ID = 0x11,
1611+
HID_USAGE_POWER_BATTERY = 0x12,
1612+
HID_USAGE_POWER_BATTERY_ID = 0x13,
1613+
HID_USAGE_POWER_CHARGER = 0x14,
1614+
HID_USAGE_POWER_CHARGER_ID = 0x15,
1615+
HID_USAGE_POWER_POWER_CONVERTER = 0x16,
1616+
HID_USAGE_POWER_POWER_CONVERTER_ID = 0x17,
1617+
HID_USAGE_POWER_OUTLET_SYSTEM = 0x18,
1618+
HID_USAGE_POWER_OUTLET_SYSTEM_ID = 0x19,
1619+
HID_USAGE_POWER_INPUT = 0x1A,
1620+
HID_USAGE_POWER_INPUT_ID = 0x1B,
1621+
HID_USAGE_POWER_OUTPUT = 0x1C,
1622+
HID_USAGE_POWER_OUTPUT_ID = 0x1D,
1623+
HID_USAGE_POWER_FLOW = 0x1E,
1624+
HID_USAGE_POWER_FLOW_ID = 0x1F,
1625+
HID_USAGE_POWER_OUTLET = 0x20,
1626+
HID_USAGE_POWER_OUTLET_ID = 0x21,
1627+
HID_USAGE_POWER_GANG = 0x22,
1628+
HID_USAGE_POWER_GANG_ID = 0x23,
1629+
HID_USAGE_POWER_POWER_SUMMARY = 0x24,
1630+
HID_USAGE_POWER_POWER_SUMMARY_ID = 0x25,
1631+
// 26-2F Reserved
1632+
HID_USAGE_POWER_VOLTAGE = 0x30,
1633+
HID_USAGE_POWER_CURRENT = 0x31,
1634+
HID_USAGE_POWER_FREQUENCY = 0x32,
1635+
HID_USAGE_POWER_APPARENT_POWER = 0x33,
1636+
HID_USAGE_POWER_ACTIVE_POWER = 0x34,
1637+
HID_USAGE_POWER_PERCENT_LOAD = 0x35,
1638+
HID_USAGE_POWER_TEMPERATURE = 0x36,
1639+
HID_USAGE_POWER_HUMIDITY = 0x37,
1640+
HID_USAGE_POWER_BAD_COUNT = 0x38,
1641+
// 39-3F Reserved
1642+
HID_USAGE_POWER_CONFIG_VOLTAGE = 0x40,
1643+
HID_USAGE_POWER_CONFIG_CURRENT = 0x41,
1644+
HID_USAGE_POWER_CONFIG_FREQUENCY = 0x42,
1645+
HID_USAGE_POWER_CONFIG_APPARENT_POWER = 0x43,
1646+
HID_USAGE_POWER_CONFIG_ACTIVE_POWER = 0x44,
1647+
HID_USAGE_POWER_CONFIG_PERCENT_LOAD = 0x45,
1648+
HID_USAGE_POWER_CONFIG_TEMPERATURE = 0x46,
1649+
HID_USAGE_POWER_CONFIG_HUMIDITY = 0x47,
1650+
// 48-4F Reserved
1651+
HID_USAGE_POWER_SWITCH_ON_CONTROL = 0x50,
1652+
HID_USAGE_POWER_SWITCH_OFF_CONTROL = 0x51,
1653+
HID_USAGE_POWER_TOGGLE_CONTROL = 0x52,
1654+
HID_USAGE_POWER_LOW_VOLTAGE_TRANSFER = 0x53,
1655+
HID_USAGE_POWER_HIGH_VOLTAGE_TRANSFER = 0x54,
1656+
HID_USAGE_POWER_DELAY_BEFORE_REBOOT = 0x55,
1657+
HID_USAGE_POWER_DELAY_BEFORE_STARTUP = 0x56,
1658+
HID_USAGE_POWER_DELAY_BEFORE_SHUTDOWN = 0x57,
1659+
HID_USAGE_POWER_TEST = 0x58,
1660+
HID_USAGE_POWER_MODULE_RESET = 0x59,
1661+
HID_USAGE_POWER_AUDIBLE_ALARM_CONTROL = 0x5A,
1662+
// 5B-5F Reserved
1663+
HID_USAGE_POWER_PRESENT = 0x60,
1664+
HID_USAGE_POWER_GOOD = 0x61,
1665+
HID_USAGE_POWER_INTERNAL_FAILURE = 0x62,
1666+
HID_USAGE_POWER_VOLTAGE_OUT_OF_RANGE = 0x63,
1667+
HID_USAGE_POWER_FREQUENCY_OUT_OF_RANGE = 0x64,
1668+
HID_USAGE_POWER_OVERLOAD = 0x65,
1669+
HID_USAGE_POWER_OVER_CHARGED = 0x66,
1670+
HID_USAGE_POWER_OVER_TEMPERATURE = 0x67,
1671+
HID_USAGE_POWER_SHUTDOWN_REQUESTED = 0x68,
1672+
HID_USAGE_POWER_SHUTDOWN_IMMINENT = 0x69,
1673+
// 6A Reserved
1674+
HID_USAGE_POWER_SWITCH_ON_OFF = 0x6B,
1675+
HID_USAGE_POWER_SWITCHABLE = 0x6C,
1676+
HID_USAGE_POWER_USED = 0x6D,
1677+
HID_USAGE_POWER_BOOST = 0x6E,
1678+
HID_USAGE_POWER_BUCK = 0x6F,
1679+
HID_USAGE_POWER_INITIALIZED = 0x70,
1680+
HID_USAGE_POWER_TESTED = 0x71,
1681+
HID_USAGE_POWER_AWAITING_POWER = 0x72,
1682+
HID_USAGE_POWER_COMMUNICATION_LOST = 0x73,
1683+
// 74-FC Reserved
1684+
HID_USAGE_POWER_I_MANUFACTURER = 0xFD,
1685+
HID_USAGE_POWER_I_PRODUCT = 0xFE,
1686+
HID_USAGE_POWER_I_SERIAL_NUMBER = 0xFF
1687+
};
1688+
1689+
/// HID Usage Table: Battery System Page (0x85)
1690+
enum {
1691+
HID_USAGE_BATTERY_UNDEFINED = 0x00,
1692+
HID_USAGE_BATTERY_SMB_BATTERY_MODE = 0x01,
1693+
HID_USAGE_BATTERY_SMB_BATTERY_STATUS = 0x02,
1694+
HID_USAGE_BATTERY_SMB_ALARM_WARNING = 0x03,
1695+
HID_USAGE_BATTERY_SMB_CHARGER_MODE = 0x04,
1696+
HID_USAGE_BATTERY_SMB_CHARGER_STATUS = 0x05,
1697+
HID_USAGE_BATTERY_SMB_CHARGER_SPEC_INFO = 0x06,
1698+
HID_USAGE_BATTERY_SMB_SELECTOR_STATE = 0x07,
1699+
HID_USAGE_BATTERY_SMB_SELECTOR_PRESETS = 0x08,
1700+
HID_USAGE_BATTERY_SMB_SELECTOR_INFO = 0x09,
1701+
// 0A-0F Reserved
1702+
HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_1 = 0x10,
1703+
HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_2 = 0x11,
1704+
HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_3 = 0x12,
1705+
HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_4 = 0x13,
1706+
HID_USAGE_BATTERY_OPTIONAL_MFG_FUNCTION_5 = 0x14,
1707+
HID_USAGE_BATTERY_CONNECTION_TO_SMBUS = 0x15,
1708+
HID_USAGE_BATTERY_OUTPUT_CONNECTION = 0x16,
1709+
HID_USAGE_BATTERY_CHARGER_CONNECTION = 0x17,
1710+
HID_USAGE_BATTERY_BATTERY_INSERTION = 0x18,
1711+
HID_USAGE_BATTERY_USE_NEXT = 0x19,
1712+
HID_USAGE_BATTERY_OK_TO_USE = 0x1A,
1713+
HID_USAGE_BATTERY_BATTERY_SUPPORTED = 0x1B,
1714+
HID_USAGE_BATTERY_SELECTOR_REVISION = 0x1C,
1715+
HID_USAGE_BATTERY_CHARGING_INDICATOR = 0x1D,
1716+
// 1E-27 Reserved
1717+
HID_USAGE_BATTERY_MANUFACTURER_ACCESS = 0x28,
1718+
HID_USAGE_BATTERY_REMAINING_CAPACITY_LIMIT = 0x29,
1719+
HID_USAGE_BATTERY_REMAINING_TIME_LIMIT = 0x2A,
1720+
HID_USAGE_BATTERY_AT_RATE = 0x2B,
1721+
HID_USAGE_BATTERY_CAPACITY_MODE = 0x2C,
1722+
HID_USAGE_BATTERY_BROADCAST_TO_CHARGER = 0x2D,
1723+
HID_USAGE_BATTERY_PRIMARY_BATTERY = 0x2E,
1724+
HID_USAGE_BATTERY_CHARGE_CONTROLLER = 0x2F,
1725+
// 30-3F Reserved
1726+
HID_USAGE_BATTERY_TERMINATE_CHARGE = 0x40,
1727+
HID_USAGE_BATTERY_TERMINATE_DISCHARGE = 0x41,
1728+
HID_USAGE_BATTERY_BELOW_REMAINING_CAPACITY_LIMIT = 0x42,
1729+
HID_USAGE_BATTERY_REMAINING_TIME_LIMIT_EXPIRED = 0x43,
1730+
HID_USAGE_BATTERY_CHARGING = 0x44,
1731+
HID_USAGE_BATTERY_DISCHARGING = 0x45,
1732+
HID_USAGE_BATTERY_FULLY_CHARGED = 0x46,
1733+
HID_USAGE_BATTERY_FULLY_DISCHARGED = 0x47,
1734+
HID_USAGE_BATTERY_CONDITIONING_FLAG = 0x48,
1735+
HID_USAGE_BATTERY_AT_RATE_OK = 0x49,
1736+
HID_USAGE_BATTERY_SMB_ERROR_CODE = 0x4A,
1737+
HID_USAGE_BATTERY_NEED_REPLACEMENT = 0x4B,
1738+
// 4C-5F Reserved
1739+
HID_USAGE_BATTERY_AT_RATE_TIME_TO_FULL = 0x60,
1740+
HID_USAGE_BATTERY_AT_RATE_TIME_TO_EMPTY = 0x61,
1741+
HID_USAGE_BATTERY_AVERAGE_CURRENT = 0x62,
1742+
HID_USAGE_BATTERY_MAX_ERROR = 0x63,
1743+
HID_USAGE_BATTERY_RELATIVE_STATE_OF_CHARGE = 0x64,
1744+
HID_USAGE_BATTERY_ABSOLUTE_STATE_OF_CHARGE = 0x65,
1745+
HID_USAGE_BATTERY_REMAINING_CAPACITY = 0x66,
1746+
HID_USAGE_BATTERY_FULL_CHARGE_CAPACITY = 0x67,
1747+
HID_USAGE_BATTERY_RUN_TIME_TO_EMPTY = 0x68,
1748+
HID_USAGE_BATTERY_AVERAGE_TIME_TO_EMPTY = 0x69,
1749+
HID_USAGE_BATTERY_AVERAGE_TIME_TO_FULL = 0x6A,
1750+
HID_USAGE_BATTERY_CYCLE_COUNT = 0x6B,
1751+
// 6C-7F Reserved
1752+
HID_USAGE_BATTERY_BATT_PACK_MODEL_LEVEL = 0x80,
1753+
HID_USAGE_BATTERY_INTERNAL_CHARGE_CONTROLLER = 0x81,
1754+
HID_USAGE_BATTERY_PRIMARY_BATTERY_SUPPORT = 0x82,
1755+
HID_USAGE_BATTERY_DESIGN_CAPACITY = 0x83,
1756+
HID_USAGE_BATTERY_SPECIFICATION_INFO = 0x84,
1757+
HID_USAGE_BATTERY_MANUFACTURER_DATE = 0x85,
1758+
HID_USAGE_BATTERY_SERIAL_NUMBER = 0x86,
1759+
HID_USAGE_BATTERY_I_MANUFACTURER_NAME = 0x87,
1760+
HID_USAGE_BATTERY_I_DEVICE_NAME = 0x88,
1761+
HID_USAGE_BATTERY_I_DEVICE_CHEMISTRY = 0x89,
1762+
HID_USAGE_BATTERY_MANUFACTURER_DATA = 0x8A,
1763+
HID_USAGE_BATTERY_RECHARGEABLE = 0x8B,
1764+
HID_USAGE_BATTERY_WARNING_CAPACITY_LIMIT = 0x8C,
1765+
HID_USAGE_BATTERY_CAPACITY_GRANULARITY_1 = 0x8D,
1766+
HID_USAGE_BATTERY_CAPACITY_GRANULARITY_2 = 0x8E,
1767+
HID_USAGE_BATTERY_I_OEMINFORMATION = 0x8F,
1768+
// 90-BF Reserved
1769+
HID_USAGE_BATTERY_INHIBIT_CHARGE = 0xC0,
1770+
HID_USAGE_BATTERY_ENABLE_POLLING = 0xC1,
1771+
HID_USAGE_BATTERY_RESET_TO_ZERO = 0xC2,
1772+
// C3-CF Reserved
1773+
HID_USAGE_BATTERY_AC_PRESENT = 0xD0,
1774+
HID_USAGE_BATTERY_BATTERY_PRESENT = 0xD1,
1775+
HID_USAGE_BATTERY_POWER_FAIL = 0xD2,
1776+
HID_USAGE_BATTERY_ALARM_INHIBITED = 0xD3,
1777+
HID_USAGE_BATTERY_THERMISTOR_UNDER_RANGE = 0xD4,
1778+
HID_USAGE_BATTERY_THERMISTOR_HOT = 0xD5,
1779+
HID_USAGE_BATTERY_THERMISTOR_COLD = 0xD6,
1780+
HID_USAGE_BATTERY_THERMISTOR_OVER_RANGE = 0xD7,
1781+
HID_USAGE_BATTERY_VOLTAGE_OUT_OF_RANGE = 0xD8,
1782+
HID_USAGE_BATTERY_CURRENT_OUT_OF_RANGE = 0xD9,
1783+
HID_USAGE_BATTERY_CURRENT_NOT_REGULATED = 0xDA,
1784+
HID_USAGE_BATTERY_VOLTAGE_NOT_REGULATED = 0xDB,
1785+
HID_USAGE_BATTERY_MASTER_MODE = 0xDC,
1786+
// DD-EF Reserved
1787+
HID_USAGE_BATTERY_CHARGER_SELECTOR_SUPPORT = 0xF0,
1788+
HID_USAGE_BATTERY_CHARGER_SPEC = 0xF1,
1789+
HID_USAGE_BATTERY_LEVEL_2 = 0xF2,
1790+
HID_USAGE_BATTERY_LEVEL_3 = 0xF3
1791+
// F2-CF Reserved
1792+
};
1793+
15981794
/// HID Usage Table: FIDO Alliance Page (0xF1D0)
15991795
enum {
16001796
HID_USAGE_FIDO_U2FHID = 0x01, // U2FHID usage for top-level collection

0 commit comments

Comments
 (0)