[kcms/keyboard] Fix format of various config options
Previously (before KConfigXT) the KCM loaded the settings as QStringList
, and for Options
also ignored empty elements.
They were saved as ,
-joined strings explicitly instead of using KConfig's serialization. This makes a difference for QStringList
with a single empty/null QString
inside: KConfig serializes those as \\0
to distinguish them from empty lists.
Through various circumstances it's rather likely for the KCM to end up running into this edge case.
KWin loads all those values as string and passes them to libxkbcommon directly, which got understandably confused by the \\0
.
Maybe that should be changed, but IMO saving the libxkbcommon/setxkbmap-format directly makes it simpler.
Draft because a kconf_update script should be created for this.
kconf_update script added. It runs only after kwin_wayland already read the config, so it needs another relogin, but that's not fixable in p-d anyway.
I'm working on some other fixes, but I'll use a separate MR for that.