Skip to content

[kcms/keyboard] Fix format of various config options

Fabian Vogt requested to merge work/fvogt/kde433265 into master

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.

BUG: 433265

CC @butirsky @ngraham

Edited by Fabian Vogt

Merge request reports