Skip to content

MX Keys S not showing in UI #2589

Description

@patrickhousley

Information

  • Solaar version (solaar --version or git describe --tags if cloned from this repository): 1.1.13
  • Distribution: Fedora 40 (KDE)
  • Kernel version (ex. uname -srmo): Linux 6.10.5-200.fc40.x86_64 x86_64 GNU/Linux
  • Output of solaar show:
Details
➜  ~ solaar show
rules cannot access modifier keys in Wayland, accessing process only works on GNOME with Solaar Gnome extension installed
solaar version 1.1.13


MX Master 3S
     Device path  : /dev/hidraw3
     USB id       : 046d:B034
     Codename     : MX Master 3S
     Kind         : mouse
     Protocol     : HID++ 4.5
     Serial number: 
     Model ID:      B03400000000
     Unit ID:       92EAA9C7
                 1: BL1 69.01.B0006
                 0: RBM 22.01.B0006
                 3: 
     Supports 36 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V4     
            Firmware: Bootloader BL1 69.01.B0006 B034BB5190E8
            Firmware: Firmware RBM 22.01.B0006 B034BB5190E8
            Firmware: Other   
            Unit ID: 92EAA9C7  Model ID: B03400000000  Transport IDs: {'btleid': 'B034'}
         3: DEVICE NAME            {0005} V0     
            Name: MX Master 3S
            Kind: mouse
         4: WIRELESS DEVICE STATUS {1D4B} V0     
         5: CONFIG CHANGE          {0020} V0     
            Configuration: 11000000000000000000000000000000
         6: CRYPTO ID              {0021} V1     
         7: DEVICE FRIENDLY NAME   {0007} V0     
            Friendly Name: MX Master 3S
         8: UNIFIED BATTERY        {1004} V3     
            Battery: 80%, recharging.
         9: REPROG CONTROLS V4     {1B04} V5     
            Key/Button Actions (saved): {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift}
            Key/Button Actions        : {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Back Button, Mouse Gesture Button:Mouse Forward Button, Smart Shift:Smart Shift}
            Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Regular, Smart Shift:Regular}
            Key/Button Diversion        : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Regular, Smart Shift:Regular}
        10: CHANGE HOST            {1814} V1     
            Change Host        : 1:patrick-desktop
        11: HOSTS INFO             {1815} V2     
            Host 0 (paired): patrick-desktop
            Host 1 (unpaired): 
            Host 2 (unpaired): 
        12: XY STATS               {2250} V1     
        13: ADJUSTABLE DPI         {2201} V2     
            Sensitivity (DPI) (saved): 1000
            Sensitivity (DPI)        : 1000
        14: SMART SHIFT            {2110} V0     
        15: HIRES WHEEL            {2121} V1     
            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
            Scroll Wheel Diversion (saved): False
            Scroll Wheel Diversion        : False
        16: THUMB WHEEL            {2150} V0     
            Thumb Wheel Direction (saved): False
            Thumb Wheel Direction        : False
            Thumb Wheel Diversion (saved): False
            Thumb Wheel Diversion        : False
        17: WHEEL STATS            {2251} V0     
        18: DFUCONTROL             {00C3} V0     
        19: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
        20: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
        21: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
        22: unknown:1816           {1816} V0    internal, hidden, unknown:000010 
        23: OOBSTATE               {1805} V0    internal, hidden 
        24: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
        25: unknown:1891           {1891} V7    internal, hidden, unknown:000008 
        26: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
        27: unknown:1E00           {1E00} V0    hidden 
        28: unknown:1E02           {1E02} V0    internal, hidden 
        29: unknown:1602           {1602} V0     
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
        31: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
        32: unknown:9300           {9300} V0    internal, hidden, unknown:000010 
        33: unknown:9001           {9001} V0    internal, hidden, unknown:000010 
        34: unknown:1E22           {1E22} V0    internal, hidden, unknown:000010 
        35: unknown:9205           {9205} V0    internal, hidden, unknown:000010 
     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:2, group mask:g1,g2
             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: default
         4: Forward Button            , default: Mouse Forward Button        => Mouse Back Button         
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: default
         5: Mouse Gesture Button      , default: Gesture Button Navigation   => Mouse Forward Button      
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: default
         6: Smart Shift               , default: Smart Shift                 => Smart Shift               
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: default
         7: Virtual Gesture Button    , default: Virtual Gesture Button      => Virtual Gesture Button    
             divertable, virtual, raw XY, force raw XY, pos:0, group:3, group mask:empty
             reporting: default
     Battery: 80%, recharging.

solaar: error: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/solaar/cli/__init__.py", line 221, in run
    m.run(c, args, _find_receiver, _find_device)
  File "/usr/lib/python3.12/site-packages/solaar/cli/show.py", line 327, in run
    _print_device(d)
  File "/usr/lib/python3.12/site-packages/solaar/cli/show.py", line 101, in _print_device
    print(f"{dev.name}")
             ^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/device.py", line 204, in name
    return self._name or self._codename or ("Unknown device %s" % (self.wpid or hex(self.product_id)[2:].upper()))
                                                                                ^^^^^^^^^^^^^^^^^^^^
TypeError: 'str' object cannot be interpreted as an integer

  • Contents of ~/.config/solaar/config.yaml (or ~/.config/solaar/config.json if ~/.config/solaar/config.yaml not present):
Details
➜  ~ cat ~/.config/solaar/config.yaml
- 1.1.13
- _NAME: MX Master 3S
  _absent: [hi-res-scroll, lowres-scroll-mode, scroll-ratchet, smart-shift, report_rate, report_rate_extended, pointer_speed, dpi_extended, speed-change,
    backlight, backlight_level, backlight_duration_hands_out, backlight_duration_hands_in, backlight_duration_powered, backlight-timed, led_control, led_zone_,
    rgb_control, rgb_zone_, brightness_control, per-key-lighting, fn-swap, persistent-remappable-keys, disable-keyboard-keys, crown-smooth, divert-crown,
    divert-gkeys, m-key-leds, mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management,
    onboard_profiles]
  _battery: 4100
  _modelId: B03400000000
  _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore}
  _unitId: 92EAA9C7
  change-host: null
  divert-keys: {82: 0, 83: 0, 86: 0, 195: 0, 196: 0}
  dpi: 1000
  hires-scroll-mode: false
  hires-smooth-invert: false
  hires-smooth-resolution: true
  reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 195: 195, 196: 196}
  thumb-scroll-invert: false
  thumb-scroll-mode: false
  • Errors or warrnings from Solaar:
Details
2024-08-22 15:15:33,179,179    ERROR [SolaarListener:hidraw3] logitech_receiver.base: (19) device 255 error on feature request {105A}: 7 = invalid function
2024-08-22 15:15:33,181,181    ERROR [SolaarListener:hidraw3] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] error {'number': 255, 'request': 4186, 'error': 7, 'params': b'\x00\x00\x00\x00'}
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/logitech_receiver/settings_templates.py", line 1805, in check_feature
    detected = sclass.build(device)
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/settings.py", line 95, in build
    validator = validator_class.build(cls, device, **cls.validator_options)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/settings_templates.py", line 546, in build
    headers = hidpp20.OnboardProfiles.get_profile_headers(device)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/hidpp20.py", line 1249, in get_profile_headers
    chunk = device.feature_request(FEATURE.ONBOARD_PROFILES, 0x50, 0, 0, 0, i)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/device.py", line 496, in feature_request
    return hidpp20.feature_request(self, feature, function, *params, no_reply=no_reply)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/hidpp20.py", line 1351, in feature_request
    return device.request((feature_index << 8) + (function & 0xFF), *params, no_reply=no_reply)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/device.py", line 484, in request
    return base.request(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/logitech_receiver/base.py", line 502, in request
    raise exceptions.FeatureCallError(number=devnumber, request=request_id, error=error, params=params)
logitech_receiver.exceptions.FeatureCallError: {'number': 255, 'request': 4186, 'error': 7, 'params': b'\x00\x00\x00\x00'}

2024-08-22 15:15:35,152,152  WARNING [SolaarListener:hidraw3] logitech_receiver.hidpp20: REPROG_CONTROLS_V4 endpoint getCidReporting on device <Device(255,B034,MX Master 3S,)> replied with a different control ID (195) than requested (196).
2024-08-22 15:15:36,489,489  WARNING [MainThread] logitech_receiver.base: (20) timeout (4.00/4.00) on device 255 ping
2024-08-22 15:15:40,493,493  WARNING [SolaarListener:hidraw1] logitech_receiver.base: (20) timeout (4.00/4.00) on device 255 ping
2024-08-22 15:15:44,498,498  WARNING [MainThread] logitech_receiver.base: (24) timeout (4.00/4.00) on device 255 ping

Describe the bug
My MX Keys S keyboard does not appear in the UI nor does it appear in sonaar show. The keyboard is connected via bluetooth.

To Reproduce
Steps to reproduce the behavior:

  1. Connect an MX Keys S keyboard via bluetooth
  2. Open Solaar or run solaar show
  3. Verify the keyboard does not appear

Screenshots
image

Additional context
None

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions