Skip to content

Commit b9e0cf8

Browse files
authored
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.
1 parent a22ae12 commit b9e0cf8

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

lib/logitech_receiver/hidpp20_constants.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class SupportedFeature(IntEnum):
4040
DEVICE_GROUPS = 0x0006
4141
DEVICE_FRIENDLY_NAME = 0x0007
4242
KEEP_ALIVE = 0x0008
43+
PROPERTY_ACCESS = 0x0011
4344
CONFIG_CHANGE = 0x0020
4445
CRYPTO_ID = 0x0021
4546
TARGET_SOFTWARE = 0x0030
@@ -61,6 +62,7 @@ class SupportedFeature(IntEnum):
6162
CONFIG_DEVICE_PROPS = 0x1806
6263
CHANGE_HOST = 0x1814
6364
HOSTS_INFO = 0x1815
65+
BLE_PRO_PRE_PAIRING = 0x1816
6466
BACKLIGHT = 0x1981
6567
BACKLIGHT2 = 0x1982
6668
BACKLIGHT3 = 0x1983
@@ -74,10 +76,15 @@ class SupportedFeature(IntEnum):
7476
REPROG_CONTROLS_V2_2 = 0x1B02 # LogiOptions 2.10.73 features.xml
7577
REPROG_CONTROLS_V3 = 0x1B03
7678
REPROG_CONTROLS_V4 = 0x1B04
79+
FULL_KEY_CUSTOMIZATION = 0x1B05
80+
CONTROL_LIST = 0x1B10
81+
SWITCH_SWAPABILITY = 0x1B20
82+
DEVICE_MODE = 0x1B30
7783
REPORT_HID_USAGE = 0x1BC0
7884
PERSISTENT_REMAPPABLE_ACTION = 0x1C00
7985
WIRELESS_DEVICE_STATUS = 0x1D4B
8086
REMAINING_PAIRING = 0x1DF0
87+
ENABLE_HIDDEN_FEATURES = 0x1E00
8188
FIRMWARE_PROPERTIES = 0x1F1F
8289
ADC_MEASUREMENT = 0x1F20
8390
# Mouse
@@ -110,6 +117,7 @@ class SupportedFeature(IntEnum):
110117
KEYBOARD_LAYOUT = 0x4520
111118
KEYBOARD_DISABLE_KEYS = 0x4521
112119
KEYBOARD_DISABLE_BY_USAGE = 0x4522
120+
KEYBOARD_DISABLE_CONTROLS = 0x4523
113121
DUALPLATFORM = 0x4530
114122
MULTIPLATFORM = 0x4531
115123
KEYBOARD_LAYOUT_2 = 0x4540
@@ -132,18 +140,40 @@ class SupportedFeature(IntEnum):
132140
MKEYS = 0x8020
133141
MR = 0x8030
134142
BRIGHTNESS_CONTROL = 0x8040
143+
LOGI_MODIFIERS = 0x8051
135144
REPORT_RATE = 0x8060
136145
EXTENDED_ADJUSTABLE_REPORT_RATE = 0x8061
137146
COLOR_LED_EFFECTS = 0x8070
138147
RGB_EFFECTS = 0x8071
148+
RPM_INDICATOR = 0x807A
149+
RPM_LED_PATTERN = 0x807B
139150
PER_KEY_LIGHTING = 0x8080
140151
PER_KEY_LIGHTING_V2 = 0x8081
141152
MODE_STATUS = 0x8090
153+
LEGACY_AXIS_RESPONSE_CURVE = 0x80A3
154+
AXIS_RESPONSE_CURVE = 0x80A4
155+
BANDED_AXIS = 0x80B1
156+
COMBINED_PEDALS = 0x80D0
157+
BUNNY_HOPPING = 0x80E0
142158
ONBOARD_PROFILES = 0x8100
159+
PROFILE_MANAGEMENT = 0x8101
143160
MOUSE_BUTTON_SPY = 0x8110
144161
LATENCY_MONITORING = 0x8111
145162
GAMING_ATTACHMENTS = 0x8120
146163
FORCE_FEEDBACK = 0x8123
164+
DUAL_CLUTCH = 0x8127
165+
WHEEL_CENTER_POSITION = 0x812C
166+
DISPLAY_GAME_DATA = 0x8130
167+
CENTER_SPRING = 0x8131
168+
AXIS_MAPPING = 0x8132
169+
GLOBAL_DAMPING = 0x8133
170+
BRAKE_FORCE = 0x8134
171+
PEDAL_STATUS = 0x8135
172+
TORQUE_LIMIT = 0x8136
173+
CONFIGURATION_PROFILES = 0x8137
174+
OPERATING_RANGE = 0x8138
175+
TRUE_FORCE = 0x8139
176+
FFB_FILTER = 0x8140
147177
# Headsets
148178
SIDETONE = 0x8300
149179
EQUALIZER = 0x8310

0 commit comments

Comments
 (0)