
Feature added by: Mindaugas Baranauskas (embar-) Feature #318355, revision 1 Title: Convert X keyboard layouts to console keymaps openSUSE Distribution: Unconfirmed Priority Requester: Mandatory Requested by: Mindaugas Baranauskas (embar-) Partner organization: openSUSE.org Description: In systemd world we use localectl. Mapping between console and X keyboards is complicated. I creates bugs (e.g. https://bugzilla.novell.com/show_bug.cgi?id=897803) after switching from legacy /etc/X11/xdm/Keyboard.map mapping in to new systemd /usr/share/systemd/kbd-model-map mapping. Indeed most console keyboards are obsolete, they are difficult to configure, as each layout requires specific correct parameters for kbd_mode and setfont. And YaST also have some additional mapping: /usr/share/YaST2/data/keyboard_raw.ycp. We must change essentially keyboard management in YaST. We could use Fedora solution by converting X keymaps to console keymaps to simplify keyboard issues. Use Case: As discussed in https://bugs.freedesktop.org/show_bug.cgi?id=88545, Fedora has many more console layouts, converted from X keyboard layouts with script: # Convert X keyboard layouts to console keymaps mkdir -p $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb perl xml2lst.pl < /usr/share/X11/xkb/rules/base.xml > layouts-variants.lst while read line; do XKBLAYOUT=`echo "$line" | cut -d " " -f 1` echo "$XKBLAYOUT" >> layouts-list.lst XKBVARIANT=`echo "$line" | cut -d " " -f 2` ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz done < layouts-variants.lst # Convert X keyboard layouts (plain, no variant) cat layouts-list.lst | sort -u >> layouts-list-uniq.lst while read line; do ckbcomp "$line" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$line".map.gz done < layouts-list-uniq.lst Full spec file: https://apps.fedoraproject.org/packages/kbd/sources/spec/ Fedora moved upstream layouts to /usr/lib/kbd/keymaps/legacy/ . -- openSUSE Feature: https://features.opensuse.org/318355