Hi all,
I would like to notify you about a change we decided to implement to improve the robustness of the keyboard layout switching which is part of this change.
TL;DR:
Anaconda will not support keyboard switching by keyboard shortcuts. Users should use the icon in GTK UI which will still work as expected.
This is not related to Web UI in any way.
Detailed description of the problem
In this change we were required to drop our keyboard switching library libXKlavier and switch to localed. The localed solution was designed as bi-directional communication layer between Anaconda and the running system. The idea was that if the user will set keyboard layout in Anaconda then Anaconda will set this layout to localed and that will be set to system. This part works as expected if the system we are running on implements it (most should be covered).
However, we also thought about the other direction, where the system will change layout (by keyboard shortcuts usually) and set that to localed and Anaconda will react to that by setting the layout info in the top bar. This feature is harder to achieve than we expected, we already know about at least two issues where this is not working as expected and it would probably be in most of the other places. The issue is that something like keyboard layout change is not a simple term for the system to resolve for multiple reasons:
- a keyboard layout might be specific to a window
- there is no concept of a “selected layout” in the system
- there is broken/missing API because no-one is using them
After hitting this issue, we have decided to change this logic to one-direction which means Anaconda will always force user configuration to the running system. The drawback is that we are not able to support keyboard switching by keyboard shortcut as we have done until now but you can still use the top bar icon to switch the keyboard layouts.
PR to implement this:
Future possible improvements:
- avoid users to change layouts in the Live system in the system configuration
- that could be achieved by forcing our configuration when Anaconda got focus
I will update existing bugs and issues on desktops about this change.
ping @adamwill