receiver: add direct implementation of NEW FN INVERSION feature
receiver: fix bug in NEW FN INVERSION receiver: fix bug in NEW FN INVERSION receiver: fix bug in NEW FN INVERSION
This commit is contained in:
parent
070a2bf837
commit
cab523e122
|
@ -67,7 +67,7 @@ Feature | ID | Status | Notes
|
||||||
`SURFACE_TUNING` | `0x2240` | :x: |
|
`SURFACE_TUNING` | `0x2240` | :x: |
|
||||||
`HYBRID_TRACKING` | `0x2400` | :x: |
|
`HYBRID_TRACKING` | `0x2400` | :x: |
|
||||||
`FN_INVERSION` | `0x40A0` | :heavy_check_mark: | `_feature_fn_swap`
|
`FN_INVERSION` | `0x40A0` | :heavy_check_mark: | `_feature_fn_swap`
|
||||||
`NEW_FN_INVERSION` | `0x40A2` | :heavy_check_mark: | `_feature_new_fn_swap`
|
`NEW_FN_INVERSION` | `0x40A2` | :heavy_check_mark: | `get_new_fn_inversion`, `_feature_new_fn_swap`
|
||||||
`K375S_FN_INVERSION` | `0x40A3` | :heavy_check_mark: | `_feature_k375s_fn_swap`
|
`K375S_FN_INVERSION` | `0x40A3` | :heavy_check_mark: | `_feature_k375s_fn_swap`
|
||||||
`ENCRYPTION` | `0x4100` | :x: |
|
`ENCRYPTION` | `0x4100` | :x: |
|
||||||
`LOCK_KEY_STATE` | `0x4220` | :x: |
|
`LOCK_KEY_STATE` | `0x4220` | :x: |
|
||||||
|
|
|
@ -653,3 +653,12 @@ def get_hires_wheel(device):
|
||||||
ratchet = (ratchet_mode & 0x01) != 0
|
ratchet = (ratchet_mode & 0x01) != 0
|
||||||
|
|
||||||
return multi, has_invert, has_ratchet, inv, res, target, ratchet
|
return multi, has_invert, has_ratchet, inv, res, target, ratchet
|
||||||
|
|
||||||
|
def get_new_fn_inversion(device):
|
||||||
|
state = feature_request(device, FEATURE.NEW_FN_INVERSION, 0x00)
|
||||||
|
|
||||||
|
if state:
|
||||||
|
inverted, default_inverted = _unpack('!BB', state[:2])
|
||||||
|
inverted = (inverted & 0x01) != 0
|
||||||
|
default_inverted = (default_inverted & 0x01) != 0
|
||||||
|
return inverted, default_inverted
|
||||||
|
|
|
@ -165,15 +165,18 @@ def _print_device(dev):
|
||||||
pointer_speed = _hidpp20.get_pointer_speed_info(dev)
|
pointer_speed = _hidpp20.get_pointer_speed_info(dev)
|
||||||
if pointer_speed:
|
if pointer_speed:
|
||||||
print(" Pointer Speed: %s" % pointer_speed)
|
print(" Pointer Speed: %s" % pointer_speed)
|
||||||
# elif feature == _hidpp20.FEATURE.LOWRES_WHEEL:
|
elif feature == _hidpp20.FEATURE.LOWRES_WHEEL:
|
||||||
# wheel_status = _hidpp20.get_lowres_wheel_status(dev)
|
wheel_status = _hidpp20.get_lowres_wheel_status(dev)
|
||||||
# if wheel_status:
|
if wheel_status:
|
||||||
# print(" Wheel Reports: %s" % wheel_status)
|
print(" Wheel Reports: %s" % wheel_status)
|
||||||
else:
|
elif feature == _hidpp20.FEATURE.NEW_FN_INVERSION:
|
||||||
for setting in dev_settings:
|
inverted, default_inverted = _hidpp20.get_new_fn_inversion(dev)
|
||||||
if setting.feature == feature:
|
print(" Fn-swap:", "enabled" if inverted else "disabled")
|
||||||
v = setting.read(False)
|
print(" Fn-swap default:", "enabled" if default_inverted else "disabled")
|
||||||
print(" %s: %s" % (setting.label, v) )
|
for setting in dev_settings:
|
||||||
|
if setting.feature == feature:
|
||||||
|
v = setting.read(False)
|
||||||
|
print(" %s: %s" % (setting.label, v) )
|
||||||
|
|
||||||
if dev.online and dev.keys:
|
if dev.online and dev.keys:
|
||||||
print (' Has %d reprogrammable keys:' % len(dev.keys))
|
print (' Has %d reprogrammable keys:' % len(dev.keys))
|
||||||
|
|
Loading…
Reference in New Issue