Showing custom keyboard layout leads to empty window
Affected version
Fedora Linux 37 (Workstation Edition) Wayland Gnome 43.0
Bug summary
The window that should allow to see the keyboard layout is empty if using a custom layout defined in the user home.
Steps to reproduce
- Have a custom keyboard layout properly defined in
~/.config/xkb/
, detected by GNOME, using the configuration files included at the end of this issue as documented here. - Logout, login, enable the layout in the keyboard settings and switch to that layout
- In the top-right corner menu that allows to switch between keyboard layouts, pick the last option to show the keyboard layout
What happened
The layout window looks like this:
What did you expect to happen
The window should show something like this:
Relevant logs, screenshots, screencasts etc.
Here is the configuration that I used to setup the keyboard layout:
content of the ~/.config/xkb
directory:
.
├── map
├── rules
│ └── evdev.xml
└── symbols
└── qwertyfr
content of the ~/.config/xkb/map
file:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+qwertyfr(basic)+us:2+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
content of the ~/.config/xkb/symbols/qwertyfr
file:
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "Qwerty (FR)";
key <AE06> { [ 6, circumflex, dead_circumflex ] };
key <AD02> { [ w, W, egrave, Egrave ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD04> { [ r, R, ecircumflex, Ecircumflex ] };
key <AD05> { [ t, T, ediaresis, Ediaresis ] };
key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
key <AD09> { [ o, O, oe, OE ] };
key <AC01> { [ a, A, agrave, Agrave ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB09> { [ period, greater, periodcentered ] };
};
content of the ~/.config/xkb/rules/evdev.xml
file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
<xkbConfigRegistry version="1.1">
<layoutList>
<layout>
<configItem>
<name>qwertyfr</name>
<shortDescription>qfr</shortDescription>
<description>French Qwerty</description>
</configItem>
</layout>
</layoutList>
</xkbConfigRegistry>