diff --git a/files/board/arpl/overlayfs/opt/arpl/init.sh b/files/board/arpl/overlayfs/opt/arpl/init.sh index 7d60122f..4e12f31c 100755 --- a/files/board/arpl/overlayfs/opt/arpl/init.sh +++ b/files/board/arpl/overlayfs/opt/arpl/init.sh @@ -62,6 +62,7 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then writeConfigKey "build" "" "${USER_CONFIG_FILE}" writeConfigKey "sn" "" "${USER_CONFIG_FILE}" writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}" + writeConfigKey "layout" "qwerty" "${USER_CONFIG_FILE}" writeConfigKey "keymap" "" "${USER_CONFIG_FILE}" writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}" writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}" @@ -120,12 +121,13 @@ if [ ${SIZEOFDISK} -ne ${ENDSECTOR} ]; then fi # Load keymap name +LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`" KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`" # Loads a keymap if is valid -if [ -f /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz ]; then - echo -e "Loading keymap \033[1;32m${KEYMAP}\033[0m" - zcat /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz | loadkeys +if [ -f /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz ]; then + echo -e "Loading keymap \033[1;32m${LAYOUT}/${KEYMAP}\033[0m" + zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys fi # Decide if boot automatically diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 6426ac11..494f0d1c 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -19,6 +19,7 @@ DIRTY=0 MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`" BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`" +LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`" KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`" LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`" SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`" @@ -48,9 +49,9 @@ function backtitle() { BACKTITLE+=" (no IP)" fi if [ -n "${KEYMAP}" ]; then - BACKTITLE+=" (${KEYMAP})" + BACKTITLE+=" (${LAYOUT}/${KEYMAP})" else - BACKTITLE+=" (us)" + BACKTITLE+=" (qwerty/us)" fi echo ${BACKTITLE} } @@ -746,19 +747,26 @@ function editUserConfig() { ############################################################################### # Shows available keymaps to user choose one function keymapMenu() { + dialog --backtitle "`backtitle`" --default-item "${LAYOUT}" --no-items \ + --menu "Choose a layout" 0 0 0 "azerty" "bepo" "carpalx" "colemak" \ + "dvorak" "fgGIod" "neo" "olpc" "qwerty" "qwertz" \ + 2>${TMP_PATH}/resp + [ $? -ne 0 ] && return + LAYOUT="`<${TMP_PATH}/resp`" OPTIONS="" while read KM; do OPTIONS+="${KM::-7} " - done < <(cd /usr/share/keymaps/i386/qwerty; ls *.map.gz) - dialog --backtitle "`backtitle`" --no-items \ + done < <(cd /usr/share/keymaps/i386/${LAYOUT}; ls *.map.gz) + dialog --backtitle "`backtitle`" --no-items --default-item "${KEYMAP}" \ --menu "Choice a keymap" 0 0 0 ${OPTIONS} \ 2>/tmp/resp [ $? -ne 0 ] && return resp=`cat /tmp/resp 2>/dev/null` [ -z "${resp}" ] && return KEYMAP=${resp} + writeConfigKey "layout" "${LAYOUT}" "${USER_CONFIG_FILE}" writeConfigKey "keymap" "${KEYMAP}" "${USER_CONFIG_FILE}" - zcat /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz | loadkeys + zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys } ###############################################################################