Files
main/x11/server/xorg-server/files/xorg-save-xkb-config.sh
Bahar KURT 1596d721c2 Add keyboard layout configurator native to KDE for Wayland users
This will benefit YALI a lot. I could put this as a separate script
in Wayland package itself but let's not break the working code just
yet.
2024-09-10 19:36:46 +03:00

51 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
ROOT=$1
test -d "$ROOT" || exit 1
eval "$(xprop -root -notype 8s "=1; RULES=\$0; MODEL=\$1; LAYOUT=\$2; VARIANT=\$3; OPTIONS=\$4" _XKB_RULES_NAMES)"
test -z "$_XKB_RULES_NAMES" && exit 1
test -z "$VARIANT" && COMMENT_VARIANT="#"
test -z "$OPTIONS" && COMMENT_OPTIONS="#"
cat << EOF > $ROOT/etc/X11/xorg.conf.d/00-configured-keymap.conf
# This file is generated by $0.
#
# If you want to override settings in this file, edit
# 10-keyboard.conf in the same directory.
Section "InputClass"
Identifier "Configured Keymap"
MatchIsKeyboard "on"
MatchTag "use_configured_keymap"
Option "xkb_rules" "$RULES"
Option "xkb_model" "$MODEL"
Option "xkb_layout" "$LAYOUT"
${COMMENT_VARIANT}Option "xkb_variant" "$VARIANT"
${COMMENT_OPTIONS}Option "xkb_options" "$OPTIONS"
EndSection
EOF
# We have KDE by default so we should set up the
# layout for that during installation from YALI.
#
# Other desktops can be configured by the user
# themselves (considering they would have enough
# knowledge to browse through repos by then and
# find the package for the DE they need) or by
# those who want to make their own forks based
# on Pisi.
#
# TODO: Track changes on GNOME and Wayland to
# see if they come up with a global configuration
# system like Xorg and tweak this up accordingly.
#
# FIXME: This is way too basic and prone to errors
# pretty much all the time!
cat << EOF > $ROOT/etc/skel/.config/kxkbrc
[Layout]
LayoutList=$LAYOUT
EOF