#1012757 keyboard-configuration: generated /etc/default/keyboard file is invalid (xkb_variant/xkb_options requires a string value)

#1012757#5
Date:
2022-06-13 12:17:49 UTC
From:
To:
I now get warnings in the /var/log/Xorg.0.log file:

[    15.840] (**) Option "xkb_model" "pc105"
[    15.840] (**) Option "xkb_layout" "gb"
[    15.840] (WW) Option "xkb_variant" requires a string value
[    15.840] (WW) Option "xkb_options" requires a string value
[...]
[    15.904] (**) Option "xkb_model" "pc105"
[    15.904] (**) Option "xkb_layout" "gb"
[    15.904] (WW) Option "xkb_variant" requires a string value
[    15.904] (WW) Option "xkb_options" requires a string value
[...]
[    15.936] (**) Option "xkb_model" "pc105"
[    15.936] (**) Option "xkb_layout" "gb"
[    15.936] (WW) Option "xkb_variant" requires a string value
[    15.936] (WW) Option "xkb_options" requires a string value

The /etc/default/keyboard file contains in particular:

XKBMODEL="pc105"
XKBLAYOUT="gb"
XKBVARIANT=""
XKBOPTIONS=""

So it appears that the empty strings are invalid.

However, this has been like that in the past, so I'm wondering why
I didn't get these warnings before (the X server hasn't been upgraded
recently).

Related to this issue:

https://bugzilla.redhat.com/show_bug.cgi?id=669912#c10

showing similar warnings, where in Comment 13, it is said that
an empty value is probably a problem.

#1012757#10
Date:
2022-06-13 12:46:59 UTC
From:
To:
I suppose that these warnings are due to

        case OPTV_STRING:
            if (*s == '\0') {
                if (markUsed) {
                    xf86DrvMsg(scrnIndex, X_WARNING,
                               "Option \"%s\" requires a string value\n",
                               p->name);
                }
                p->found = FALSE;
            }

in file hw/xfree86/common/xf86Option.c of xorg-server.