mirror of
https://gitlab.manjaro.org/applications/manjaro-architect
synced 2024-11-06 03:20:36 +00:00
Merge pull request #110 from oberon2007/keymap
move keymap to initial language selection
This commit is contained in:
commit
cd4461602d
2
Makefile
2
Makefile
@ -11,7 +11,7 @@ BIN = \
|
||||
bin/manjaro-architect
|
||||
|
||||
LIBS = \
|
||||
lib/ini_val.sh \
|
||||
lib/ini_val.sh \
|
||||
lib/util.sh \
|
||||
lib/util-advanced.sh \
|
||||
lib/util-base.sh \
|
||||
|
@ -1,7 +1,6 @@
|
||||
Main Menu
|
||||
│
|
||||
├── Prepare
|
||||
│ ├── keymap
|
||||
│ ├── show devices
|
||||
│ ├── partition
|
||||
│ ├── luks
|
||||
|
@ -538,35 +538,6 @@ run_mkinitcpio() {
|
||||
check_for_error "$FUNCNAME" "$?"
|
||||
}
|
||||
|
||||
# virtual console keymap
|
||||
set_keymap() {
|
||||
KEYMAPS=""
|
||||
for i in $(ls -R /usr/share/kbd/keymaps | grep "map.gz" | sed 's/\.map\.gz//g' | sort); do
|
||||
KEYMAPS="${KEYMAPS} ${i} -"
|
||||
done
|
||||
|
||||
DIALOG " $_VCKeymapTitle " --menu "\n$_VCKeymapBody\n " 20 40 16 ${KEYMAPS} 2>${ANSWER} || return 0
|
||||
KEYMAP=$(cat ${ANSWER})
|
||||
|
||||
loadkeys $KEYMAP 2>$ERR
|
||||
check_for_error "loadkeys $KEYMAP" "$?"
|
||||
ini linux.keymap "$KEYMAP"
|
||||
# set keymap for openrc too
|
||||
echo "keymap=\"$KEYMAP\"" > /tmp/keymap
|
||||
biggest_resolution=$(head -n 1 /sys/class/drm/card*/*/modes | awk -F'[^0-9]*' '{print $1}' | awk 'BEGIN{a= 0}{if ($1>a) a=$1 fi} END{print a}')
|
||||
# Choose terminus font size depending on resolution
|
||||
if [[ $biggest_resolution -gt 1920 ]]; then
|
||||
FONT=ter-124n
|
||||
elif [[ $biggest_resolution -eq 1920 ]]; then
|
||||
FONT=ter-118n
|
||||
else
|
||||
FONT=ter-114n
|
||||
fi
|
||||
ini linux.font "$FONT"
|
||||
echo -e "KEYMAP=${KEYMAP}\nFONT=${FONT}" > /tmp/vconsole.conf
|
||||
echo -e "consolefont=\"${FONT}\"" > /tmp/consolefont
|
||||
}
|
||||
|
||||
# locale array generation code adapted from the Manjaro 0.8 installer
|
||||
set_locale() {
|
||||
LOCALES=""
|
||||
|
@ -53,30 +53,27 @@ prep_menu() {
|
||||
local PARENT="$FUNCNAME"
|
||||
declare -i loopmenu=1
|
||||
while ((loopmenu)); do
|
||||
submenu 7
|
||||
DIALOG " $_PrepMenuTitle " --default-item ${HIGHLIGHT_SUB} --menu "\n " 0 0 7 \
|
||||
"1" "$_VCKeymapTitle" \
|
||||
"2" "$_DevShowOpt" \
|
||||
"3" "$_PrepPartDisk" \
|
||||
"4" "$_PrepLUKS" \
|
||||
"5" "$_PrepLVM $_PrepLVM2" \
|
||||
"6" "$_PrepMntPart" \
|
||||
"7" "$_Back" 2>${ANSWER}
|
||||
submenu 6
|
||||
DIALOG " $_PrepMenuTitle " --default-item ${HIGHLIGHT_SUB} --menu "\n$_PrepMenuBody\n " 0 0 6 \
|
||||
"1" "$_DevShowOpt" \
|
||||
"2" "$_PrepPartDisk" \
|
||||
"3" "$_PrepLUKS" \
|
||||
"4" "$_PrepLVM $_PrepLVM2" \
|
||||
"5" "$_PrepMntPart" \
|
||||
"6" "$_Back" 2>${ANSWER}
|
||||
HIGHLIGHT_SUB=$(cat ${ANSWER})
|
||||
|
||||
case $(cat ${ANSWER}) in
|
||||
"1") set_keymap
|
||||
"1") show_devices
|
||||
;;
|
||||
"2") show_devices
|
||||
;;
|
||||
"3") umount_partitions
|
||||
"2") umount_partitions
|
||||
select_device && create_partitions
|
||||
;;
|
||||
"4") luks_menu
|
||||
"3") luks_menu
|
||||
;;
|
||||
"5") lvm_menu
|
||||
"4") lvm_menu
|
||||
;;
|
||||
"6") mount_partitions
|
||||
"5") mount_partitions
|
||||
;;
|
||||
*) loopmenu=0
|
||||
return 0
|
||||
|
49
lib/util.sh
49
lib/util.sh
@ -21,6 +21,7 @@ NW_CMD="" # command to launch the available network client
|
||||
|
||||
# Locale and Language
|
||||
LANGSEL="/tmp/.language"
|
||||
KEYSEL="/tmp/.keymap"
|
||||
CURR_LOCALE="en_US.UTF-8" # Default Locale
|
||||
FONT="" # Set new font if necessary
|
||||
KEYMAP="us" # Virtual console keymap. Default is "us"
|
||||
@ -210,6 +211,7 @@ check_for_error() {
|
||||
|
||||
# Add locale on-the-fly and sets source translation file for installer
|
||||
select_language() {
|
||||
fl="1" # terminus-font variation supporting most languages, to be processed in set_keymap()
|
||||
if [[ $(cat ${LANGSEL} 2>/dev/null) == "" ]]; then
|
||||
DIALOG " Select Language " --default-item '3' --menu "\n " 0 0 11 \
|
||||
"1" $"Danish|(da_DK)" \
|
||||
@ -243,7 +245,7 @@ select_language() {
|
||||
;;
|
||||
"6") source $DATADIR/translations/hungarian.trans
|
||||
CURR_LOCALE="hu_HU.UTF-8"
|
||||
FONT="ter-216n"
|
||||
fl="2"
|
||||
;;
|
||||
"7") source $DATADIR/translations/italian.trans
|
||||
CURR_LOCALE="it_IT.UTF-8"
|
||||
@ -256,7 +258,7 @@ select_language() {
|
||||
;;
|
||||
"10") source $DATADIR/translations/russian.trans
|
||||
CURR_LOCALE="ru_RU.UTF-8"
|
||||
FONT="ter-u16n"
|
||||
fl="u"
|
||||
;;
|
||||
"11") source $DATADIR/translations/spanish.trans
|
||||
CURR_LOCALE="es_ES.UTF-8"
|
||||
@ -265,21 +267,52 @@ select_language() {
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ $(cat ${KEYSEL} 2>/dev/null) == "" ]]; then
|
||||
set_keymap
|
||||
fi
|
||||
|
||||
# Generate the chosen locale and set the language
|
||||
DIALOG " $_Config " --infobox "\n$_ApplySet\n " 0 0
|
||||
sleep 2
|
||||
sed -i "s/#${CURR_LOCALE}/${CURR_LOCALE}/" /etc/locale.gen
|
||||
locale-gen >/dev/null 2>$ERR
|
||||
export LANG=${CURR_LOCALE}
|
||||
|
||||
check_for_error "set LANG=${CURR_LOCALE}" $?
|
||||
ini system.lang "$CURR_LOCALE"
|
||||
}
|
||||
|
||||
[[ $FONT != "" ]] && {
|
||||
setfont $FONT 2>$ERR
|
||||
check_for_error "set font $FONT" $?
|
||||
ini system.font "$FONT"
|
||||
}
|
||||
# virtual console keymap and font
|
||||
set_keymap() {
|
||||
KEYMAPS=""
|
||||
for i in $(ls -R /usr/share/kbd/keymaps | grep "map.gz" | sed 's/\.map\.gz//g' | sort); do
|
||||
KEYMAPS="${KEYMAPS} ${i} -"
|
||||
done
|
||||
|
||||
DIALOG " $_VCKeymapTitle " --menu "$_VCKeymapBody" 20 40 16 ${KEYMAPS} 2>${KEYSEL} || return 0
|
||||
KEYMAP=$(cat ${KEYSEL})
|
||||
|
||||
loadkeys $KEYMAP 2>$ERR
|
||||
check_for_error "loadkeys $KEYMAP" "$?"
|
||||
ini linux.keymap "$KEYMAP"
|
||||
# set keymap for openrc too
|
||||
echo "keymap=\"$KEYMAP\"" > /tmp/keymap
|
||||
biggest_resolution=$(head -n 1 /sys/class/drm/card*/*/modes | awk -F'[^0-9]*' '{print $1}' | awk 'BEGIN{a= 0}{if ($1>a) a=$1 fi} END{print a}')
|
||||
# Choose terminus font size depending on resolution
|
||||
if [[ $biggest_resolution -gt 1920 ]]; then
|
||||
fs="24"
|
||||
elif [[ $biggest_resolution -eq 1920 ]]; then
|
||||
fs="18"
|
||||
else
|
||||
fs="16"
|
||||
fi
|
||||
FONT="ter-${fl}${fs}n"
|
||||
ini linux.font "$FONT"
|
||||
echo -e "KEYMAP=${KEYMAP}\nFONT=${FONT}" > /tmp/vconsole.conf
|
||||
echo -e "consolefont=\"${FONT}\"" > /tmp/consolefont
|
||||
|
||||
setfont $FONT 2>$ERR
|
||||
check_for_error "set font $FONT" $?
|
||||
ini system.font "$FONT"
|
||||
}
|
||||
|
||||
mk_connection() {
|
||||
|
Loading…
Reference in New Issue
Block a user