Closed Jiivee1 closed 2 years ago
[I was confused. You are not running Wayland.]
Ooh, the early warnings are from the four rules that have '' as their keypress. You should fix these rules.
The interesting warnings arise because Solaar is unable to find a key on the simulated keyboard it is trying to use for some key symbol in the KeyPress action. The question is why. That will probably require some debugging of the code and the data structures that Solaar creates.
Before null keypress config has not caused any issues. Nevertheless, I assigned keypresses to ctrl+G3 - ctrl+G6. Below are used rules, solaar -dd output and xev output. During solaar and xev sessions I pressed keys G1, G2, ctrl+G1 and ctrl+G2. If I interpret xev output correctly, only control key press is seen by xev (although it is not acting as control key).
As far I see, Xwayland is installed, but it is not used. Xorg is in use. Running X binary is /usr/bin/Xorg,bin.
What appears to be happening is that Solaar can't find an F1 key on the keyboard that GDK thinks you are using. The question is why. To find out clone Solaar and add the following lines
for kc in range(0,256):
(a, m, vs) = gkeymap.get_entries_for_keycode(kc)
if a:
print("XK ", kc, vs, [(next((key for key, value in XK_KEYS.items() if value == v), None)) for v in vs],
[(k.group, k.level) for k in m])
to lib/logitech_receiver/diversion.py after
if _log.isEnabledFor(_INFO):
_log.info('GDK Keymap %sset up', '' if gkeymap else 'not ')
This will dump the contents of the keymap. Run solaar from the clone directory as bin/solaar
and run one of the problematic rules.
Post the resulting output.
Please, find attached bin/solaar -dd output when run after adding for loop.
Just a moment ago I remembered that I have configured three different keyboard layouts. In one of them Solaar works, i.e. G-keys do what I want them to do. In two of them they don't work. The layout I usually use is "kotoistus" and it is now broken. Also layout "Finnish" is broken regarding Solaar. Layout "Finninsh (classic)" works with Solaar, but it is otherwise broken for daily use.
So, it seems Solaar is not broken, but somebody has messed with keyboard layouts or how they are interpreted. I opened thread regarding these issues: https://forums.opensuse.org/showthread.php/570284-Xorg-keymaps-and-Solaar-interoperability-issues.
It actually might be a Sollaar bug. It appears that you have set up multiple keyboard layouts. Solaar might not be sophisticated enough to figure out that keycodes with only layout 0 can be used in other layouts.
It appears that whatever keyboard layout is first on the layout list, works with Solaar. Kotoistus as first layout → G1 delivers ctrl+F1 and so forth. Finnish as first layout → G1 delivers ctrl+F1 and so forth. Any of the two other layouts active → G1 doesn't work.
PR #1612 does a better job of simulating input when XKB is not in the first layout group. It should allow you to simulate the Fn keys in your setups.
To clone and use Solar from its GitHub repository
git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar
Run Solaar as bin/solaar from this directory.
To run PR #1612, first clone Solaar if you have not already done so and cd to the clone directory. The first time you download the pull request, fetch it into a new branch and checkout that branch, as in:
git fetch origin pull/1612/head:pull_1612
git checkout pull_1612
To download a new version of the pull request, fetch it and then set your pull branch to the new fetch, as in:
git checkout pull_1612
git fetch origin pull/1612/head
git reset --hard FETCH_HEAD
I cloned and tested pull_1612. For testing I tested for each keyboard layout (Finnish, kotoistus, Finnish (classic), Finnish) keypresses G2, Ctrl-G1 and G1. The very first time I pressed G2 was propably too early and it was ignored. Other times keypressses changed desktops just like I want them to do.
OK, so the problem is fixed. I'll merge in the PR.
If Solaar is starting up not all changes to your devices may have been performed. The entire process can take a couple of seconds if all devices are active and quite a bit longer if a device is inactive because Solaar waits for about 4 seconds to get a response from a device.
Information
or
git describe --tags` if cloned from this repository): 1.1.3uname -srmo
): Linux 5.17.7-1-default x86_64 GNU/Linuxsolaar show
:~/.config/solaar/config.yaml
(or~/.config/solaar/config.json
if~/.config/solaar/config.yaml
not present):Describe the bug G-keys of Logitech G613 keyboard stopped working when I upgraded from solaar 1.1.1 to 1.1.2 or to 1.1.3.
To Reproduce Steps to reproduce the behavior:
22:41:19,631 WARNING [MainThread] logitech_receiver.diversion: rule KeyPress key symbol not currently available KeyPress: Control_L F1 22:41:19,631 WARNING [MainThread] logitech_receiver.diversion: rule KeyPress key symbol not currently available KeyPress: Control_L F1 22:41:25,305 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['Control_L', 'F2'], modifiers 16 ['0xffe3', '0xffbf'] 22:41:25,306 WARNING [MainThread] logitech_receiver.diversion: rule KeyPress key symbol not currently available KeyPress: Control_L F2 22:41:25,306 WARNING [MainThread] logitech_receiver.diversion: rule KeyPress key symbol not currently available KeyPress: Control_L F2