Trying to implement the following for Gnome3 (Wayland) in Fedora 40.
I would like to have a custom xkb symbols file, where I would like to define two layouts.
- EURKey Layout
- Russian Layout
This because, I would like to override keys globally for both layouts at the same time. For example, change Control and Alt keys.
I have defined the following xkb file test4
and evdev.xml
files that live in ~/.config/xkb/symbols
and ~/.config/xkb/rules
respectively. I am doing this, to escape the need to have scripts or other programs solving this problem. As I would like these files to be part of my dotfiles.
test4 contents:
default partial alphanumeric_keys modifier_keys
xkb_symbols "base" {
include "eu(basic)"
include "level3(ralt_switch)"
name[Group1]="EurKEY";
include "ru(winkeys)"
name[Group2]="Russian";
key <CAPS> {
[ ISO_Next_Group ]
};
};
evdev.xml contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
<xkbConfigRegistry>
<layoutList>
<layout>
<configItem>
<name>test4</name>
<shortDescription>eu2</shortDescription>
<description>Custom EurKEY and Russian Layout</description>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>ger</iso639Id>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</layout>
</layoutList>
</xkbConfigRegistry>
Then I proceed to set the input-source:
gsettings set org.gnome.desktop.input-sources sources "[('xkb','test4')]"
Everything seems to load, however I notice the following issues:
- after settings the sources using gsettings, the Russian layout is always selected by default instead of the EURKey layout.
- the level3 (AltGr+key) symbols from EURKey Layout (e.g. ñ) are only available when Russian group is set. If I press and move to EURKey layout, I will not be able to access these keys. Not sure if this could be related to the fact that EURKey has defined 4 levels, while Russian layout only has 2.
I believe the solution is quite simple, I just do not see it. Any helps to solve it is much appreciated.