Repository: pwr-Solaar/Solaar

Issue:
Error messages about gestures and reprogrammable keys
As requested in https://github.com/pwr-Solaar/Solaar/pull/1643#issuecomment-1176581263:

I don't know if this is a relevant issue, but I found some error messages in the output of `solaar show` when I was testing #1643.

- Solaar version (`solaar --version` or `git describe --tags` if cloned from this repository): 1.1.4 (20ffb31e1dcdc04e1b4e3f636b1172e9d5a1e446)
- Distribution: Linux Mint 
- Kernel version (ex. `uname -srmo`): `Linux 5.4.0-110-generic x86_64 GNU/Linux`
- Output of `solaar -ddd show`:

<details>

```
23:15:44,541    DEBUG [MainThread] hidapi.udev: Found device BID 0003 VID 0000046D PID 0000C52B INTERFACE 2 FILTER 2
23:15:44,542     INFO [MainThread] logitech_receiver.base: New lock 3
23:15:44,542    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 83B5 030000]
23:15:44,544    DEBUG [MainThread] logitech_receiver.base: (3) => r[11 FF 83B5 03BE57977A05060C0000000000000000]
23:15:44,544    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 80B2 000000]
23:15:44,546    DEBUG [MainThread] logitech_receiver.base: (3) => r[20 01 4101 4D401E4000000400000000]
23:15:44,548    DEBUG [MainThread] logitech_receiver.base: (3) => r[20 00 4102 0000000000000000000000]
23:15:44,550    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8F80 B20300]
23:15:44,550    DEBUG [MainThread] logitech_receiver.base: (3) device 0xFF error on request {80B2}: 3 = invalid value
23:15:44,550    DEBUG [MainThread] solaar.cli: [/dev/hidraw1] => <UnifyingReceiver(/dev/hidraw1,3)>
23:15:44,558    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 8102 000000]
23:15:44,560    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8102 000100]
23:15:44,560    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 81F1 010000]
23:15:44,562    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 81F1 012411]
23:15:44,562    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 81F1 020000]
23:15:44,564    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 81F1 020036]
23:15:44,564    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 81F1 040000]
23:15:44,566    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 81F1 040209]
23:15:44,566    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 81F1 030000]
23:15:44,568    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 81F1 03AAAC]
23:15:44,568    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 8102 000000]
23:15:44,570    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8102 000100]
23:15:44,570    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 8100 000000]
23:15:44,572    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8100 000900]
23:15:44,572    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 83B3 000000]
23:15:44,574    DEBUG [MainThread] logitech_receiver.base: (3) => r[11 FF 83B3 B7000000000000000000000000000000]
23:15:44,574    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 8102 000000]
23:15:44,576    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8102 000100]
23:15:44,584    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 83B5 200000]
23:15:44,586    DEBUG [MainThread] logitech_receiver.base: (3) => r[11 FF 83B5 200C08404D0402014700000000000000]
23:15:44,586     INFO [MainThread] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw1,3)>: found new device 1 (404D)
23:15:44,586    DEBUG [MainThread] logitech_receiver.base: (4) pinging device 1
23:15:44,586     INFO [MainThread] logitech_receiver.base: New lock 4
23:15:44,586    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 001D 00001E00000000000000000000000000]
23:15:44,612    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 001D 04011E00000000000000000000000000]
23:15:44,612    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00010000000000000000000000000000]
23:15:44,632    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 01000100000000000000000000000000]
23:15:44,632    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 010A 00000000000000000000000000000000]
23:15:44,652    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 010A 17000000000000000000000000000000]
23:15:44,652    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 80600000000000000000000000000000]
23:15:44,672    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 00000000000000000000000000000000]
23:15:44,672    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 83B5 300000]
23:15:44,676    DEBUG [MainThread] logitech_receiver.base: (3) => r[11 FF 83B5 306DC5C81C1E40000009000000000000]
23:15:44,676    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 00030000000000000000000000000000]
23:15:44,776    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 02000100000000000000000000000000]
23:15:44,776    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020F 00000000000000000000000000000000]
23:15:44,796    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020F 03641487CF0004404D00000000000000]
23:15:44,796     INFO [MainThread] logitech_receiver.device: <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>: unitId 641487CF does not match serial 6DC5C81C
23:15:44,797    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0208 00000000000000000000000000000000]
23:15:44,816    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0208 03641487CF0004404D00000000000000]
23:15:44,816    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021D 00000000000000000000000000000000]
23:15:44,838    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021D 01424F542202000200404D6217AD4000]
23:15:44,838    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021D 01000000000000000000000000000000]
23:15:44,858    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021D 0052514B6302001601404D6217AD4000]
23:15:44,858    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021A 02000000000000000000000000000000]
23:15:44,878    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021A 03415A51020000190000000000000000]
23:15:44,897    DEBUG [MainThread] solaar.configuration: load => ['1.1.4', {'_NAME': 'Wireless Touch Keyboard K400 Plus', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'onboard_profiles', 'report_rate', 'pointer_speed', 'dpi', 'dpi-sliding', 'speed-change', 'mouse-gestures', 'backlight', 'backlight-timed', 'reprogrammable-keys', 'persistent-remappable-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'sidetone', 'equalizer'], '_modelId': '404D00000000', '_serial': '6DC5C81C', '_unitId': '641487CF', '_wpid': '404D', 'disable-keyboard-keys': {1: False, 4: False, 8: False, 16: False}, 'divert-keys': {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 8: 0, 34: 0, 40: 0, 62: 0, 64: 0, 79: 0, 84: 0, 110: 0, 145: 0, 149: 0, 183: 0, 184: 0}, 'fn-swap': True, 'gesture2-divert': {1: False, 2: False, 10: False, 44: False, 64: False, 65: False, 67: False, 84: False, 85: False, 100: False}, 'gesture2-gestures': {1: True, 2: True, 10: True, 30: True, 34: False, 42: True, 43: True, 45: False, 64: False, 65: False, 67: False, 84: True}, 'gesture2-params': {4: {'scale': 256}}}]
23:15:44,898    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 40A00000000000000000000000000000]
23:15:44,978    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
23:15:44,978    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 40A20000000000000000000000000000]
23:15:44,998    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 09000000000000000000000000000000]
23:15:44,998    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature fn-swap [NEW FN INVERSION] detected <Setting([feature:toggle] K400 Plus:fn-swap=None)>
23:15:44,998    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 1B040000000000000000000000000000]
23:15:45,018    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 07000000000000000000000000000000]
23:15:45,018    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 1B010000000000000000000000000000]
23:15:45,038    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000000000000000000000000000000]
23:15:45,038    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 070A 00000000000000000000000000000000]
23:15:45,058    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 070A 14000000000000000000000000000000]
23:15:45,058    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071B 00000000000000000000000000000000]
23:15:45,084    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071B 00B80038210000000000000000000000]
23:15:45,084    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0718 01000000000000000000000000000000]
23:15:45,104    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0718 0054003C3A0100000000000000000000]
23:15:45,104    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071B 02000000000000000000000000000000]
23:15:45,124    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071B 0022001A3A0200000000000000000000]
23:15:45,124    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071E 03000000000000000000000000000000]
23:15:45,144    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071E 000800083A0300000000000000000000]
23:15:45,144    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071C 04000000000000000000000000000000]
23:15:45,164    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071C 004F00393A0400000000000000000000]
23:15:45,164    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071A 05000000000000000000000000000000]
23:15:45,184    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071A 003E002D3A0500000000000000000000]
23:15:45,184    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0719 06000000000000000000000000000000]
23:15:45,204    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0719 006E00433A0600000000000000000000]
23:15:45,204    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071A 07000000000000000000000000000000]
23:15:45,224    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071A 009100953A0700000000000000000000]
23:15:45,224    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071E 08000000000000000000000000000000]
23:15:45,244    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071E 009500933A0800000000000000000000]
23:15:45,244    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071C 09000000000000000000000000000000]
23:15:45,264    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071C 0028001D3A0900000000000000000000]
23:15:45,264    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071B 0A000000000000000000000000000000]
23:15:45,286    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071B 000600062A0A00000000000000000000]
23:15:45,286    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0718 0B000000000000000000000000000000]
23:15:45,306    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0718 000400042A0B00000000000000000000]
23:15:45,306    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071E 0C000000000000000000000000000000]
23:15:45,326    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071E 000500052A0C00000000000000000000]
23:15:45,326    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071A 0D000000000000000000000000000000]
23:15:45,346    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071A 00B70092200000000000000000000000]
23:15:45,346    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071D 0E000000000000000000000000000000]
23:15:45,366    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071D 00500038010000000000000000000000]
23:15:45,366    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071D 0F000000000000000000000000000000]
23:15:45,390    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071D 00510039010000000000000000000000]
23:15:45,390    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071C 10000000000000000000000000000000]
23:15:45,410    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071C 00030003240000000000000000000000]
23:15:45,410    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071A 11000000000000000000000000000000]
23:15:45,430    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071A 00010001240000000000000000000000]
23:15:45,430    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0718 12000000000000000000000000000000]
23:15:45,450    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0718 00020002240000000000000000000000]
23:15:45,450    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 071B 13000000000000000000000000000000]
23:15:45,470    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 071B 0040002F300000000000000000000000]
23:15:45,470    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature divert-keys [REPROG CONTROLS V4] detected <Setting([feature:map choice] K400 Plus:divert-keys=None)>
23:15:45,471    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 45210000000000000000000000000000]
23:15:45,492    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 0B000000000000000000000000000000]
23:15:45,492    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B08 00000000000000000000000000000000]
23:15:45,512    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B08 1D000000000000000000000000000000]
23:15:45,512    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature disable-keyboard-keys [KEYBOARD DISABLE KEYS] detected <Setting([feature:multiple toggle] K400 Plus:disable-keyboard-keys=None)>
23:15:45,513    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 65010000000000000000000000000000]
23:15:45,532    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 0D000000000000000000000000000000]
23:15:45,532    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D09 00000000000000000000000000000000]
23:15:45,552    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D09 4203410141020400320480148C21A301]
23:15:45,552    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D09 00080000000000000000000000000000]
23:15:45,572    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D09 A302A11EA30A4105822C852DAD2AAD2B]
23:15:45,572    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D0F 00100000000000000000000000000000]
23:15:45,592    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D0F 8F408F418F434204AF54912282558264]
23:15:45,592    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D0C 00180000000000000000000000000000]
23:15:45,612    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D0C 01000000000000000000000000000000]
23:15:45,612    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature gesture2-gestures [GESTURE 2] detected <Setting([feature:multiple toggle] K400 Plus:gesture2-gestures=None)>
23:15:45,613    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature gesture2-divert [GESTURE 2] detected <Setting([feature:multiple toggle] K400 Plus:gesture2-divert=None)>
23:15:45,613    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature gesture2-params [GESTURE 2] detected <Setting([feature:multiple range] K400 Plus:gesture2-params=None)>
23:15:45,614    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 00000000000000000000000000000000]
23:15:45,632    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000100000000000000000000000000]
23:15:45,632    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00010000000000000000000000000000]
23:15:45,652    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 01000100000000000000000000000000]
23:15:45,652    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00030000000000000000000000000000]
23:15:45,672    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 02000100000000000000000000000000]
23:15:45,672    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020C 00000000000000000000000000000000]
23:15:45,696    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020C 03641487CF0004404D00000000000000]
23:15:45,696    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021B 00000000000000000000000000000000]
23:15:45,718    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021B 01424F542202000200404D6217AD4000]
23:15:45,718    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021C 01000000000000000000000000000000]
23:15:45,738    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021C 0052514B6302001601404D6217AD4000]
23:15:45,738    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021E 02000000000000000000000000000000]
23:15:45,758    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021E 03415A51020000190000000000000000]
23:15:45,758    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020D 00000000000000000000000000000000]
23:15:45,778    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020D 03641487CF0004404D00000000000000]
23:15:45,778    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 03000000000000000000000000000000]
23:15:45,798    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 00050000000000000000000000000000]
23:15:45,798    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 00050000000000000000000000000000]
23:15:45,818    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 03000000000000000000000000000000]
23:15:45,818    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0308 00000000000000000000000000000000]
23:15:45,838    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0308 21000000000000000000000000000000]
23:15:45,838    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031C 00000000000000000000000000000000]
23:15:45,858    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031C 576972656C65737320546F756368204B]
23:15:45,858    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031C 10000000000000000000000000000000]
23:15:45,878    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031C 6579626F617264204B34303020506C75]
23:15:45,878    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031C 20000000000000000000000000000000]
23:15:45,898    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031C 73000000000000000000000000000000]
23:15:45,898    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0328 00000000000000000000000000000000]
23:15:45,918    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0328 00000000000000000000000000000000]
23:15:45,918    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 04000000000000000000000000000000]
23:15:45,940    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 1D4B0000000000000000000000000000]
23:15:45,940    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1D4B0000000000000000000000000000]
23:15:45,960    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 04000000000000000000000000000000]
23:15:45,960    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 05000000000000000000000000000000]
23:15:45,980    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 00200000000000000000000000000000]
23:15:45,980    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00200000000000000000000000000000]
23:15:46,000    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 05000000000000000000000000000000]
23:15:46,000    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 06000000000000000000000000000000]
23:15:46,020    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 10000000000000000000000000000000]
23:15:46,020    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 10000000000000000000000000000000]
23:15:46,040    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 06000000000000000000000000000000]
23:15:46,040    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 060D 00000000000000000000000000000000]
23:15:46,060    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 060D 5A320000000000000000000000000000]
23:15:46,060    DEBUG [MainThread] logitech_receiver.hidpp20: device 1 battery 90% charged, next 50%, status discharging
23:15:46,061    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1B040000000000000000000000000000]
23:15:46,080    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 07000000000000000000000000000000]
23:15:46,081    DEBUG [MainThread] logitech_receiver.settings: divert-keys: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,081    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0729 00B80000000000000000000000000000]
23:15:46,100    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0729 00B80000000000000000000000000000]
23:15:46,100    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0729 00540000000000000000000000000000]
23:15:46,120    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0729 00540000000000000000000000000000]
23:15:46,120    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072D 00220000000000000000000000000000]
23:15:46,142    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072D 00220000000000000000000000000000]
23:15:46,142    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072D 00080000000000000000000000000000]
23:15:46,162    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072D 00080000000000000000000000000000]
23:15:46,162    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072F 004F0000000000000000000000000000]
23:15:46,182    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072F 004F0000000000000000000000000000]
23:15:46,182    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072E 003E0000000000000000000000000000]
23:15:46,202    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072E 003E0000000000000000000000000000]
23:15:46,202    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072D 006E0000000000000000000000000000]
23:15:46,222    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072D 006E0000000000000000000000000000]
23:15:46,222    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0729 00910000000000000000000000000000]
23:15:46,242    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0729 00910000000000000000000000000000]
23:15:46,242    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072B 00950000000000000000000000000000]
23:15:46,262    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072B 00950000000000000000000000000000]
23:15:46,263    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072F 00280000000000000000000000000000]
23:15:46,282    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072F 00280000000000000000000000000000]
23:15:46,282    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072F 00060000000000000000000000000000]
23:15:46,302    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072F 00060000000000000000000000000000]
23:15:46,302    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072B 00040000000000000000000000000000]
23:15:46,322    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072B 00040000000000000000000000000000]
23:15:46,323    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072E 00050000000000000000000000000000]
23:15:46,342    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072E 00050000000000000000000000000000]
23:15:46,342    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072E 00B70000000000000000000000000000]
23:15:46,364    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072E 00B70000000000000000000000000000]
23:15:46,364    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072A 00030000000000000000000000000000]
23:15:46,384    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072A 00030000000000000000000000000000]
23:15:46,385    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072F 00010000000000000000000000000000]
23:15:46,404    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072F 00010000000000000000000000000000]
23:15:46,404    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072B 00020000000000000000000000000000]
23:15:46,424    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072B 00020000000000000000000000000000]
23:15:46,425    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072F 00400000000000000000000000000000]
23:15:46,444    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 072F 00400000000000000000000000000000]
23:15:46,445    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 08000000000000000000000000000000]
23:15:46,464    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 20050000000000000000000000000000]
23:15:46,464    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 20050000000000000000000000000000]
23:15:46,484    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 08000000000000000000000000000000]
23:15:46,484    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 40A20000000000000000000000000000]
23:15:46,504    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 09000000000000000000000000000000]
23:15:46,504    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 090C 00000000000000000000000000000000]
23:15:46,524    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 090C 01010000000000000000000000000000]
23:15:46,524    DEBUG [MainThread] logitech_receiver.settings: fn-swap: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,525    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 090D 00000000000000000000000000000000]
23:15:46,544    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 090D 01010000000000000000000000000000]
23:15:46,544    DEBUG [MainThread] logitech_receiver.settings: BooleanValidator: validate read b'\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' => 01
23:15:46,545    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 0A000000000000000000000000000000]
23:15:46,564    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 41000000000000000000000000000000]
23:15:46,564    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 41000000000000000000000000000000]
23:15:46,586    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0A000000000000000000000000000000]
23:15:46,586    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 45210000000000000000000000000000]
23:15:46,606    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 0B000000000000000000000000000000]
23:15:46,606    DEBUG [MainThread] logitech_receiver.settings: disable-keyboard-keys: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,607    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B18 00000000000000000000000000000000]
23:15:46,626    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B18 00000000000000000000000000000000]
23:15:46,627    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 0C000000000000000000000000000000]
23:15:46,646    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 61000000000000000000000000000000]
23:15:46,646    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 61000000000000000000000000000000]
23:15:46,666    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0C000000000000000000000000000000]
23:15:46,666    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 65010000000000000000000000000000]
23:15:46,686    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 0D000000000000000000000000000000]
23:15:46,686    DEBUG [MainThread] logitech_receiver.settings: gesture2-gestures: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,687    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1C 0001FF00000000000000000000000000]
23:15:46,708    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1C 6F000000000000000000000000000000]
23:15:46,708    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1B 01010F00000000000000000000000000]
23:15:46,726    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1B 04000000000000000000000000000000]
23:15:46,726    DEBUG [MainThread] logitech_receiver.settings: gesture2-divert: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,727    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3F 0001FF00000000000000000000000000]
23:15:46,746    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3F 00000000000000000000000000000000]
23:15:46,746    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3B 01010300000000000000000000000000]
23:15:46,766    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3B 00000000000000000000000000000000]
23:15:46,766    DEBUG [MainThread] logitech_receiver.settings: gesture2-params: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>
23:15:46,767    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D7F 00FF0000000000000000000000000000]
23:15:46,786    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D7F 01000000000000000000000000000000]
23:15:46,786    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 0E000000000000000000000000000000]
23:15:46,810    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 00C10000000000000000000000000000]
23:15:46,810    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 00C10000000000000000000000000000]
23:15:46,828    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 0E000000000000000000000000000000]
23:15:46,829    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 0F000000000000000000000000000000]
23:15:46,848    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18116000000000000000000000000000]
23:15:46,848    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18110000000000000000000000000000]
23:15:46,868    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 0F600000000000000000000000000000]
23:15:46,868    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 10000000000000000000000000000000]
23:15:46,888    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18306000000000000000000000000000]
23:15:46,888    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 18300000000000000000000000000000]
23:15:46,908    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 10600000000000000000000000000000]
23:15:46,908    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 11000000000000000000000000000000]
23:15:46,928    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 18906000000000000000000000000000]
23:15:46,928    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18900000000000000000000000000000]
23:15:46,948    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 11600000000000000000000000000000]
23:15:46,948    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 12000000000000000000000000000000]
23:15:46,968    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 1DF36000000000000000000000000000]
23:15:46,968    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1DF30000000000000000000000000000]
23:15:46,988    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 12600000000000000000000000000000]
23:15:46,988    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 13000000000000000000000000000000]
23:15:47,010    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 1E004000000000000000000000000000]
23:15:47,010    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 1E000000000000000000000000000000]
23:15:47,030    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 13400000000000000000000000000000]
23:15:47,030    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 14000000000000000000000000000000]
23:15:47,050    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 1EB06000000000000000000000000000]
23:15:47,050    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 1EB00000000000000000000000000000]
23:15:47,070    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 14600000000000000000000000000000]
23:15:47,070    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 15000000000000000000000000000000]
23:15:47,090    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18616000000000000000000000000000]
23:15:47,090    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18610000000000000000000000000000]
23:15:47,110    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 15600000000000000000000000000000]
23:15:47,110    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 16000000000000000000000000000000]
23:15:47,130    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 18B06000000000000000000000000000]
23:15:47,130    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 18B00000000000000000000000000000]
23:15:47,150    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 16600000000000000000000000000000]
23:15:47,152    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072D 00500000000000000000000000000000]
23:15:47,170    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 FF07 2D020000000000000000000000000000]
23:15:47,170    ERROR [MainThread] logitech_receiver.base: (4) device 1 error on feature request {072D}: 2 = invalid argument
23:15:47,170    ERROR [MainThread] logitech_receiver.hidpp20: Exception in _getCidReporting on device <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>: 
Traceback (most recent call last):
  File "/var/tmp/Solaar/lib/logitech_receiver/hidpp20.py", line 431, in _getCidReporting
    mapped_data = feature_request(self._device, FEATURE.REPROG_CONTROLS_V4, 0x20, *tuple(_pack('!H', self._cid)))
  File "/var/tmp/Solaar/lib/logitech_receiver/hidpp20.py", line 1106, in feature_request
    return device.request((feature_index << 8) + (function & 0xFF), *params, no_reply=no_reply)
  File "/var/tmp/Solaar/lib/logitech_receiver/device.py", line 400, in request
    return _base.request(
  File "/var/tmp/Solaar/lib/logitech_receiver/base.py", line 456, in request
    raise _hidpp20.FeatureCallError(number=devnumber, request=request_id, error=error, params=params)
logitech_receiver.hidpp20.FeatureCallError: {'number': 1, 'request': 1837, 'error': 2, 'params': b'\x00P'}
23:15:47,173    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 072E 00510000000000000000000000000000]
23:15:47,190    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 FF07 2E020000000000000000000000000000]
23:15:47,190    ERROR [MainThread] logitech_receiver.base: (4) device 1 error on feature request {072E}: 2 = invalid argument
23:15:47,190    ERROR [MainThread] logitech_receiver.hidpp20: Exception in _getCidReporting on device <Device(1,404D,Wireless Touch Keyboard K400 Plus,6DC5C81C)>: 
Traceback (most recent call last):
  File "/var/tmp/Solaar/lib/logitech_receiver/hidpp20.py", line 431, in _getCidReporting
    mapped_data = feature_request(self._device, FEATURE.REPROG_CONTROLS_V4, 0x20, *tuple(_pack('!H', self._cid)))
  File "/var/tmp/Solaar/lib/logitech_receiver/hidpp20.py", line 1106, in feature_request
    return device.request((feature_index << 8) + (function & 0xFF), *params, no_reply=no_reply)
  File "/var/tmp/Solaar/lib/logitech_receiver/device.py", line 400, in request
    return _base.request(
  File "/var/tmp/Solaar/lib/logitech_receiver/base.py", line 456, in request
    raise _hidpp20.FeatureCallError(number=devnumber, request=request_id, error=error, params=params)
logitech_receiver.hidpp20.FeatureCallError: {'number': 1, 'request': 1838, 'error': 2, 'params': b'\x00Q'}
Solaar version 1.1.4

Unifying Receiver
  Device path  : /dev/hidraw1
  USB id       : 046d:C52B
  Serial       : BE57977A
    Firmware   : 24.11.B0036
    Bootloader : 02.09
    Other      : AA.AC
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=183

  1: Wireless Touch Keyboard K400 Plus
     Device path  : /dev/hidraw2
     WPID         : 404D
     Codename     : K400 Plus
     Kind         : keyboard
     Protocol     : HID++ 4.1
     Polling rate : 8 ms (125Hz)
     Serial number: 6DC5C81C
     Model ID:      404D00000000
     Unit ID:       641487CF
        Bootloader: BOT 22.02.B0002
          Firmware: RQK 63.02.B0016
             Other: 
     The power switch is located on the top edge.
     Supports 23 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Bootloader BOT 22.02.B0002 404D6217AD40
            Firmware: Firmware RQK 63.02.B0016 404D6217AD40
            Firmware: Other   
            Unit ID: 641487CF  Model ID: 404D00000000  Transport IDs: {'wpid': '404D'}
         3: DEVICE NAME            {0005}   
            Name: Wireless Touch Keyboard K400 Plus
            Kind: keyboard
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: BATTERY STATUS         {1000}   
            Battery: 90%, discharging, next level 50%.
         7: REPROG CONTROLS V4     {1B04}   
            Key/Button Diversion (saved): {Volume Up:Regular, Volume Down:Regular, Mute:Regular, Play/Pause:Regular, Next:Regular, Previous:Regular, Application Switcher:Regular, My Home:Regular, Media Player:Regular, Search:Regular, Sleep:Regular, Contextual Menu:Regular, Back:Regular, Show Desktop:Regular, Maximize Window:Regular, Switch Screen:Regular, Fn Left Click:Regular, Second Left Click:Regular}
            Key/Button Diversion        : {Volume Up:Regular, Volume Down:Regular, Mute:Regular, Play/Pause:Regular, Next:Regular, Previous:Regular, Application Switcher:Regular, My Home:Regular, Media Player:Regular, Search:Regular, Sleep:Regular, Contextual Menu:Regular, Back:Regular, Show Desktop:Regular, Maximize Window:Regular, Switch Screen:Regular, Fn Left Click:Regular, Second Left Click:Regular}
         8: SWAP BUTTON CANCEL     {2005}   
         9: NEW FN INVERSION       {40A2}   
            Fn-swap: enabled
            Fn-swap default: enabled
            Swap Fx function (saved): True
            Swap Fx function        : True
        10: ENCRYPTION             {4100}   
        11: KEYBOARD DISABLE KEYS  {4521}   
            Disable keys (saved): {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False}
            Disable keys        : {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False}
        12: TOUCHPAD RAW XY        {6100}   
        13: GESTURE 2              {6501}   
            Gestures (saved): {1: True, 2: True, 10: True, 30: True, 34: False, 42: True, 43: True, 45: False, 64: False, 65: False, 67: False, 84: True}
            Gestures        : {1: True, 2: True, 30: True, 10: True, 45: False, 42: True, 43: True, 64: False, 65: False, 67: False, 84: True, 34: False}
            Gestures Diversion (saved): {1: False, 2: False, 10: False, 44: False, 64: False, 65: False, 67: False, 84: False, 85: False, 100: False}
            Gestures Diversion        : {1: False, 2: False, 10: False, 44: False, 64: False, 65: False, 67: False, 84: False, 85: False, 100: False}
            Gesture params (saved): {4: {'scale': 256}}
            Gesture params        : {4: {'scale': 256}}
        14: DFUCONTROL UNSIGNED    {00C1}   
        15: unknown:1811           {1811}   internal, hidden
        16: unknown:1830           {1830}   internal, hidden
        17: unknown:1890           {1890}   internal, hidden
        18: unknown:1DF3           {1DF3}   internal, hidden
        19: unknown:1E00           {1E00}   hidden
        20: unknown:1EB0           {1EB0}   internal, hidden
        21: unknown:1861           {1861}   internal, hidden
        22: unknown:18B0           {18B0}   internal, hidden
     Has 20 reprogrammable keys:
         0: Second Left Click         , default: Left Click                  => Left Click                
             mse, divertable, pos:0, group:0, group mask:empty
             reporting: default
         1: Back                      , default: Mouse Back Button           => Mouse Back Button         
             is FN, FN sensitive, reprogrammable, divertable, pos:1, group:0, group mask:empty
             reporting: default
         2: My Home                   , default: HomePage                    => HomePage                  
             is FN, FN sensitive, reprogrammable, divertable, pos:2, group:0, group mask:empty
             reporting: default
         3: Application Switcher      , default: Application Switcher        => Application Switcher      
             is FN, FN sensitive, reprogrammable, divertable, pos:3, group:0, group mask:empty
             reporting: default
         4: Contextual Menu           , default: Right Click                 => Right Click               
             is FN, FN sensitive, reprogrammable, divertable, pos:4, group:0, group mask:empty
             reporting: default
         5: Search                    , default: Search Files                => Search Files              
             is FN, FN sensitive, reprogrammable, divertable, pos:5, group:0, group mask:empty
             reporting: default
         6: Show Desktop              , default: Show Desktop                => Show Desktop              
             is FN, FN sensitive, reprogrammable, divertable, pos:6, group:0, group mask:empty
             reporting: default
         7: Maximize Window           , default: Maximize Window             => Maximize Window           
             is FN, FN sensitive, reprogrammable, divertable, pos:7, group:0, group mask:empty
             reporting: default
         8: Switch Screen             , default: Switch Presentation/Switch Screen => Switch Presentation/Switch Screen
             is FN, FN sensitive, reprogrammable, divertable, pos:8, group:0, group mask:empty
             reporting: default
         9: Media Player              , default: Music                       => Music                     
             is FN, FN sensitive, reprogrammable, divertable, pos:9, group:0, group mask:empty
             reporting: default
        10: Previous                  , default: Previous                    => Previous                  
             is FN, FN sensitive, divertable, pos:10, group:0, group mask:empty
             reporting: default
        11: Play/Pause                , default: Play/Pause                  => Play/Pause                
             is FN, FN sensitive, divertable, pos:11, group:0, group mask:empty
             reporting: default
        12: Next                      , default: Next                        => Next                      
             is FN, FN sensitive, divertable, pos:12, group:0, group mask:empty
             reporting: default
        13: Fn Left Click             , default: ShowUI                      => ShowUI                    
             divertable, pos:0, group:0, group mask:empty
             reporting: default
        14: Left Button               , default: Left Click                  => Left Click                
             mse, pos:0, group:0, group mask:empty
             reporting: default
        15: Right Button              , default: Right Click                 => Right Click               
             mse, pos:0, group:0, group mask:empty
             reporting: default
        16: Mute                      , default: Mute                        => Mute                      
             nonstandard, divertable, pos:0, group:0, group mask:empty
             reporting: default
        17: Volume Up                 , default: Volume Up                   => Volume Up                 
23:15:47,192    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 1C000000000000000000000000000000]
23:15:47,210    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 00000000000000000000000000000000]
23:15:47,210    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1D 00010100000000000000000000000000]
23:15:47,232    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1D 01000000000000000000000000000000]
23:15:47,232    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D39 00010100000000000000000000000000]
23:15:47,252    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D39 00000000000000000000000000000000]
23:15:47,252    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1D 00010200000000000000000000000000]
23:15:47,272    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1D 02000000000000000000000000000000]
23:15:47,273    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D38 00010200000000000000000000000000]
23:15:47,292    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D38 00000000000000000000000000000000]
23:15:47,292    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1E 00010400000000000000000000000000]
23:15:47,312    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1E 04000000000000000000000000000000]
23:15:47,312    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1D 00010800000000000000000000000000]
23:15:47,332    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1D 08000000000000000000000000000000]
23:15:47,332    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3D 00010400000000000000000000000000]
23:15:47,352    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3D 00000000000000000000000000000000]
23:15:47,352    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3B 00010800000000000000000000000000]
23:15:47,372    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3B 00000000000000000000000000000000]
23:15:47,372    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1F 00011000000000000000000000000000]
23:15:47,392    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1F 00000000000000000000000000000000]
23:15:47,392    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1A 00012000000000000000000000000000]
23:15:47,412    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1A 20000000000000000000000000000000]
23:15:47,412    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1B 00014000000000000000000000000000]
23:15:47,432    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1B 40000000000000000000000000000000]
23:15:47,432    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D18 00018000000000000000000000000000]
23:15:47,454    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D18 00000000000000000000000000000000]
23:15:47,454    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3C 00011000000000000000000000000000]
23:15:47,474    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3C 00000000000000000000000000000000]
23:15:47,474    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1D 01010100000000000000000000000000]
23:15:47,494    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1D 00000000000000000000000000000000]
23:15:47,494    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3B 00012000000000000000000000000000]
23:15:47,514    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3B 00000000000000000000000000000000]
23:15:47,514    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1E 01010200000000000000000000000000]
23:15:47,534    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1E 00000000000000000000000000000000]
23:15:47,534    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D38 00014000000000000000000000000000]
23:15:47,554    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D38 00000000000000000000000000000000]
23:15:47,554    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D1B 01010400000000000000000000000000]
23:15:47,574    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D1B 04000000000000000000000000000000]
23:15:47,574    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D39 00018000000000000000000000000000]
23:15:47,594    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D39 00000000000000000000000000000000]
23:15:47,594    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D19 01010800000000000000000000000000]
23:15:47,614    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D19 00000000000000000000000000000000]
23:15:47,614    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3D 01010100000000000000000000000000]
23:15:47,634    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3D 00000000000000000000000000000000]
23:15:47,634    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D3F 01010200000000000000000000000000]
23:15:47,654    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D3F 00000000000000000000000000000000]
23:15:47,654    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D7B 00FF0000000000000000000000000000]
23:15:47,676    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D7B 01000000000000000000000000000000]
23:15:47,676    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D69 00FF0000000000000000000000000000]
23:15:47,696    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D69 01000000000000000000000000000000]
23:15:47,696    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D5C 03FF0000000000000000000000000000]
23:15:47,716    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D5C 08000000000000000000000000000000]
23:15:47,716    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D5E 01FF0000000000000000000000000000]
23:15:47,736    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D5E 08000000000000000000000000000000]
23:15:47,736    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D58 02FF0000000000000000000000000000]
23:15:47,756    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D58 08000000000000000000000000000000]
23:15:47,756    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D5A 05FF0000000000000000000000000000]
23:15:47,776    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 FF0D 5A020000000000000000000000000000]
23:15:47,776    ERROR [MainThread] logitech_receiver.base: (4) device 1 error on feature request {0D5A}: 2 = invalid argument
23:15:47,777    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0D5F 04FF0000000000000000000000000000]
23:15:47,796    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0D5F 00040000000000000000000000000000]
23:15:47,796    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0608 00000000000000000000000000000000]
23:15:47,816    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0608 5A320000000000000000000000000000]
23:15:47,816    DEBUG [MainThread] logitech_receiver.hidpp20: device 1 battery 90% charged, next 50%, status discharging
             nonstandard, divertable, pos:0, group:0, group mask:empty
             reporting: default
        18: Volume Down               , default: Volume Down                 => Volume Down               
             nonstandard, divertable, pos:0, group:0, group mask:empty
             reporting: default
        19: Sleep                     , default: Sleep                       => Sleep                     
             reprogrammable, divertable, pos:0, group:0, group mask:empty
             reporting: default
     Has 17 gesture(s), 1 param(s) and 5 spec(s):
        Track1Finger               Enabled(None): None   Diverted:(None) None
        TapGestures                Enabled(None): None   Diverted:(None) None
        Tap1Finger                 Enabled(   0): True   Diverted:(   0) False
        Tap2Finger                 Enabled(   1): True   Diverted:(   1) False
        TapDrag1Finger             Enabled(   2): True   Diverted:(None) None
        DoubleTap1Finger           Enabled(   3): True   Diverted:(   2) False
        Scroll2FingerStateless     Enabled(None): None   Diverted:(   3) False
        NaturalScrolling           Enabled(   4): False  Diverted:(None) None
        Scroll2FingerHoriz         Enabled(   5): True   Diverted:(None) None
        Scroll2FingerVert          Enabled(   6): True   Diverted:(None) None
        LeftEdgeSwipe1Finger2      Enabled(   7): False  Diverted:(   4) False
        RightEdgeSwipe1Finger2     Enabled(   8): False  Diverted:(   5) False
        TopEdgeSwipe1Finger2       Enabled(   9): False  Diverted:(   6) False
        Zoom2FingerStateless       Enabled(  10): True   Diverted:(   7) False
        FnClickGestureSuppression  Enabled(  11): False  Diverted:(None) None
        TwoFingersPresent          Enabled(None): None   Diverted:(   8) False
        DeviceSpecificRawData      Enabled(None): None   Diverted:(   9) False
        ScaleFactor                Value  (   0): 256 [Default: 256]
        period unit                Spec   (   3): 2048
        DVI field width            Spec   (   1): 8
        field widths               Spec   (   2): 8
        multiplier                 Spec   (   5): None
        resolution                 Spec   (   4): 4
     Battery: 90%, discharging, next level 50%.

```
</details>

- Contents of `~/.config/solaar/config.yaml` (or `~/.config/solaar/config.json` if `~/.config/solaar/config.yaml` not present):
None, as I temporarily renamed all the configuration files to make sure that the errors aren't caused by incorrect settings.




Discussion:

Resolving patch:
diff --git a/lib/logitech_receiver/hidpp20.py b/lib/logitech_receiver/hidpp20.py
--- a/lib/logitech_receiver/hidpp20.py
+++ b/lib/logitech_receiver/hidpp20.py
@@ -444,10 +444,12 @@ def _getCidReporting(self):
                 self._mapping_flags = mapping_flags_1 | (mapping_flags_2 << 8)
             else:
                 raise FeatureCallError(msg='No reply from device.')
-        except Exception:
-            if _log.isEnabledFor(_ERROR):
-                _log.error(f'Exception in _getCidReporting on device {self._device}: ', exc_info=1)
-            # Clear flags and set mapping target to self as fallback
+        except FeatureCallError:  # if the key hasn't ever been configured then the read may fail so only produce a warning
+            if _log.isEnabledFor(_WARNING):
+                _log.warn(
+                    f'Feature Call Error in _getCidReporting on device {self._device} for cid {self._cid} - use defaults'
+                )
+            # Clear flags and set mapping target to self
             self._mapping_flags = 0
             self._mapped_to = self._cid
 
@@ -1016,9 +1018,9 @@ def value(self):
     def read(self):
         try:
             value = feature_request(self._device, FEATURE.GESTURE_2, 0x50, self.id, 0xFF)
-        except FeatureCallError:
-            # I don't know if this should happen, but I get an error
-            # with spec 5
+        except FeatureCallError:  # some calls produce an error (notably spec 5 multiplier on K400Plus)
+            if _log.isEnabledFor(_WARNING):
+                _log.warn(f'Feature Call Error reading Gesture Spec on device {self._device} for spec {self.id} - use None')
             return None
         return _bytes2int(value[:self.byte_count])
 


Test patch: