Repository: pwr-Solaar/Solaar

Issue:
Rule editor feature INPUT-SELECT options display
**Information**
<!-- Make sure that your issue is not one of the known issues in the Solaar documentation at https://pwr-solaar.github.io/Solaar/ -->
<!-- Do not bother opening an issue for a version older than 1.1.0.  Update to the latest version and see if your issue persists. -->
- Solaar version (`solaar --version` or `git describe --tags` if cloned from this repository):
- Distribution:
- Kernel version (ex. `uname -srmo`): `KERNEL VERSION HERE`
- Output of `solaar show`:

<details>

```
Solaar version 1.1.2

Unifying Receiver
  Device path  : /dev/hidraw0
  USB id       : 046d:C52B
  Serial       : 718F8ADA
    Firmware   : 24.11.B0036
    Bootloader : 02.09
    Other      : AA.AC
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=56, 3=151

  1: MX Keys Keyboard
     Device path  : /dev/hidraw1
     WPID         : 408A
     Codename     : MX Keys
     Kind         : keyboard
     Protocol     : HID++ 4.5
     Polling rate : 20 ms (50Hz)
     Serial number: D924FEC2
     Model ID:      B35B408A0000
     Unit ID:       D924FEC2
        Bootloader: BL1 08.00.B0011
          Firmware: MPK 12.00.B0011
             Other: 
     The power switch is located on the edge of top right corner.
     Supports 33 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Bootloader BL1 08.00.B0011 00008169E8BB
            Firmware: Firmware MPK 12.00.B0011 408A8169E8BB
            Firmware: Other   
            Unit ID: D924FEC2  Model ID: B35B408A0000  Transport IDs: {'btleid': 'B35B', 'wpid': '408A'}
         3: DEVICE NAME            {0005}   
            Name: MX Keys Wireless Keyboard
            Kind: keyboard
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: DEVICE FRIENDLY NAME   {0007}   
            Friendly Name: MX Keys
         7: BATTERY STATUS         {1000}   
            Battery: N/A, full, next level 0%.
         8: REPROG CONTROLS V4     {1B04}   
            Key/Button Diversion (saved): {Calculator:Regular, Show Desktop:Regular, Lock PC:Regular, Screen Capture/Print Screen:Regular, Brightness Down:Regular, Brightness Up:Regular, Host Switch Channel 1:Regular, Host Switch Channel 2:Regular, Host Switch Channel 3:Regular, Mission Control/Task View:Regular, Dashboard Launchpad/Action Center:Regular, Backlight Down:Regular, Backlight Up:Regular, Previous Fn:Regular, Play/Pause Fn:Regular, Next Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, App Contextual Menu/Right Click:Regular, Right Arrow:Regular, Left Arrow:Regular}
            Key/Button Diversion        : {Calculator:Regular, Show Desktop:Regular, Lock PC:Regular, Screen Capture/Print Screen:Regular, Brightness Down:Regular, Brightness Up:Regular, Host Switch Channel 1:Regular, Host Switch Channel 2:Regular, Host Switch Channel 3:Regular, Mission Control/Task View:Regular, Dashboard Launchpad/Action Center:Regular, Backlight Down:Regular, Backlight Up:Regular, Previous Fn:Regular, Play/Pause Fn:Regular, Next Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, App Contextual Menu/Right Click:Regular, Right Arrow:Regular, Left Arrow:Regular}
         9: CHANGE HOST            {1814}   
            Change Host        : 1:optiplex-desktop
        10: HOSTS INFO             {1815}   
            Host 0 (paired): optiplex-desktop
            Host 1 (paired): Ricardo's iPad (2)
            Host 2 (paired): pop-os
        11: BACKLIGHT2             {1982}   
            Backlight (saved): True
            Backlight        : True
        12: K375S FN INVERSION     {40A3}   
            Swap Fx function (saved): False
            Swap Fx function        : False
        13: ENCRYPTION             {4100}   
        14: LOCK KEY STATE         {4220}   
        15: KEYBOARD DISABLE KEYS  {4521}   
            Disable keys (saved): {Caps Lock:False, Win:False, Num Lock:False, Scroll Lock:False, Insert:False}
            Disable keys        : {Caps Lock:False, Num Lock:False, Scroll Lock:False, Insert:False, Win:False}
        16: MULTIPLATFORM          {4531}   
            Set OS (saved): Windows
            Set OS        : Windows
        17: DFUCONTROL SIGNED      {00C2}   
        18: DEVICE RESET           {1802}   internal, hidden
        19: unknown:1803           {1803}   internal, hidden
        20: CONFIG DEVICE PROPS    {1806}   internal, hidden
        21: unknown:1813           {1813}   internal, hidden
        22: OOBSTATE               {1805}   internal, hidden
        23: unknown:1830           {1830}   internal, hidden
        24: unknown:1890           {1890}   internal, hidden
        25: unknown:1891           {1891}   internal, hidden
        26: unknown:18A1           {18A1}   internal, hidden
        27: unknown:1DF3           {1DF3}   internal, hidden
        28: unknown:1E00           {1E00}   hidden
        29: unknown:1EB0           {1EB0}   internal, hidden
        30: unknown:1861           {1861}   internal, hidden
        31: unknown:1A20           {1A20}   internal, hidden
        32: unknown:18B0           {18B0}   internal, hidden
     Has 24 reprogrammable keys:
         0: Host Switch Channel 1     , default: HostSwitch Channel 1        => HostSwitch Channel 1      
             nonstandard, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
         1: Host Switch Channel 2     , default: HostSwitch Channel 2        => HostSwitch Channel 2      
             nonstandard, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
         2: Host Switch Channel 3     , default: HostSwitch Channel 3        => HostSwitch Channel 3      
             nonstandard, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
         3: Brightness Down           , default: Brightness Down             => Brightness Down           
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:1, group:0, group mask:empty
             reporting: default
         4: Brightness Up             , default: Brightness Up               => Brightness Up             
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:2, group:0, group mask:empty
             reporting: default
         5: Mission Control/Task View , default: Mission Control/Task View   => Mission Control/Task View 
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:3, group:0, group mask:empty
             reporting: default
         6: Dashboard Launchpad/Action Center, default: Dashboard Launchpad/Action Center => Dashboard Launchpad/Action Center
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:4, group:0, group mask:empty
             reporting: default
         7: Show Desktop              , default: Show Desktop                => Show Desktop              
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:5, group:0, group mask:empty
             reporting: default
         8: Backlight Down            , default: Backlight Down              => Backlight Down            
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:6, group:0, group mask:empty
             reporting: default
         9: Backlight Up              , default: Backlight Up                => Backlight Up              
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:7, group:0, group mask:empty
             reporting: default
        10: Previous Fn               , default: Previous                    => Previous                  
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:8, group:0, group mask:empty
             reporting: default
        11: Play/Pause Fn             , default: Play/Pause                  => Play/Pause                
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:9, group:0, group mask:empty
             reporting: default
        12: Next Fn                   , default: Next                        => Next                      
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:10, group:0, group mask:empty
             reporting: default
        13: Mute Fn                   , default: Mute                        => Mute                      
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:11, group:0, group mask:empty
             reporting: default
        14: Volume Down Fn            , default: Volume Down                 => Volume Down               
             is FN, FN sensitive, reprogrammable, divertable, persistently divertable, analytics key events, pos:12, group:0, group mask:empty
             reporting: default
        15: Volume Up Fn              , default: Volume Up                   => Volume Up                 
             nonstandard, reprogrammable, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        16: Calculator                , default: Calculator                  => Calculator                
             nonstandard, reprogrammable, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        17: Screen Capture/Print Screen, default: Screen Capture              => Screen Capture            
             nonstandard, reprogrammable, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        18: App Contextual Menu/Right Click, default: Right Click/App Contextual Menu => Right Click/App Contextual Menu
             nonstandard, reprogrammable, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        19: Lock PC                   , default: WindowsLock                 => WindowsLock               
             nonstandard, reprogrammable, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        20: Left Arrow                , default: Keyboard Left Arrow         => Keyboard Left Arrow       
             nonstandard, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        21: Right Arrow               , default: Keyboard Right Arrow        => Keyboard Right Arrow      
             nonstandard, divertable, persistently divertable, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        22: F Lock                    , default: Do Nothing One              => Do Nothing One            
             is FN, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
        23: FN Key                    , default: Do Nothing One              => Do Nothing One            
             nonstandard, analytics key events, pos:0, group:0, group mask:empty
             reporting: default
     Battery: N/A, full, next level 0%.

  3: MX Master 3 Wireless Mouse
     Device path  : /dev/hidraw2
     WPID         : 4082
     Codename     : MX Master 3
     Kind         : mouse
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: C9FD3313
     Model ID:      B02340820000
     Unit ID:       C9FD3313
        Bootloader: BOT 95.01.B0015
          Firmware: MPM 19.01.B0015
             Other: 
     The power switch is located on the base.
     Supports 35 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Bootloader BOT 95.01.B0015 00006A9CA89D
            Firmware: Firmware MPM 19.01.B0015 40826A9CA89D
            Firmware: Other   
            Unit ID: C9FD3313  Model ID: B02340820000  Transport IDs: {'btleid': 'B023', 'wpid': '4082'}
         3: DEVICE NAME            {0005}   
            Name: MX Master 3 for Mac
            Kind: mouse
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: CRYPTO ID              {0021}   
         7: DEVICE FRIENDLY NAME   {0007}   
            Friendly Name: MX Master 3 Mac
         8: BATTERY STATUS         {1000}   
            Battery: 100%, discharging, next level 50%.
         9: REPROG CONTROLS V4     {1B04}   
            DPI Sliding Adjustment (saved): Off
            DPI Sliding Adjustment        : Off
            Mouse Gestures (saved): Mouse Gesture Button
            Mouse Gestures        : Off
            Key/Button Actions (saved): {Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift, Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button}
            Key/Button Actions        : {Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift, Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button}
            Key/Button Diversion (saved): {Mouse Gesture Button:Diverted, Smart Shift:Regular, Middle Button:Regular, Back Button:Diverted, Forward Button:Diverted}
            Key/Button Diversion        : {Mouse Gesture Button:Diverted, Smart Shift:Regular, Middle Button:Regular, Back Button:Diverted, Forward Button:Diverted}
        10: CHANGE HOST            {1814}   
            Change Host        : 1:optiplex-desktop
        11: XY STATS               {2250}   
        12: ADJUSTABLE DPI         {2201}   
            Sensitivity (DPI) (saved): 1000
            Sensitivity (DPI)        : 1000
        13: SMART SHIFT            {2110}   
            Scroll Wheel Rachet (saved): 6
            Scroll Wheel Rachet        : 6
        14: HIRES WHEEL            {2121}   
            Multiplier: 15
            Has invert: Normal wheel motion
            Has ratchet switch: Normal wheel mode
            High resolution mode
            HID notification
            Scroll Wheel Direction (saved): False
            Scroll Wheel Direction        : False
            Scroll Wheel Resolution (saved): True
            Scroll Wheel Resolution        : True
        15: THUMB WHEEL            {2150}   
            Thumb Wheel Diversion (saved): True
            Thumb Wheel Diversion        : True
            Thumb Wheel Direction (saved): True
            Thumb Wheel Direction        : True
        16: WHEEL STATS            {2251}   
        17: DFUCONTROL SIGNED      {00C2}   
        18: DEVICE RESET           {1802}   internal, hidden
        19: unknown:1803           {1803}   internal, hidden
        20: CONFIG DEVICE PROPS    {1806}   internal, hidden
        21: unknown:1813           {1813}   internal, hidden
        22: OOBSTATE               {1805}   internal, hidden
        23: unknown:1830           {1830}   internal, hidden
        24: unknown:1890           {1890}   internal, hidden
        25: unknown:1891           {1891}   internal, hidden
        26: unknown:18A1           {18A1}   internal, hidden
        27: unknown:1DF3           {1DF3}   internal, hidden
        28: unknown:1E00           {1E00}   hidden
        29: unknown:1EB0           {1EB0}   internal, hidden
        30: unknown:1861           {1861}   internal, hidden
        31: unknown:9001           {9001}   internal, hidden
        32: unknown:9203           {9203}   internal, hidden
        33: unknown:9205           {9205}   internal, hidden
        34: unknown:9300           {9300}   internal, hidden
     Has 8 reprogrammable keys:
         0: Left Button               , default: Left Click                  => Left Click                
             mse, analytics key events, pos:0, group:1, group mask:g1
             reporting: default
         1: Right Button              , default: Right Click                 => Right Click               
             mse, analytics key events, pos:0, group:1, group mask:g1
             reporting: default
         2: Middle Button             , default: Mouse Middle Button         => Mouse Middle Button       
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:3, group mask:g1,g2,g3
             reporting: default
         3: Back Button               , default: Mouse Back Button           => Mouse Back Button         
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: diverted
         4: Forward Button            , default: Mouse Forward Button        => Mouse Forward Button      
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: diverted
         5: Mouse Gesture Button      , default: Gesture Button Navigation   => Gesture Button Navigation 
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:3, group mask:g1,g2,g3
             reporting: diverted, raw XY diverted
         6: Smart Shift               , default: Smart Shift                 => Smart Shift               
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:3, group mask:g1,g2,g3
             reporting: default
         7: Virtual Gesture Button    , default: Virtual Gesture Button      => Virtual Gesture Button    
             divertable, virtual, raw XY, force raw XY, pos:0, group:4, group mask:empty
             reporting: default
     Battery: 100%, discharging, next level 50%.

```

OS: Ubuntu 20.04

</details>

**Describe the bug**
In the rule editor when we want to add a feature, there is SELECT menu where to select the specific feature. The problem is that on click the SELECT expands and shows only 4 options and no scrollbars are shown in the right side. Options are limited to 4 unless you go to the input and start typing.



**To Reproduce**
Steps to reproduce the behavior:
1 Open solar
2 Open the rule editor
3 An a rule, next add a feature to that rule
4 Go to the input select feature, only 4 options are displayed.
5 Erase one of the options with the keyboard and type a letter now all options are displayed
**Screenshots**

https://user-images.githubusercontent.com/7058119/163652727-bcff6f6f-ffec-4312-874f-3b145aa9759c.mp4

**Additional context**
Add any other context about the problem here.



Discussion:
The GUI for this rule component has a list of divertable features, which are the ones that it makes the most sense to use.  However, this list was not updated to account for the recently added divertable features.

PR #1561 adds the other divertable features.  As this has already been merged all you need to do is to download Solaar from this repository and run Solaar from there.

Please respond whether this PR is suitable.
The input-select shows now eight options. I cannot take ss because when the select is on focus extended the screenshot key doesn't trigger....don't know why.

I haven't tested the wheel diversions yet

This is an error show in the console. it does not interrupt the process

<details>

```
./solaar -dd
10:11:05,729     INFO [MainThread] root: language en_AU (UTF-8), translations path None
10:11:05,842     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
10:11:05,878     INFO [MainThread] logitech_receiver.diversion: X11 library loaded and display set up
10:11:05,879  WARNING [MainThread] logitech_receiver.diversion: rule Feature argument not name of a feature: None
10:11:05,879     INFO [MainThread] logitech_receiver.diversion: loaded 7 rules from /home/ricardo/.config/solaar/rules.yaml
10:11:05,890     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
10:11:05,926     INFO [MainThread] solaar.ui.notify: starting desktop notifications
10:11:05,972     INFO [MainThread] solaar.listener: starting receiver listening threads
10:11:05,973     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw0', vendor_id='046D', product_id='C52B', serial='', release=None, manufacturer=None, product=None, interface=2, driver='logitech-djreceiver', bus_id=3, isDevice=None)
10:11:05,973     INFO [MainThread] logitech_receiver.base: New lock 15
10:11:05,986     INFO [ReceiverListener:hidraw0] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw0,15)> (15)
10:11:05,986     INFO [ReceiverListener:hidraw0] solaar.listener: <UnifyingReceiver(/dev/hidraw0,15)>: notifications listener has started (15)
10:11:05,986     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw0)>
10:11:05,992     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw0,15)>: receiver notifications enabled => ('wireless', 'software present')
10:11:06,000     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw0,15)>: present, No paired devices. (0) 
10:11:06,003     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw0,15)>: found new device 1 (408A)
10:11:06,003     INFO [ReceiverListener:hidraw0] solaar.listener: connection Notification(10,1,41,04,318A40) for <Device(1,408A,MX Keys Keyboard,D924FEC2)> (keyboard)
10:11:06,006     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw0,15)>: present, 1 paired device. (0) 
10:11:06,006     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock 22
10:11:06,172     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(1,408A,MX Keys Keyboard,D924FEC2)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:11:06,294     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature backlight [BACKLIGHT2] detected <Setting([feature:toggle] MX Keys:backlight=None)>
10:11:06,414     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature fn-swap [K375S FN INVERSION] detected <Setting([feature:toggle] MX Keys:fn-swap=None)>
10:11:07,342     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature divert-keys [REPROG CONTROLS V4] detected <Setting([feature:map choice] MX Keys:divert-keys=None)>
10:11:07,406     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature disable-keyboard-keys [KEYBOARD DISABLE KEYS] detected <Setting([feature:multiple toggle] MX Keys:disable-keyboard-keys=None)>
10:11:07,598     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature multiplatform [MULTIPLATFORM] detected <Setting([feature:choice] MX Keys:multiplatform=None)>
10:11:07,986     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature change-host [CHANGE HOST] detected <Setting([feature:choice] MX Keys:change-host=None)>
10:11:07,986     INFO [ReceiverListener:hidraw0] logitech_receiver.status: <Device(1,408A,MX Keys Keyboard,D924FEC2)> pushing device settings [<Setting([feature:toggle] MX Keys:backlight=None)>, <Setting([feature:toggle] MX Keys:fn-swap=None)>, <Setting([feature:map choice] MX Keys:divert-keys=None)>, <Setting([feature:multiple toggle] MX Keys:disable-keyboard-keys=None)>, <Setting([feature:choice] MX Keys:multiplatform=None)>, <Setting([feature:choice] MX Keys:change-host=None)>]
10:11:08,888     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(1,408A,MX Keys Keyboard,D924FEC2)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:11:08,890     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw0,15)>: found new device 3 (4082)
10:11:08,890     INFO [ReceiverListener:hidraw0] solaar.listener: connection Notification(10,3,41,04,328240) for <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)> (mouse)
10:11:08,896     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw0,15)>: present, 2 paired devices. (0) 
10:11:08,896     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock 23
10:11:09,034     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:11:09,096     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature hires-smooth-invert [HIRES WHEEL] detected <Setting([feature:toggle] MX Master 3:hires-smooth-invert=None)>
10:11:09,096     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature hires-smooth-resolution [HIRES WHEEL] detected <Setting([feature:toggle] MX Master 3:hires-smooth-resolution=None)>
10:11:09,096     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature hires-scroll-mode [HIRES WHEEL] detected <Setting([feature:toggle] MX Master 3:hires-scroll-mode=None)>
10:11:09,116     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature smart-shift [SMART SHIFT] detected <Setting([feature:range] MX Master 3:smart-shift=None)>
10:11:09,136     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature thumb-scroll-mode [THUMB WHEEL] detected <Setting([feature:toggle] MX Master 3:thumb-scroll-mode=None)>
10:11:09,136     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature thumb-scroll-invert [THUMB WHEEL] detected <Setting([feature:toggle] MX Master 3:thumb-scroll-invert=None)>
10:11:09,176     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature dpi [ADJUSTABLE DPI] detected <Setting([feature:choice] MX Master 3:dpi=None)>
10:11:09,406     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature dpi-sliding [REPROG CONTROLS V4] detected <Setting([feature:choice] MX Master 3:dpi-sliding=None)>
10:11:09,406     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature mouse-gestures [REPROG CONTROLS V4] detected <Setting([feature:choice] MX Master 3:mouse-gestures=None)>
10:11:09,407     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature reprogrammable-keys [REPROG CONTROLS V4] detected <Setting([feature:map choice] MX Master 3:reprogrammable-keys=None)>
10:11:09,407     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature divert-keys [REPROG CONTROLS V4] detected <Setting([feature:map choice] MX Master 3:divert-keys=None)>
10:11:09,466     INFO [ReceiverListener:hidraw0] logitech_receiver.settings_templates: check_feature change-host [CHANGE HOST] detected <Setting([feature:choice] MX Master 3:change-host=None)>
10:11:09,466     INFO [ReceiverListener:hidraw0] logitech_receiver.status: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)> pushing device settings [<Setting([feature:toggle] MX Master 3:hires-smooth-invert=None)>, <Setting([feature:toggle] MX Master 3:hires-smooth-resolution=None)>, <Setting([feature:toggle] MX Master 3:hires-scroll-mode=None)>, <Setting([feature:range] MX Master 3:smart-shift=None)>, <Setting([feature:toggle] MX Master 3:thumb-scroll-mode=None)>, <Setting([feature:toggle] MX Master 3:thumb-scroll-invert=None)>, <Setting([feature:choice] MX Master 3:dpi=None)>, <Setting([feature:choice] MX Master 3:dpi-sliding=None)>, <Setting([feature:choice] MX Master 3:mouse-gestures=None)>, <Setting([feature:map choice] MX Master 3:reprogrammable-keys=None)>, <Setting([feature:map choice] MX Master 3:divert-keys=None)>, <Setting([feature:choice] MX Master 3:change-host=None)>]
10:11:09,632     INFO [ReceiverListener:hidraw0] solaar.configuration: saved ['1.1.3rc1', {'_NAME': 'MX Master 3 Wireless Mouse', '_absent': ['hi-res-scroll', 'lowres-smooth-scroll', 'onboard_profiles', 'report_rate', 'pointer_speed', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'persistent-remappable-keys', 'disable-keyboard-keys', 'divert-crown', 'crown-smooth', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'lowres-scroll-mode'], '_modelId': 'B02340820000', '_sensitive': {'divert-keys': False, 'hires-scroll-mode': True, 'hires-smooth-resolution': True, 'mouse-gestures': True, 'thumb-scroll-mode': True}, '_serial': 'C9FD3313', '_unitId': 'C9FD3313', '_wpid': '4082', 'divert-keys': {82: 0, 83: 1, 86: 1, 195: 1, 196: 0}, 'dpi': 1000, 'dpi-sliding': 0, 'hires-scroll-mode': True, 'hires-smooth-invert': False, 'hires-smooth-resolution': True, 'mouse-gestures': 195, 'reprogrammable-keys': {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 195: 195, 196: 196}, 'smart-shift': 6, 'thumb-scroll-invert': True, 'thumb-scroll-mode': True}, {'_NAME': 'MX Keys Keyboard', '_absent': ['hi-res-scroll', 'lowres-smooth-scroll', 'hires-smooth-invert', 'hires-smooth-resolution', 'smart-shift', 'thumb-scroll-mode', 'thumb-scroll-invert', 'onboard_profiles', 'report_rate', 'pointer_speed', 'dpi', 'dpi-sliding', 'speed-change', 'mouse-gestures', 'backlight-timed', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-crown', 'crown-smooth', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'lowres-scroll-mode', 'hires-scroll-mode'], '_modelId': 'B35B408A0000', '_sensitive': {'multiplatform': False}, '_serial': 'D924FEC2', '_unitId': 'D924FEC2', '_wpid': '408A', 'backlight': True, 'disable-keyboard-keys': {1: False, 2: False, 4: False, 8: False, 16: False}, 'divert-keys': {10: 0, 110: 0, 111: 0, 191: 0, 199: 0, 200: 0, 209: 0, 210: 0, 211: 0, 224: 0, 225: 0, 226: 0, 227: 0, 228: 0, 229: 0, 230: 0, 231: 0, 232: 0, 233: 0, 234: 0, 235: 0, 236: 0}, 'fn-swap': False, 'multiplatform': 0}] to /home/ricardo/.config/solaar/config.yaml
10:11:10,010     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:11:10,010     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(1,408A,MX Keys Keyboard,D924FEC2)>: spurious BATTERY status Notification(11,1,07,10,0404C0060A0000000000000000000000)
10:11:10,011     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: spurious BATTERY status Notification(11,3,08,10,0404C078050000000000000000000000)
10:11:10,011     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: unknown WHEEL Notification(11,3,0E,20,02000000000000000000000000000000)
10:11:10,011     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 0 periods: 15 delta V:7192
10:11:10,013     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 7192 [0, 14384]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:22,182     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:22,190     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-12
10:11:22,294     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:22,372     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:22,396     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-3 
10:11:22,412     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:22,418     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:22,452     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:23,154     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:23,154     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:23,186     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:4  
10:11:23,186     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 4 [0, 8]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:23,200     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:23,200     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:23,208     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:23,208     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:23,218     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:23,218     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:23,750     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:23,750     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:25,564     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:25,578     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:25,594     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:25,604     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:25,610     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-3 
10:11:25,644     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:25,942     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:25,942     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:25,974     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:25,974     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:25,982     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:25,982     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:25,990     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:25,990     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:25,998     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:4  
10:11:25,998     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 4 [0, 8]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,006     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:26,006     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,032     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:26,032     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,056     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:26,056     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,080     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:3  
10:11:26,080     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 3 [0, 6]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,094     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:26,094     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,120     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:2  
10:11:26,120     INFO [MainThread] logitech_receiver.diversion: MouseScroll action: [0, 2] 2 [0, 4]
Traceback (most recent call last):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 395, in evaluate
    result = component.evaluate(feature, notification, device, status, result)
  [Previous line repeated 1 more time]
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 914, in evaluate
    simulate_scroll(dx, dy)
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 327, in simulate_scroll
    success = click(4 if dy > 0 else 5, count=abs(dy))
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 313, in click
    if not wayland and click_xtest(button, count):
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/diversion.py", line 296, in click_xtest
    if not simulate_xtest(button[0], _BUTTON_PRESS):
TypeError: 'int' object is not subscriptable
10:11:26,298     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:26,958     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:26,966     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-3 
10:11:26,974     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-2 
10:11:26,982     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-5 
10:11:26,990     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-5 
10:11:26,998     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:27,006     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-3 
10:11:27,014     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
10:11:27,022     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(3,4082,MX Master 3 Wireless Mouse,C9FD3313)>: WHEEL: res: 1 periods: 1 delta V:-4 
^CThread 0x00007fe36c9ae700 (most recent call first):
  File "/home/ricardo/Developer/solaar/Solaar/lib/hidapi/udev.py", line 363 in read
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/base.py", line 266 in _read
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/base.py", line 237 in read
  File "/home/ricardo/Developer/solaar/Solaar/lib/logitech_receiver/listener.py", line 172 in run
  File "/usr/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/usr/lib/python3.8/threading.py", line 890 in _bootstrap

Thread 0x00007fe37cef4700 (most recent call first):
  File "/usr/lib/python3.8/threading.py", line 302 in wait
  File "/usr/lib/python3.8/queue.py", line 170 in get
  File "/home/ricardo/Developer/solaar/Solaar/lib/solaar/tasks.py", line 60 in run
  File "/usr/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/usr/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007fe381a52740 (most recent call first):
  File "/home/ricardo/Developer/solaar/Solaar/lib/solaar/gtk.py", line 127 in _handlesigint
  File "/usr/lib/python3/dist-packages/gi/_ossighelper.py", line 106 in signal_notify
  File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44 in run
  File "/home/ricardo/Developer/solaar/Solaar/lib/solaar/ui/__init__.py", line 174 in run_loop
  File "/home/ricardo/Developer/solaar/Solaar/lib/solaar/gtk.py", line 169 in main
  File "./solaar", line 55 in <module>
solaar: exit due to keyboard interrupt

```
</details>

~~The error shows when i scroll up. Still works fine~~

I spoke too soon. The error above is produced when there is a rule for HIRES_WHEEL which does scrolling, which i think prevent's scrolling.

The rules are like below

![image](https://user-images.githubusercontent.com/7058119/163695314-ba31db56-7a9b-46f4-9a66-e367020b9149.png)

Also i noticed if i divert hires_wheel it prevents scrolling which is normal i then i have to do a rule for scrolling.










That's a bug in the code.  The fix should be coming soon.

Resolving patch:
diff --git a/lib/logitech_receiver/diversion.py b/lib/logitech_receiver/diversion.py
--- a/lib/logitech_receiver/diversion.py
+++ b/lib/logitech_receiver/diversion.py
@@ -322,9 +322,9 @@ def simulate_scroll(dx, dy):
     if not wayland and xtest_available:
         success = True
         if dx:
-            success = click(7 if dx > 0 else 6, count=abs(dx))
+            success = click_xtest(buttons['scroll_right' if dx > 0 else 'scroll_left'], count=abs(dx))
         if dy and success:
-            success = click(4 if dy > 0 else 5, count=abs(dy))
+            success = click_xtest(buttons['scroll_up' if dy > 0 else 'scroll_down'], count=abs(dy))
         if success:
             return True
     if setup_uinput():


Test patch: