Closed PsyonicOne closed 3 years ago
Solaar uses the BACKLIGHT2 feature to turn the backlight off and on. Documentation on this feature is available at https://drive.google.com/file/d/1h8gUsZM7d5ohTjR6dbUt6oWIxCKBRLtB/view There does not appear to be any way to use this feature to adjust the backlight level, even though it can be used to find out the backlight level.
Based on the information you show, Solaar should be forcing the backlight on whenever it starts up or the keyboard connects. It looks as if something else is setting the backlight level to some low value. If you run Solaar with -dd
Solaar will report all messages it sends to and receives from devices. If you attach the messages that are produced at startup I may be able to see what is going on.
Also, what happens if Solaar is not running?
@pfps
Wow that produces a lot of stuff! I killed solaar, then ran:
solaar -dd
This is what I got:
The rest repeats with every mouse movement.... A LOT!!
I will stop solaar now and leave it tonight (time for bed anyway) and report tomorrow... Thanks for your help!
That causes Solaar to report everything it hears from the keyboard and mouse - so it includes all mouse movements.
Hopefully you left Solaar running overnight. Solaar shouldn't be producing output while your system is sleeping. :-)
What I need is the output from Solaar from the time your system restarts to when you notice that the backlight is not what you expect it to be. Try to move the mouse as little as possible during that time.
Sorry @pfps I misunderstood your request. I killed Solaar before locking last night with pkill solaar
and checked is was not running with ps -A | grep solaar
but today when I got home, hit enter on the keyboard to wake up the computer and the keyboard lights immediately lit up! I will try again tonight and leave solaar -dd
running then report again tomorrow :)
@pfps I managed to log in today after a lengthy sleep, and I have attached the Solaar output below. However, the lights did light up as soon as I hit the keyboard to wake it up, of course! So I doubt the capture will help you. I will try again and post if I manage to capture the it. This was happening every time, except for the last 2 nights... figures! :P
Should I be running Solaar all the time to have all the features working, run it and close the gui? It doesn't have a service so I'm assuming not...???
Feel free to close this, I can open another issue if I manage to capture the output when it happens...
You can close the Solaar main window and it will continue to run, with an icon in the system tray that can be used to access it. Keeping Solaar running lets it push settings to devices when the reconnect, as devices go back to a default configuration (mostly) when the go into power-saving mode or turn off.
What happens when you don't have Solaar running overnight?
What should happen is that your keyboard goes into power-saving state. When it reconnects, it will have forgotten the brightness level and come back in its default state - either fully bright or no lighting. (My Craft comes back fully bright.)
If Solaar is running, Solaar will push the backlight setting value that it has for the keyboard when the keyboard reconnects. But feature that Solaar uses for this can only set the backlight on (at full) or off. You can change this setting in the Solalar main window.
With Solaar not running, the keyboard lights come back, but I have only tested this once, 2 days ago, see above :) I believe it's at full brightness.
It is possible that Solaar is sending an incorrect message. The strange thing is that turning the keyboard off and on again should cause the same interactions as a long idle time.
When you are running solaar -dd
the backlight interaction after the keyboard connects should look something like this:
09:06:52,662 DEBUG [MainThread] logitech_receiver.settings: backlight: settings write True to <Device(0,B350,Craft Advanced Keyboard,?)>
09:06:52,662 DEBUG [MainThread] logitech_receiver.settings: BooleanValidator: prepare_write(True, None) => 1
09:06:52,663 DEBUG [MainThread] logitech_receiver.settings: backlight: settings prepare write(True) => 1
09:06:52,663 DEBUG [MainThread] logitech_receiver.base: (24) <= w[11 00 0A19 01000000000000000000000000000000]
09:06:52,677 DEBUG [MainThread] logitech_receiver.base: (24) => r[11 00 0A19 00000000000000000000000000000000]
These lines say that Solaar is setting the backlight to on, using a value of 1, and exactly what message is being sent and the response from the device. Your interaction will look a bit different - different device identification and the actual message sent should be 11 xx 0B1x 01000...
.
This is what I get when doing a power cycle, it does look like it's behaving correctly now. Is there a chance the device might not have been fully "awake" when the settings are pushed to it when it was brand new? The day I first opened this issue it had only been paired for ~48 hours and was still not fully charged for the first time.
Output from power cycle
17:12:21,978 DEBUG [MainThread] solaar.ui.icons: battery icon for 100:None = battery-full
17:12:21,978 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: backlight: apply True (<Device(2,408A,MX Keys Keyboard,B13573F8)>)
17:12:21,978 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: backlight: settings read True from <Device(2,408A,MX Keys Keyboard,B13573F8)>
17:12:21,978 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: backlight: settings write True to <Device(2,408A,MX Keys Keyboard,B13573F8)>
17:12:21,979 INFO [ReceiverListener:hidraw0] solaar.configuration: saved {'4023:980BED7E': {'_modelId': '000000000000', '_name': 'Wireless Keyboard MK270', '_unitId': '00000000', 'fn-swap': False, 'lowres-smooth-scroll': False, 'pointer_speed': 258, 'reprogrammable-keys': {'80': 80, '81': 81, '82': 82}}, '4082:19B0F537': {'_modelId': 'B02340820000', '_name': 'MX Master 3 Wireless Mouse', '_unitId': '19B0F537', 'dpi': 1000, 'hires-smooth-invert': False, 'hires-smooth-resolution': True, 'reprogrammable-keys': {'195': 195, '196': 196, '80': 80, '81': 81, '82': 82, '83': 83, '86': 86}, 'smart-shift': 25, 'thumb-scroll-invert': False, 'thumb-scroll-mode': False}, '408A:B13573F8': {'_modelId': 'B35B408A0000', '_name': 'MX Keys Keyboard', '_unitId': 'B13573F8', 'backlight': True, 'disable-keyboard-keys': {'1': False, '16': False, '2': False, '4': False, '8': False}, 'fn-swap': False, 'multiplatform': '0'}, '_version': '1.0.4'} to /home/ash/.config/solaar/config.json
17:12:21,979 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: BooleanValidator: prepare_write(True, None) => 1
17:12:21,979 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: backlight: settings prepare write(True) => 1
17:12:21,979 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (17) <= w[10 02 0B1D 010000]
17:12:21,997 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (17) => r[11 02 0700 64320000000000000000000000000000]
17:12:22,019 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (17) => r[11 02 0E00 01000000000000000000000000000000]
17:12:22,057 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (17) => r[11 02 0700 64320000000000000000000000000000]
17:12:22,077 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (17) => r[11 02 0B1D 00000000000000000000000000000000]
17:12:22,078 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: fn-swap: apply False (<Device(2,408A,MX Keys Keyboard,B13573F8)>)
17:12:22,078 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: fn-swap: settings read False from <Device(2,408A,MX Keys Keyboard,B13573F8)>
17:12:22,078 DEBUG [ReceiverListener:hidraw0] logitech_receiver.settings: fn-swap: settings write False to <Device(2,408A,MX Keys Keyboard,B13573F8)>
17:12:22,078 INFO [ReceiverListener:hidraw0] solaar.configuration: saved {'4023:980BED7E': {'_modelId': '000000000000', '_name': 'Wireless Keyboard MK270', '_unitId': '00000000', 'fn-swap': False, 'lowres-smooth-scroll': False, 'pointer_speed': 258, 'reprogrammable-keys': {'80': 80, '81': 81, '82': 82}}, '4082:19B0F537': {'_modelId': 'B02340820000', '_name': 'MX Master 3 Wireless Mouse', '_unitId': '19B0F537', 'dpi': 1000, 'hires-smooth-invert': False, 'hires-smooth-resolution': True, 'reprogrammable-keys': {'195': 195, '196': 196, '80': 80, '81': 81, '82': 82, '83': 83, '86': 86}, 'smart-shift': 25, 'thumb-scroll-invert': False, 'thumb-scroll-mode': False}, '408A:B13573F8': {'_modelId': 'B35B408A0000', '_name': 'MX Keys Keyboard', '_unitId': 'B13573F8', 'backlight': True, 'disable-keyboard-keys': {'1': False, '16': False, '2': False, '4': False, '8': False}, 'fn-swap': False, 'multiplatform': '0'}, '_version': '1.0.4'} to /home/ash/.config/solaar/config.json
What might have been happening is that Solaar didn't have any values to push, or was pushing False. As things are working now I'm going to close this issue.
Information
solaar --version
orgit describe --tags
if cloned from this repository): 1.0.4uname -srmo
): 5.7.9-200.fc32.x86_64Output of
solaar show
: