tests: test more settings
This commit is contained in:
parent
afe04b9804
commit
cb16a46b93
|
@ -139,7 +139,8 @@ class Device:
|
||||||
offset: Optional[int] = 4
|
offset: Optional[int] = 4
|
||||||
version: Optional[int] = 0
|
version: Optional[int] = 0
|
||||||
setting_callback: Any = None
|
setting_callback: Any = None
|
||||||
_backlight = _keys = _remap_keys = _led_effects = None
|
settings = []
|
||||||
|
sliding = profiles = _backlight = _keys = _remap_keys = _led_effects = None
|
||||||
|
|
||||||
read_register = device.Device.read_register
|
read_register = device.Device.read_register
|
||||||
write_register = device.Device.write_register
|
write_register = device.Device.write_register
|
||||||
|
@ -154,6 +155,9 @@ class Device:
|
||||||
self.responses = [Response("010001", 0x0000, "0001"), Response("20", 0x0100)] + self.responses
|
self.responses = [Response("010001", 0x0000, "0001"), Response("20", 0x0100)] + self.responses
|
||||||
if self.feature is not None:
|
if self.feature is not None:
|
||||||
self.responses.append(Response(f"{self.offset:0>2X}00{self.version:0>2X}", 0x0000, f"{self.feature:0>4X}"))
|
self.responses.append(Response(f"{self.offset:0>2X}00{self.version:0>2X}", 0x0000, f"{self.feature:0>4X}"))
|
||||||
|
if self.setting_callback is None:
|
||||||
|
self.setting_callback = lambda x, y, z: None
|
||||||
|
self.add_notification_handler = lambda x, y: None
|
||||||
|
|
||||||
def request(self, id, *params, no_reply=False):
|
def request(self, id, *params, no_reply=False):
|
||||||
if params is None:
|
if params is None:
|
||||||
|
|
|
@ -32,7 +32,7 @@ from logitech_receiver import special_keys
|
||||||
from . import hidpp
|
from . import hidpp
|
||||||
|
|
||||||
# TODO DpiSlidingXY, MouseGesturesXY, SpeedChange
|
# TODO DpiSlidingXY, MouseGesturesXY, SpeedChange
|
||||||
# TODO Gesture2Gestures, Gesture2Divert, Gesture2Params, MKeyLEDs, Equalizer
|
# TODO Gesture2Gestures, Gesture2Divert, Gesture2Params
|
||||||
|
|
||||||
|
|
||||||
class Setup:
|
class Setup:
|
||||||
|
@ -239,6 +239,11 @@ simple_tests = [
|
||||||
hidpp.Response("00", 0x0400),
|
hidpp.Response("00", 0x0400),
|
||||||
hidpp.Response("01", 0x0420, "01"),
|
hidpp.Response("01", 0x0420, "01"),
|
||||||
),
|
),
|
||||||
|
Setup(
|
||||||
|
FeatureTest(settings_templates.MKeyLEDs, {1: False, 2: False, 4: False}, {1: False, 2: True, 4: True}),
|
||||||
|
hidpp.Response("03", 0x0400),
|
||||||
|
hidpp.Response("06", 0x0410, "06"),
|
||||||
|
),
|
||||||
Setup(
|
Setup(
|
||||||
FeatureTest(settings_templates.MRKeyLED, False, True),
|
FeatureTest(settings_templates.MRKeyLED, False, True),
|
||||||
hidpp.Response("01", 0x0400, "01"),
|
hidpp.Response("01", 0x0400, "01"),
|
||||||
|
@ -375,20 +380,27 @@ simple_tests = [
|
||||||
hidpp.Response("01", 0x0C20),
|
hidpp.Response("01", 0x0C20),
|
||||||
hidpp.Response("05", 0x0C30, "05"),
|
hidpp.Response("05", 0x0C30, "05"),
|
||||||
),
|
),
|
||||||
# Setup(
|
Setup(
|
||||||
# FeatureTest(settings_templates.AdjustableDpi, 800, 400, version=0x03),
|
FeatureTest(settings_templates.AdjustableDpi, 800, 400, version=0x03),
|
||||||
# common.NamedInts.list([400, 800, 1600]),
|
common.NamedInts.list([400, 800, 1600]),
|
||||||
# hidpp.Response("000190032006400000", 0x0410, "000000"),
|
hidpp.Response("000190032006400000000000000000", 0x0410),
|
||||||
# hidpp.Response("000320", 0x0420),
|
hidpp.Response("000320", 0x0420),
|
||||||
# hidpp.Response("000190", 0x0430, "000190"),
|
hidpp.Response("000190", 0x0430, "000190"),
|
||||||
# ),
|
),
|
||||||
# Setup(
|
Setup(
|
||||||
# FeatureTest(settings_templates.AdjustableDpi, 256, 512, version=0x03),
|
FeatureTest(settings_templates.AdjustableDpi, 1600, 400, version=0x03),
|
||||||
# common.NamedInts.list([256, 512]),
|
common.NamedInts.list([400, 800, 1600]),
|
||||||
# hidpp.Response("000100e10002000000", 0x0410, "000000"),
|
hidpp.Response("000190032006400000000000000000", 0x0410),
|
||||||
# hidpp.Response("000100", 0x0420),
|
hidpp.Response("0000000640", 0x0420),
|
||||||
# hidpp.Response("000200", 0x0430, "000200"),
|
hidpp.Response("000190", 0x0430, "000190"),
|
||||||
# ),
|
),
|
||||||
|
Setup(
|
||||||
|
FeatureTest(settings_templates.AdjustableDpi, 400, 800, version=0x03),
|
||||||
|
common.NamedInts.list([400, 800, 1200, 1600]),
|
||||||
|
hidpp.Response("000190E19006400000000000000000", 0x0410),
|
||||||
|
hidpp.Response("000190", 0x0420),
|
||||||
|
hidpp.Response("000320", 0x0430, "000320"),
|
||||||
|
),
|
||||||
# Setup(
|
# Setup(
|
||||||
# FeatureTest(settings_templates.ExtendedAdjustableDpi, 256, 512, version=0x09),
|
# FeatureTest(settings_templates.ExtendedAdjustableDpi, 256, 512, version=0x09),
|
||||||
# common.NamedInts.list([256, 512]),
|
# common.NamedInts.list([256, 512]),
|
||||||
|
@ -533,6 +545,13 @@ key_tests = [
|
||||||
hidpp.Response("00C4020000", 0x0530, "00C4020000"), # Smart Shift write
|
hidpp.Response("00C4020000", 0x0530, "00C4020000"), # Smart Shift write
|
||||||
hidpp.Response("00C4030000", 0x0530, "00C4030000"), # Smart Shift divert write
|
hidpp.Response("00C4030000", 0x0530, "00C4030000"), # Smart Shift divert write
|
||||||
),
|
),
|
||||||
|
Setup(
|
||||||
|
FeatureTest(settings_templates.DivertKeys, {0xC4: 0}, {0xC4: 2}, 2, offset=0x05),
|
||||||
|
{common.NamedInt(0xC4, "Smart Shift"): common.NamedInts(Regular=0, Diverted=1, Mouse_Gestures=2)},
|
||||||
|
*responses_reprog_controls,
|
||||||
|
hidpp.Response("00C4300000", 0x0530, "00C4300000"), # Smart Shift write
|
||||||
|
hidpp.Response("00C4030000", 0x0530, "00C4030000"), # Smart Shift divert write
|
||||||
|
),
|
||||||
Setup(
|
Setup(
|
||||||
FeatureTest(settings_templates.PersistentRemappableAction, {80: 16797696, 81: 16797696}, {0x51: 16797952}, 3),
|
FeatureTest(settings_templates.PersistentRemappableAction, {80: 16797696, 81: 16797696}, {0x51: 16797952}, 3),
|
||||||
{
|
{
|
||||||
|
@ -552,6 +571,24 @@ key_tests = [
|
||||||
hidpp.Response("0051FF01005000", 0x0440, "0051FF01005000"), # right button write
|
hidpp.Response("0051FF01005000", 0x0440, "0051FF01005000"), # right button write
|
||||||
hidpp.Response("0051FF01005100", 0x0440, "0051FF01005100"), # right button set write
|
hidpp.Response("0051FF01005100", 0x0440, "0051FF01005100"), # right button set write
|
||||||
),
|
),
|
||||||
|
Setup(
|
||||||
|
FeatureTest(settings_templates.Equalizer, {0: 0x10, 1: 0x14}, {1: 0x20}, 2),
|
||||||
|
[16, 32],
|
||||||
|
hidpp.Response("0220001020", 0x0400),
|
||||||
|
hidpp.Response("0001000200000000000000", 0x0410, "00"),
|
||||||
|
hidpp.Response("1014", 0x0420, "00"),
|
||||||
|
hidpp.Response("1014", 0x0430, "021014"),
|
||||||
|
hidpp.Response("1020", 0x0430, "021020"),
|
||||||
|
),
|
||||||
|
Setup(
|
||||||
|
FeatureTest(settings_templates.Equalizer, {0: -0x20, 1: 0x10}, {1: 0x18}, 2),
|
||||||
|
[-32, 32],
|
||||||
|
hidpp.Response("0220000000", 0x0400),
|
||||||
|
hidpp.Response("0000800100000000000000", 0x0410, "00"),
|
||||||
|
hidpp.Response("E010", 0x0420, "00"),
|
||||||
|
hidpp.Response("E010", 0x0430, "02E010"),
|
||||||
|
hidpp.Response("E018", 0x0430, "02E018"),
|
||||||
|
),
|
||||||
Setup(
|
Setup(
|
||||||
FeatureTest(
|
FeatureTest(
|
||||||
settings_templates.PerKeyLighting,
|
settings_templates.PerKeyLighting,
|
||||||
|
@ -589,7 +626,11 @@ def test_key_template(test, mocker):
|
||||||
assert setting
|
assert setting
|
||||||
if isinstance(setting, list):
|
if isinstance(setting, list):
|
||||||
setting = setting[0]
|
setting = setting[0]
|
||||||
assert setting.choices == test.choices
|
if isinstance(test.choices, dict):
|
||||||
|
assert setting.choices == test.choices
|
||||||
|
elif isinstance(test.choices, list):
|
||||||
|
assert setting._validator.min_value == test.choices[0]
|
||||||
|
assert setting._validator.max_value == test.choices[1]
|
||||||
|
|
||||||
value = setting.read(cached=False)
|
value = setting.read(cached=False)
|
||||||
assert value == tst.initial_value
|
assert value == tst.initial_value
|
||||||
|
|
Loading…
Reference in New Issue