mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
Fixing keymap selection with layout
This commit is contained in:
parent
a7547c3f56
commit
227a374657
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
Loading…
x
Reference in New Issue
Block a user