receiver: add mode and inversion settings for feature THUMB_WHEEL
This commit is contained in:
parent
7f70039284
commit
4dfa55c96c
|
@ -59,7 +59,7 @@ Feature | ID | Status | Notes
|
||||||
`HI_RES_SCROLLING` | `0x2120` | :heavy_check_mark: | `get_hi_res_scrolling_info`, `_feature_hi_res_scroll`
|
`HI_RES_SCROLLING` | `0x2120` | :heavy_check_mark: | `get_hi_res_scrolling_info`, `_feature_hi_res_scroll`
|
||||||
`HIRES_WHEEL` | `0x2121` | :heavy_check_mark: | `get_hires_wheel`, `_feature_hires_smooth_invert`, `_feature_hires_smooth_resolution`
|
`HIRES_WHEEL` | `0x2121` | :heavy_check_mark: | `get_hires_wheel`, `_feature_hires_smooth_invert`, `_feature_hires_smooth_resolution`
|
||||||
`LOWRES_WHEEL` | `0x2130` | :heavy_check_mark: | `get_lowres_wheel_status`, `_feature_lowres_smooth_scroll`
|
`LOWRES_WHEEL` | `0x2130` | :heavy_check_mark: | `get_lowres_wheel_status`, `_feature_lowres_smooth_scroll`
|
||||||
`THUMB_WHEEL` | `0x2150` | :x: |
|
`THUMB_WHEEL` | `0x2150` | :heavy_check_mark: | `_feature_thumb_mode`, `_feature_thumb_invert`
|
||||||
`MOUSE_POINTER` | `0x2200` | :heavy_check_mark: | `get_mouse_pointer_info`, read only
|
`MOUSE_POINTER` | `0x2200` | :heavy_check_mark: | `get_mouse_pointer_info`, read only
|
||||||
`ADJUSTABLE_DPI` | `0x2201` | :heavy_check_mark: | `_feature_adjustable_dpi`
|
`ADJUSTABLE_DPI` | `0x2201` | :heavy_check_mark: | `_feature_adjustable_dpi`
|
||||||
`POINTER_SPEED` | `0x2205` | :heavy_check_mark: | `get_pointer_speed_info`, `_feature_pointer_speed`
|
`POINTER_SPEED` | `0x2205` | :heavy_check_mark: | `get_pointer_speed_info`, `_feature_pointer_speed`
|
||||||
|
|
|
@ -227,7 +227,8 @@ _LOW_RES_SCROLL = (
|
||||||
_('HID++ mode for vertical scroll with the wheel.') + '\n' + _('Effectively turns off wheel scrolling in Linux.')
|
_('HID++ mode for vertical scroll with the wheel.') + '\n' + _('Effectively turns off wheel scrolling in Linux.')
|
||||||
)
|
)
|
||||||
_HIRES_INV = (
|
_HIRES_INV = (
|
||||||
'hires-smooth-invert', _('High Resolution Wheel Invert'), _('High-sensitivity wheel invert mode for vertical scroll.')
|
'hires-smooth-invert', _('High Resolution Wheel Invert'),
|
||||||
|
_('High-sensitivity wheel invert direction for vertical scroll.')
|
||||||
)
|
)
|
||||||
_HIRES_RES = ('hires-smooth-resolution', _('Wheel Resolution'), _('High-sensitivity mode for vertical scroll with the wheel.'))
|
_HIRES_RES = ('hires-smooth-resolution', _('Wheel Resolution'), _('High-sensitivity mode for vertical scroll with the wheel.'))
|
||||||
_FN_SWAP = (
|
_FN_SWAP = (
|
||||||
|
@ -259,6 +260,11 @@ _REPROGRAMMABLE_KEYS = (
|
||||||
_DISABLE_KEYS = ('disable-keyboard-keys', _('Disable keys'), _('Disable specific keyboard keys.'))
|
_DISABLE_KEYS = ('disable-keyboard-keys', _('Disable keys'), _('Disable specific keyboard keys.'))
|
||||||
_PLATFORM = ('multiplatform', _('Set OS'), _('Change keys to match OS.'))
|
_PLATFORM = ('multiplatform', _('Set OS'), _('Change keys to match OS.'))
|
||||||
_CHANGE_HOST = ('change-host', _('Change Host'), _('Switch connection to a different host'))
|
_CHANGE_HOST = ('change-host', _('Change Host'), _('Switch connection to a different host'))
|
||||||
|
_THUMB_SCROLL_MODE = (
|
||||||
|
'thumb-scroll-mode', _('HID++ Thumb Scrolling'),
|
||||||
|
_('HID++ mode for horizontal scroll with the thumb wheel.') + '\n' + _('Effectively turns off thumb scrolling in Linux.')
|
||||||
|
)
|
||||||
|
_THUMB_SCROLL_INVERT = ('thumb-scroll-invert', _('Thumb Scroll Invert'), _('Invert thumb scroll direction.'))
|
||||||
|
|
||||||
#
|
#
|
||||||
# Keyword arguments for setting template functions:
|
# Keyword arguments for setting template functions:
|
||||||
|
@ -684,6 +690,36 @@ def _feature_change_host():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _feature_thumb_mode():
|
||||||
|
return feature_toggle(
|
||||||
|
_THUMB_SCROLL_MODE[0],
|
||||||
|
_F.THUMB_WHEEL,
|
||||||
|
read_fnid=0x10,
|
||||||
|
write_fnid=0x20,
|
||||||
|
true_value=b'\x01\x00',
|
||||||
|
false_value=b'\x00\x00',
|
||||||
|
mask=b'\x01\x00',
|
||||||
|
label=_THUMB_SCROLL_MODE[1],
|
||||||
|
description=_THUMB_SCROLL_MODE[2],
|
||||||
|
device_kind=(_DK.mouse, _DK.trackball)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _feature_thumb_invert():
|
||||||
|
return feature_toggle(
|
||||||
|
_THUMB_SCROLL_INVERT[0],
|
||||||
|
_F.THUMB_WHEEL,
|
||||||
|
read_fnid=0x10,
|
||||||
|
write_fnid=0x20,
|
||||||
|
true_value=b'\x00\x01',
|
||||||
|
false_value=b'\x00\x00',
|
||||||
|
mask=b'\x00\x01',
|
||||||
|
label=_THUMB_SCROLL_INVERT[1],
|
||||||
|
description=_THUMB_SCROLL_INVERT[2],
|
||||||
|
device_kind=(_DK.mouse, _DK.trackball)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -713,6 +749,8 @@ _SETTINGS_TABLE = [
|
||||||
_S(_PLATFORM[0], _F.MULTIPLATFORM, _feature_multiplatform),
|
_S(_PLATFORM[0], _F.MULTIPLATFORM, _feature_multiplatform),
|
||||||
_S(_PLATFORM[0], _F.DUALPLATFORM, _feature_dualplatform, identifier='dualplatform'),
|
_S(_PLATFORM[0], _F.DUALPLATFORM, _feature_dualplatform, identifier='dualplatform'),
|
||||||
_S(_CHANGE_HOST[0], _F.CHANGE_HOST, _feature_change_host),
|
_S(_CHANGE_HOST[0], _F.CHANGE_HOST, _feature_change_host),
|
||||||
|
_S(_THUMB_SCROLL_MODE[0], _F.THUMB_WHEEL, _feature_thumb_mode),
|
||||||
|
_S(_THUMB_SCROLL_INVERT[0], _F.THUMB_WHEEL, _feature_thumb_invert),
|
||||||
]
|
]
|
||||||
|
|
||||||
_SETTINGS_LIST = namedtuple('_SETTINGS_LIST', [s[4] for s in _SETTINGS_TABLE])
|
_SETTINGS_LIST = namedtuple('_SETTINGS_LIST', [s[4] for s in _SETTINGS_TABLE])
|
||||||
|
|
Loading…
Reference in New Issue