feat(setup): replace hardcoded loadkeys with a KEYMAPS-array menu
Both the live-environment prompt and the installed-system prompt now loop over a single KEYMAPS array, so adding a new layout is a one-line change. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
58de8fac1b
commit
77c3e1def8
|
|
@ -62,6 +62,36 @@ fi
|
||||||
############################################
|
############################################
|
||||||
# Begin
|
# Begin
|
||||||
############################################
|
############################################
|
||||||
|
|
||||||
|
############################################
|
||||||
|
# Keyboard layout (live environment)
|
||||||
|
# To add more layouts: append "code|Display Name" to KEYMAPS
|
||||||
|
############################################
|
||||||
|
KEYMAPS=(
|
||||||
|
"us|English US"
|
||||||
|
"de|German"
|
||||||
|
)
|
||||||
|
|
||||||
|
if $AF_MODE; then
|
||||||
|
LIVE_KEYMAP=$(af_get '.keymap' 'us')
|
||||||
|
else
|
||||||
|
echo "Select keyboard layout:"
|
||||||
|
for i in "${!KEYMAPS[@]}"; do
|
||||||
|
_km_code="${KEYMAPS[$i]%%|*}"
|
||||||
|
_km_name="${KEYMAPS[$i]##*|}"
|
||||||
|
printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code"
|
||||||
|
done
|
||||||
|
read -rp "Choice [1]: " _KM_IDX
|
||||||
|
_KM_IDX=$(( ${_KM_IDX:-1} - 1 ))
|
||||||
|
if (( _KM_IDX >= 0 && _KM_IDX < ${#KEYMAPS[@]} )); then
|
||||||
|
LIVE_KEYMAP="${KEYMAPS[$_KM_IDX]%%|*}"
|
||||||
|
else
|
||||||
|
LIVE_KEYMAP="${KEYMAPS[0]%%|*}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
loadkeys "$LIVE_KEYMAP"
|
||||||
|
|
||||||
lsblk
|
lsblk
|
||||||
|
|
||||||
if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then
|
if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then
|
||||||
|
|
@ -141,14 +171,19 @@ else
|
||||||
read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER
|
read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Select keyboard layout:"
|
echo "Select keyboard layout for installed system:"
|
||||||
echo " 1) English US (us)"
|
for i in "${!KEYMAPS[@]}"; do
|
||||||
echo " 2) German (de)"
|
_km_code="${KEYMAPS[$i]%%|*}"
|
||||||
|
_km_name="${KEYMAPS[$i]##*|}"
|
||||||
|
printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code"
|
||||||
|
done
|
||||||
read -rp "Choice [1]: " _KM_CHOICE
|
read -rp "Choice [1]: " _KM_CHOICE
|
||||||
case "${_KM_CHOICE:-1}" in
|
_KM_CHOICE=$(( ${_KM_CHOICE:-1} - 1 ))
|
||||||
2) KEYMAP="de" ;;
|
if (( _KM_CHOICE >= 0 && _KM_CHOICE < ${#KEYMAPS[@]} )); then
|
||||||
*) KEYMAP="us" ;;
|
KEYMAP="${KEYMAPS[$_KM_CHOICE]%%|*}"
|
||||||
esac
|
else
|
||||||
|
KEYMAP="${KEYMAPS[0]%%|*}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -rsp "Password for $USERNAME: " USERPASS; echo
|
read -rsp "Password for $USERNAME: " USERPASS; echo
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue