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/issue.sh
|
||||
source .install/restore.sh
|
||||
source .install/setup.sh
|
||||
source .install/keyboard.sh
|
||||
source .install/copy.sh
|
||||
source .install/config-folder.sh
|
||||
source .install/init-pywal.sh
|
||||
|
|
Loading…
Reference in New Issue
Block a user