* bug#40456: Invalid keyboard layouts pass through
@ 2020-04-05 20:59 Ludovic Courtès
2021-03-04 17:01 ` Brice Waegeneire via web
2024-12-06 17:19 ` Suhail Singh
0 siblings, 2 replies; 3+ messages in thread
From: Ludovic Courtès @ 2020-04-05 20:59 UTC (permalink / raw)
To: 40456
Hello,
After a painful debugging session where I was blaming GDM for not using
the right keyboard layout, I found that I had specified an invalid
keyboard layout variant, as in:
(keyboard-layout "fr" "does-not-exist")
‘ckbcomp’ would build a layout for the console just fine, only with a
warning. Xorg would switch to the default “fr” layout (which exists)
and ignore the “does-not-exist” variant.
However, GNOME Shell would reject it in ‘keyboardManager.js’ because:
[found, , , _layout, _variant] = this._xkbInfo.get_layout_info(id);
returns ‘found = false’ since ‘fr+does-not-exist’ is not found, and thus
goes on to use the US layout:
if (found)
return { layout: _layout, variant: _variant };
else
return { layout: DEFAULT_LAYOUT, variant: DEFAULT_VARIANT };
(This is just for GNOME Shell because again, Xorg itself installs the
“fr” layout, as can be seen if you start ratpoison or similar.)
Long story short: it would be great if invalid keyboard layouts were
caught when the system is instantiated. It could be ‘ckbcomp’ errorring
out, or we could have additional code that browses xkeyboard-config’s
‘base.xml’ file.
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-12-06 17:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-05 20:59 bug#40456: Invalid keyboard layouts pass through Ludovic Courtès
2021-03-04 17:01 ` Brice Waegeneire via web
2024-12-06 17:19 ` Suhail Singh
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).