from .. import usbhid profile = { "name": "SteelSeries Rival 5", "models": [ { "name": "SteelSeries Rival 5", "vendor_id": 0x1038, "product_id": 0x183c, "endpoint": 0, } ], "settings": { "sensitivity": { "label": "Sensibility presets", "description": "Set sensitivity preset (DPI)", "cli": ["-s", "--sensitivity"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x2d], "value_type": "multidpi_range", "input_range": [100, 18000, 100], "output_range": [0x00, 0xD6, 1.2], "dpi_length_byte": 1, "first_preset": 0, "count_mode": "number", "max_preset_count": 5, "default": "400, 800, 1200, 2400, 3200", }, "polling_rate": { "label": "Polling rate", "description": "Set polling rate (Hz)", "cli": ["-p", "--polling-rate"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x2b], "value_type": "choice", "choices": { 125: 0x04, 250: 0x03, 500: 0x02, 1000: 0x01, }, "default": 1000, }, "color": { #instead of haveing multiple color promts, they have to all be done in one eg rivalcfg --color 11ff1122ff2266ff6633ff3377ff7744ff4488ff8855ff5599ff99aaffaa this would color all LEDs. "label": "Set color all LEDs", "description": "Set color all LEDs in one Data-Fragment", "cli": ["--color", "--c"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x21, 0xff, 0x03], "value_type": "rgbcolor", }, "reactive_color": { "label": "Reactive color", "description": "Set the color of the LEDs in reaction to a button click", "cli": ["-a", "--reactive-color"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x26, 0x01, 0x00], "value_type": "reactive_rgbcolor", "default": "off", }, "led_brightness": { "label": "LED Brightness", "description": "Set the brightness of the LEDs", "cli": ["-l", "--led-brightness"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x23], "value_type": "choice", "choices": { 100: 0x64, 75: 0x32, 50: 0x19, 25: 0x0c, 0: 0x00, }, "default": 100, }, "buttons_mapping": { #needs testing "label": "Buttons mapping", "description": "Set the mapping of the buttonsX", "cli": ["-b", "--buttons"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x2A], "value_type": "buttons", # fmt: off "buttons": { "Button1": {"id": 0x01, "offset": 0x00, "default": "button1"}, "Button2": {"id": 0x02, "offset": 0x05, "default": "button2"}, "Button3": {"id": 0x03, "offset": 0x0A, "default": "button3"}, "Button4": {"id": 0x04, "offset": 0x0F, "default": "button4"}, "Button5": {"id": 0x05, "offset": 0x14, "default": "button5"}, "Button6": {"id": 0x06, "offset": 0x19, "default": "dpi"}, "Button7": {"id": 0x00, "offset": 0x1E, "default": "disabled"}, "Button8": {"id": 0x00, "offset": 0x23, "default": "disabled"}, "Button9": {"id": 0x00, "offset": 0x28, "default": "disabled"}, "ScrollUp" : {"id": 0x31, "offset": 0x2D, "default": "scrollup"}, "ScrollDown": {"id": 0x32, "offset": 0x32, "default": "scrolldown"}, }, "button_field_length": 5, "button_disable": 0x00, "button_keyboard": 0x51, "button_multimedia": 0x61, "button_dpi_switch": 0x30, "button_scroll_up": None, "button_scroll_down": None, # fmt: on "default": "buttons(button1=button1; button2=button2; button3=button3; button4=button4; button5=button5; button6=dpi; button7=disabled; button8=disabled; button9=disabled; scrollup=scrollup; scrolldown=scrolldown; layout=qwerty)", }, "rainbow_effect": { #needs testing "label": "rainbow effect", "description": "Enable the rainbow effect (can be disabled by setting a color)", "cli": ["-e", "--rainbow-effect"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x22, 0xFF], "value_type": "none", }, "default_lighting": { #needs testing "label": "Default lighting", "description": "Set default lighting at mouse startup", "cli": ["-d", "--default-lighting"], "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x27], "value_type": "choice", "choices": { "off": [0x00, 0x00], "reactive": [0x00, 0x01], "rainbow": [0x01, 0x00], "reactive-rainbow": [0x01, 0x01], }, "default": "rainbow", }, }, "save_command": { "report_type": usbhid.HID_REPORT_TYPE_OUTPUT, "command": [0x11], }, }