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
|
||||
############################################
|
||||
|
||||
############################################
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
echo ""
|
||||
echo "Select keyboard layout:"
|
||||
echo " 1) English US (us)"
|
||||
echo " 2) German (de)"
|
||||
echo "Select keyboard layout for installed system:"
|
||||
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_CHOICE
|
||||
case "${_KM_CHOICE:-1}" in
|
||||
2) KEYMAP="de" ;;
|
||||
*) KEYMAP="us" ;;
|
||||
esac
|
||||
_KM_CHOICE=$(( ${_KM_CHOICE:-1} - 1 ))
|
||||
if (( _KM_CHOICE >= 0 && _KM_CHOICE < ${#KEYMAPS[@]} )); then
|
||||
KEYMAP="${KEYMAPS[$_KM_CHOICE]%%|*}"
|
||||
else
|
||||
KEYMAP="${KEYMAPS[0]%%|*}"
|
||||
fi
|
||||
fi
|
||||
|
||||
read -rsp "Password for $USERNAME: " USERPASS; echo
|
||||
|
|
|
|||
Loading…
Reference in New Issue