Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S Solaar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pwr-Solaar
  • Solaar
  • Issues
  • #1592
Closed
Open
Issue created Apr 29, 2022 by Administrator@rootContributor

K600 keyboard natural scrolling and persistent key/button mapping issue

Created by: reaganch

Information

  • Solaar version (solaar --version or git describe --tags if cloned from this repository): solaar 1.1.3rc2
  • Distribution: Linux Mint 20.3 Cinnamon
  • Kernel version (ex. uname -srmo): Linux 5.16.15-051615-generic x86_64 GNU/Linux
  • Output of solaar show:
Solaar version 1.1.3rc2

Unifying Receiver
  Device path  : /dev/hidraw0
  USB id       : 046d:C52B
  Serial       : 6FF69CDA
    Firmware   : 24.11.B0036
    Bootloader : 02.09
    Other      : AA.E5
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=62

  1: Keyboard K600 TV
     Device path  : /dev/hidraw2
     WPID         : 4078
     Codename     : K600 TV
     Kind         : keyboard
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: F8F15AC0
     Model ID:      B35340780000
     Unit ID:       A9996F5C
        Bootloader: BOT 73.01.B0017
          Firmware: MPK 08.01.B0017
             Other: 
             Other: 
     Supports 36 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Bootloader BOT 73.01.B0017 0000663D98BD
            Firmware: Firmware MPK 08.01.B0017 4078663D98BD
            Firmware: Other   
            Firmware: Other   
            Unit ID: A9996F5C  Model ID: B35340780000  Transport IDs: {'btleid': 'B353', 'wpid': '4078'}
         3: DEVICE NAME            {0005}   
            Name: Keyboard K600 TV
            Kind: keyboard
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: DEVICE FRIENDLY NAME   {0007}   
            Friendly Name: Keyboard K600 T
         7: BATTERY STATUS         {1000}   
            Battery: 90%, discharging, next level 50%.
         8: REPROG CONTROLS V4     {1B04}   
            Key/Button Diversion (saved): {Fn Left Click:Regular, Multiplatform App Switch:Regular, Multiplatform Back:Regular, Multiplatform Insert:Regular, Brightness Down:Regular, Brightness Up:Regular, Host Switch Channel 1:Regular, Host Switch Channel 2:Regular, Host Switch Channel 3:Regular, MultiPlatform Search:Regular, MultiPlatform Home/Mission Control:Regular, MultiPlatform Menu/Show/Hide Virtual Keyboard/Launchpad:Regular, Previous Fn:Regular, Play/Pause Fn:Regular, Next Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular}
            Key/Button Diversion        : {Fn Left Click:Regular, Multiplatform App Switch:Regular, Multiplatform Back:Regular, Multiplatform Insert:Regular, Brightness Down:Regular, Brightness Up:Regular, Host Switch Channel 1:Regular, Host Switch Channel 2:Regular, Host Switch Channel 3:Regular, MultiPlatform Search:Regular, MultiPlatform Home/Mission Control:Regular, MultiPlatform Menu/Show/Hide Virtual Keyboard/Launchpad:Regular, Previous Fn:Regular, Play/Pause Fn:Regular, Next Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular}
         9: PERSISTENT REMAPPABLE ACTION {1C00}   
solaar: assertion failed: /usr/share/solaar/lib/logitech_receiver/settings.py line 1035
  • Contents of ~/.config/solaar/config.yaml:
- 1.1.3rc2
- _NAME: Keyboard K600 TV
  _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, smart-shift, thumb-scroll-mode, thumb-scroll-invert,
    onboard_profiles, report_rate, pointer_speed, dpi, dpi-sliding, speed-change, mouse-gestures, backlight, backlight-timed, reprogrammable-keys, divert-crown,
    crown-smooth, divert-gkeys, m-key-leds, mr-key-led]
  _modelId: B35340780000
  _sensitive: {fn-swap: false, gesture2-gestures: false}
  _serial: F8F15AC0
  _unitId: A9996F5C
  _wpid: '4078'
  disable-keyboard-keys: {1: false, 8: false, 16: false}
  divert-keys: {183: 0, 186: 0, 189: 0, 190: 0, 199: 0, 200: 0, 209: 0, 210: 0, 211: 0, 212: 0, 213: 0, 214: 0, 228: 0, 229: 0, 230: 0, 231: 0, 232: 0,
    233: 0}
  fn-swap: false
  gesture2-divert: {1: false, 2: false, 4: false, 5: false, 10: false, 44: false, 84: false, 85: false, 100: false}
  gesture2-gestures: {1: true, 2: true, 4: true, 5: true, 10: true, 30: true, 34: false, 42: true, 43: true, 45: true, 84: false}
  gesture2-params:
    4: {scale: 256}
  multiplatform: 3
  • Errors or warrnings from Solaar:
11:23:31,332     INFO [MainThread] root: language en_NZ (UTF-8), translations path None
11:23:31,407     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
11:23:31,414     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
11:23:31,428     INFO [MainThread] solaar.ui.notify: starting desktop notifications
11:23:31,450     INFO [MainThread] solaar.listener: starting receiver listening threads
11:23:31,451     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)
11:23:31,451     INFO [MainThread] logitech_receiver.base: New lock 12
11:23:31,459     INFO [ReceiverListener:hidraw0] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw0,12)> (12)
11:23:31,459     INFO [ReceiverListener:hidraw0] solaar.listener: <UnifyingReceiver(/dev/hidraw0,12)>: notifications listener has started (12)
11:23:31,459     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw0)>
11:23:31,463     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw0,12)>: receiver notifications enabled => ('wireless', 'software present')
11:23:31,467     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw0,12)>: present, No paired devices. (0) 
11:23:31,481     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw0,12)>: found new device 1 (4078)
11:23:31,481     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock 15
11:23:31,481     INFO [ReceiverListener:hidraw0] solaar.listener: connection Notification(10,1,41,04,B17840) for <Device(1,4078,Keyboard K600 TV,F8F15AC0)> (keyboard)
11:23:31,926     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw0,12)>: present, 1 paired device. (0) 
11:23:32,044     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(1,4078,Keyboard K600 TV,F8F15AC0)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 90, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
11:23:32,163     INFO [ReceiverListener:hidraw0] logitech_receiver.device: <Device(1,4078,Keyboard K600 TV,F8F15AC0)>: unitId A9996F5C does not match serial F8F15AC0
11:23:33,816     INFO [ReceiverListener:hidraw0] logitech_receiver.status: <Device(1,4078,Keyboard K600 TV,F8F15AC0)> pushing device settings [<Setting([feature:toggle] K600 TV:fn-swap=None)>, <Setting([feature:map choice] K600 TV:persistent-remappable-keys=None)>, <Setting([feature:map choice] K600 TV:divert-keys=None)>, <Setting([feature:multiple toggle] K600 TV:disable-keyboard-keys=None)>, <Setting([feature:choice] K600 TV:multiplatform=None)>, <Setting([feature:choice] K600 TV:change-host=None)>, <Setting([feature:multiple toggle] K600 TV:gesture2-gestures=None)>, <Setting([feature:multiple toggle] K600 TV:gesture2-divert=None)>, <Setting([feature:multiple range] K600 TV:gesture2-params=None)>]
11:23:33,836    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(10,1,41,04,B17840)
Traceback (most recent call last):
  File "/usr/share/solaar/lib/logitech_receiver/listener.py", line 188, in run
    self._notifications_callback(n)
  File "/usr/share/solaar/lib/solaar/listener.py", line 264, in _notifications_handler
    _notifications.process(dev, n)
  File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 60, in process
    return _process_device_notification(device, status, notification)
  File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 178, in _process_device_notification
    return _process_hidpp10_notification(device, status, n)
  File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 288, in _process_hidpp10_notification
    status.changed(active=link_established)
  File "/usr/share/solaar/lib/logitech_receiver/status.py", line 311, in changed
    _settings.apply_all_settings(d)
  File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 1305, in apply_all_settings
    s.apply()
  File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 334, in apply
    value = self.read(self.persist)  # Don't use persisted value if setting doesn't persist
  File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 372, in read
    reply_map[int(key)] = self._validator.validate_read(reply, key)
  File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 1035, in validate_read
    assert reply_value in self.choices[
AssertionError: validator_class: failed to validate read value 01
11:23:33,842     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(1,4078,Keyboard K600 TV,F8F15AC0)>: spurious BATTERY status Notification(11,1,07,10,0400C16D0A0000000000000000000000)

Describe the bug

  1. Upon enabling Gestures -> Natural scrolling, the natural scrolling feature of the touchpad is enabled as expected. Upon rebooting, however, the natural scrolling feature is disabled. Cycling the lock icon next to Gestures to Ignore this setting -> Changes allowed -> No changes allowed enables this feature.
  2. A continuous circular rotating icon is observed next to the Persistent Key/Button Mapping option, with hover text "Working..." and it is not possible to use this feature at all.

To Reproduce Steps to reproduce the behavior:

  1. Natural scrolling issue
    1. Open Solaar
    2. Enable Gestures -> Natural scrolling
    3. Reboot computer
    4. Natural scrolling feature appears to be disabled
  2. Persistent Key/Button Mapping issue
    1. Open Solaar
    2. Observe continuous circular rotating icon next to option, with hover text "Working..."

Screenshots If applicable, add screenshots to help explain your problem.

Screenshot from 2022-04-30 11-33-49

Additional context Seems to be related to #1519 (closed) and #1102 (closed)

Assignee
Assign to
Time tracking