Add keyboard layout and variant settings with gum
This commit is contained in:
parent
ae7383e88b
commit
f8d647da94
79
.install/keyboard.sh
Executable file
79
.install/keyboard.sh
Executable file
|
@ -0,0 +1,79 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# ------------------------------------------------------
|
||||||
|
# Setup
|
||||||
|
# ------------------------------------------------------
|
||||||
|
echo -e "${GREEN}"
|
||||||
|
cat <<"EOF"
|
||||||
|
_ __ _ _
|
||||||
|
| |/ /___ _ _| |__ ___ __ _ _ __ __| |
|
||||||
|
| ' // _ \ | | | '_ \ / _ \ / _` | '__/ _` |
|
||||||
|
| . \ __/ |_| | |_) | (_) | (_| | | | (_| |
|
||||||
|
|_|\_\___|\__, |_.__/ \___/ \__,_|_| \__,_|
|
||||||
|
|___/
|
||||||
|
|
||||||
|
EOF
|
||||||
|
echo -e "${NONE}"
|
||||||
|
|
||||||
|
# Default layout and variants
|
||||||
|
keyboard_layout="us"
|
||||||
|
keyboard_variant=""
|
||||||
|
|
||||||
|
_setupKeyboardLayout() {
|
||||||
|
if gum confirm "Current keyboard layout: $keyboard_layout! Do you want to change it?" ;then
|
||||||
|
keyboard_layout=$(localectl list-x11-keymap-layouts | gum filter --placeholder "Select keyboard layout...")
|
||||||
|
echo ""
|
||||||
|
echo "Keyboard layout changed to $keyboard_layout"
|
||||||
|
elif [ $? -eq 130 ]; then
|
||||||
|
exit 130
|
||||||
|
fi
|
||||||
|
_setupKeyboardVariant
|
||||||
|
}
|
||||||
|
|
||||||
|
_setupKeyboardVariant() {
|
||||||
|
if gum confirm "Current keyboard variant: $keyboard_variant! Do you want to change it?" ;then
|
||||||
|
keyboard_variant=$(localectl list-x11-keymap-variants | gum filter --placeholder "Select keyboard variant...")
|
||||||
|
echo ""
|
||||||
|
echo "Keyboard layout changed to $keyboard_variant"
|
||||||
|
elif [ $? -eq 130 ]; then
|
||||||
|
exit 130
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
_confirmKeyboard
|
||||||
|
}
|
||||||
|
|
||||||
|
_confirmKeyboard() {
|
||||||
|
echo "Current selected keyboard setup:"
|
||||||
|
echo "Keyboard layout: $keyboard_layout"
|
||||||
|
echo "Keyboard variant: $keyboard_variant"
|
||||||
|
if gum confirm "Do you want proceed with this keyboard setup?" --affirmative "Proceed" --negative "Change" ;then
|
||||||
|
return 0
|
||||||
|
elif [ $? -eq 130 ]; then
|
||||||
|
exit 130
|
||||||
|
else
|
||||||
|
_setupKeyboardLayout
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$restored" == "1" ]; then
|
||||||
|
echo "You have already restored your settings into the new installation."
|
||||||
|
else
|
||||||
|
_confirmKeyboard
|
||||||
|
|
||||||
|
cp .install/templates/keyboard.conf ~/dotfiles-versions/$version/hypr/conf/keyboard.conf
|
||||||
|
cp .install/templates/keyboard.py ~/dotfiles-versions/$version/qtile/conf/keyboard.py
|
||||||
|
|
||||||
|
SEARCH="\"KEYBOARD_LAYOUT\""
|
||||||
|
REPLACE="\"$keyboard_layout\""
|
||||||
|
sed -i "s/$SEARCH/$REPLACE/g" ~/dotfiles-versions/$version/hypr/conf/keyboard.conf
|
||||||
|
|
||||||
|
SEARCH="\"KEYBOARD_LAYOUT\""
|
||||||
|
REPLACE="\"$keyboard_layout\""
|
||||||
|
sed -i "s/$SEARCH/$REPLACE/g" ~/dotfiles-versions/$version/qtile/conf/keyboard.py
|
||||||
|
|
||||||
|
SEARCH="\"KEYBOARD_VARIANT\""
|
||||||
|
REPLACE="\"$keyboard_variant\""
|
||||||
|
sed -i "s/$SEARCH/$REPLACE/g" ~/dotfiles-versions/$version/hypr/conf/keyboard.conf
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Keyboard setup updated successfully."
|
||||||
|
fi
|
|
@ -1,41 +0,0 @@
|
||||||
# ------------------------------------------------------
|
|
||||||
# Setup
|
|
||||||
# ------------------------------------------------------
|
|
||||||
echo -e "${GREEN}"
|
|
||||||
cat <<"EOF"
|
|
||||||
____ _
|
|
||||||
/ ___| ___| |_ _ _ _ __
|
|
||||||
\___ \ / _ \ __| | | | '_ \
|
|
||||||
___) | __/ |_| |_| | |_) |
|
|
||||||
|____/ \___|\__|\__,_| .__/
|
|
||||||
|_|
|
|
||||||
|
|
||||||
EOF
|
|
||||||
echo -e "${NONE}"
|
|
||||||
if [ "$restored" == "1" ]; then
|
|
||||||
echo "You have already restored your settings into the new installation."
|
|
||||||
else
|
|
||||||
while true; do
|
|
||||||
read -p "Do you want to set your keyboard layout? (Yy/Nn): " yn
|
|
||||||
case $yn in
|
|
||||||
[Yy]* )
|
|
||||||
read -p "Enter your preferred keyboard layout (us,de,...) (default:us): " keyboard
|
|
||||||
if [ -z "$keyboard" ]; then
|
|
||||||
keyboard="us"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SEARCH="kb_layout = us"
|
|
||||||
REPLACE="kb_layout = $keyboard"
|
|
||||||
sed -i "s/$SEARCH/$REPLACE/g" ~/dotfiles-versions/$version/hypr/conf/keyboard.conf
|
|
||||||
|
|
||||||
SEARCH="keyboard_layout = \"us\""
|
|
||||||
REPLACE="keyboard_layout = \"$keyboard\""
|
|
||||||
sed -i "s/$SEARCH/$REPLACE/g" ~/dotfiles-versions/$version/qtile/conf/keyboard.py
|
|
||||||
break;;
|
|
||||||
[Nn]* )
|
|
||||||
break;;
|
|
||||||
* ) echo "Please answer yes or no.";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
echo ""
|
|
12
.install/templates/keyboard.conf
Normal file
12
.install/templates/keyboard.conf
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Keyboard Layout
|
||||||
|
# -----------------------------------------------------
|
||||||
|
input {
|
||||||
|
kb_layout = "KEYBOARD_LAYOUT"
|
||||||
|
kb_variant = "KEYBOARD_VARIANT"
|
||||||
|
follow_mouse = 1
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = false
|
||||||
|
}
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
3
.install/templates/keyboard.py
Normal file
3
.install/templates/keyboard.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# Setup global keyboard layout here
|
||||||
|
|
||||||
|
keyboard_layout = "KEYBOARD_LAYOUT"
|
|
@ -59,7 +59,7 @@ source .install/wallpaper.sh
|
||||||
source .install/disabledm.sh
|
source .install/disabledm.sh
|
||||||
source .install/issue.sh
|
source .install/issue.sh
|
||||||
source .install/restore.sh
|
source .install/restore.sh
|
||||||
source .install/setup.sh
|
source .install/keyboard.sh
|
||||||
source .install/copy.sh
|
source .install/copy.sh
|
||||||
source .install/config-folder.sh
|
source .install/config-folder.sh
|
||||||
source .install/init-pywal.sh
|
source .install/init-pywal.sh
|
||||||
|
|
Loading…
Reference in New Issue
Block a user