hidpp: Add names for HID++ 2.0 features and sort by ID (#3153)

Add 30 documented HID++ 2.0 feature names from LGHUB source analysis:
keyboard/mouse (PROPERTY_ACCESS, BLE_PRO_PRE_PAIRING, FULL_KEY_CUSTOMIZATION,
CONTROL_LIST, SWITCH_SWAPABILITY, DEVICE_MODE, ENABLE_HIDDEN_FEATURES,
KEYBOARD_DISABLE_CONTROLS, LOGI_MODIFIERS), racing peripherals
(RPM_INDICATOR, RPM_LED_PATTERN, LEGACY/AXIS_RESPONSE_CURVE, BANDED_AXIS,
COMBINED_PEDALS, BUNNY_HOPPING, PROFILE_MANAGEMENT, DUAL_CLUTCH,
WHEEL_CENTER_POSITION, DISPLAY_GAME_DATA, CENTER_SPRING, AXIS_MAPPING,
GLOBAL_DAMPING, BRAKE_FORCE, PEDAL_STATUS, TORQUE_LIMIT,
CONFIGURATION_PROFILES, OPERATING_RANGE, TRUE_FORCE, FFB_FILTER).

Sort RPM_INDICATOR/RPM_LED_PATTERN (0x807A-B) before PER_KEY_LIGHTING
(0x8080-81) to maintain ID ordering.
This commit is contained in:
Ken Sanislo 2026-03-20 06:07:11 -07:00 committed by GitHub
parent a22ae124d9
commit b9e0cf8235
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 30 additions and 0 deletions

View File

@ -40,6 +40,7 @@ class SupportedFeature(IntEnum):
DEVICE_GROUPS = 0x0006 DEVICE_GROUPS = 0x0006
DEVICE_FRIENDLY_NAME = 0x0007 DEVICE_FRIENDLY_NAME = 0x0007
KEEP_ALIVE = 0x0008 KEEP_ALIVE = 0x0008
PROPERTY_ACCESS = 0x0011
CONFIG_CHANGE = 0x0020 CONFIG_CHANGE = 0x0020
CRYPTO_ID = 0x0021 CRYPTO_ID = 0x0021
TARGET_SOFTWARE = 0x0030 TARGET_SOFTWARE = 0x0030
@ -61,6 +62,7 @@ class SupportedFeature(IntEnum):
CONFIG_DEVICE_PROPS = 0x1806 CONFIG_DEVICE_PROPS = 0x1806
CHANGE_HOST = 0x1814 CHANGE_HOST = 0x1814
HOSTS_INFO = 0x1815 HOSTS_INFO = 0x1815
BLE_PRO_PRE_PAIRING = 0x1816
BACKLIGHT = 0x1981 BACKLIGHT = 0x1981
BACKLIGHT2 = 0x1982 BACKLIGHT2 = 0x1982
BACKLIGHT3 = 0x1983 BACKLIGHT3 = 0x1983
@ -74,10 +76,15 @@ class SupportedFeature(IntEnum):
REPROG_CONTROLS_V2_2 = 0x1B02 # LogiOptions 2.10.73 features.xml REPROG_CONTROLS_V2_2 = 0x1B02 # LogiOptions 2.10.73 features.xml
REPROG_CONTROLS_V3 = 0x1B03 REPROG_CONTROLS_V3 = 0x1B03
REPROG_CONTROLS_V4 = 0x1B04 REPROG_CONTROLS_V4 = 0x1B04
FULL_KEY_CUSTOMIZATION = 0x1B05
CONTROL_LIST = 0x1B10
SWITCH_SWAPABILITY = 0x1B20
DEVICE_MODE = 0x1B30
REPORT_HID_USAGE = 0x1BC0 REPORT_HID_USAGE = 0x1BC0
PERSISTENT_REMAPPABLE_ACTION = 0x1C00 PERSISTENT_REMAPPABLE_ACTION = 0x1C00
WIRELESS_DEVICE_STATUS = 0x1D4B WIRELESS_DEVICE_STATUS = 0x1D4B
REMAINING_PAIRING = 0x1DF0 REMAINING_PAIRING = 0x1DF0
ENABLE_HIDDEN_FEATURES = 0x1E00
FIRMWARE_PROPERTIES = 0x1F1F FIRMWARE_PROPERTIES = 0x1F1F
ADC_MEASUREMENT = 0x1F20 ADC_MEASUREMENT = 0x1F20
# Mouse # Mouse
@ -110,6 +117,7 @@ class SupportedFeature(IntEnum):
KEYBOARD_LAYOUT = 0x4520 KEYBOARD_LAYOUT = 0x4520
KEYBOARD_DISABLE_KEYS = 0x4521 KEYBOARD_DISABLE_KEYS = 0x4521
KEYBOARD_DISABLE_BY_USAGE = 0x4522 KEYBOARD_DISABLE_BY_USAGE = 0x4522
KEYBOARD_DISABLE_CONTROLS = 0x4523
DUALPLATFORM = 0x4530 DUALPLATFORM = 0x4530
MULTIPLATFORM = 0x4531 MULTIPLATFORM = 0x4531
KEYBOARD_LAYOUT_2 = 0x4540 KEYBOARD_LAYOUT_2 = 0x4540
@ -132,18 +140,40 @@ class SupportedFeature(IntEnum):
MKEYS = 0x8020 MKEYS = 0x8020
MR = 0x8030 MR = 0x8030
BRIGHTNESS_CONTROL = 0x8040 BRIGHTNESS_CONTROL = 0x8040
LOGI_MODIFIERS = 0x8051
REPORT_RATE = 0x8060 REPORT_RATE = 0x8060
EXTENDED_ADJUSTABLE_REPORT_RATE = 0x8061 EXTENDED_ADJUSTABLE_REPORT_RATE = 0x8061
COLOR_LED_EFFECTS = 0x8070 COLOR_LED_EFFECTS = 0x8070
RGB_EFFECTS = 0x8071 RGB_EFFECTS = 0x8071
RPM_INDICATOR = 0x807A
RPM_LED_PATTERN = 0x807B
PER_KEY_LIGHTING = 0x8080 PER_KEY_LIGHTING = 0x8080
PER_KEY_LIGHTING_V2 = 0x8081 PER_KEY_LIGHTING_V2 = 0x8081
MODE_STATUS = 0x8090 MODE_STATUS = 0x8090
LEGACY_AXIS_RESPONSE_CURVE = 0x80A3
AXIS_RESPONSE_CURVE = 0x80A4
BANDED_AXIS = 0x80B1
COMBINED_PEDALS = 0x80D0
BUNNY_HOPPING = 0x80E0
ONBOARD_PROFILES = 0x8100 ONBOARD_PROFILES = 0x8100
PROFILE_MANAGEMENT = 0x8101
MOUSE_BUTTON_SPY = 0x8110 MOUSE_BUTTON_SPY = 0x8110
LATENCY_MONITORING = 0x8111 LATENCY_MONITORING = 0x8111
GAMING_ATTACHMENTS = 0x8120 GAMING_ATTACHMENTS = 0x8120
FORCE_FEEDBACK = 0x8123 FORCE_FEEDBACK = 0x8123
DUAL_CLUTCH = 0x8127
WHEEL_CENTER_POSITION = 0x812C
DISPLAY_GAME_DATA = 0x8130
CENTER_SPRING = 0x8131
AXIS_MAPPING = 0x8132
GLOBAL_DAMPING = 0x8133
BRAKE_FORCE = 0x8134
PEDAL_STATUS = 0x8135
TORQUE_LIMIT = 0x8136
CONFIGURATION_PROFILES = 0x8137
OPERATING_RANGE = 0x8138
TRUE_FORCE = 0x8139
FFB_FILTER = 0x8140
# Headsets # Headsets
SIDETONE = 0x8300 SIDETONE = 0x8300
EQUALIZER = 0x8310 EQUALIZER = 0x8310