#!/bin/sh # Copyright 1993, 1999, 2002 Patrick Volkerding, Moorhead, MN. # Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA # Use and redistribution covered by the same terms as the "setup" script. TMP=/var/log/setup/tmp RDIR=/dev/tty4 if [ ! -d $TMP ]; then mkdir -p $TMP fi while [ 0 ]; do dialog --title "KEYBOARD MAP SELECTION" --menu "You may select one \ of the following keyboard maps. If you do not select a keyboard \ map, 'us.map' (the US keyboard map) is the default. Use the UP/DOWN \ arrow keys and PageUp/PageDown to scroll \ through the whole list of choices." \ 22 55 11 \ "qwerty/us.map" "" \ "qwerty/uk.map" "" \ "azerty/azerty.map" "" \ "azerty/be-latin1.map" "" \ "azerty/fr-latin0.map" "" \ "azerty/fr-latin1.map" "" \ "azerty/fr-latin9.map" "" \ "azerty/fr-old.map" "" \ "azerty/fr-pc.map" "" \ "azerty/fr.map" "" \ "azerty/wangbe.map" "" \ "azerty/wangbe2.map" "" \ "colemak/en-latin9.map" "" \ "dvorak/ANSI-dvorak.map" "" \ "dvorak/dvorak-fr.map" "" \ "dvorak/dvorak-l.map" "" \ "dvorak/dvorak-r.map" "" \ "dvorak/dvorak.map" "" \ "dvorak/no-dvorak.map" "" \ "fgGIod/tr_f-latin5.map" "" \ "fgGIod/trf-fgGIod.map" "" \ "olpc/es-olpc.map" "" \ "olpc/pt-olpc.map" "" \ "qwerty/bashkir.map" "" \ "qwerty/bg-cp1251.map" "" \ "qwerty/bg-cp855.map" "" \ "qwerty/bg_bds-cp1251.map" "" \ "qwerty/bg_bds-utf8.map" "" \ "qwerty/bg_pho-cp1251.map" "" \ "qwerty/bg_pho-utf8.map" "" \ "qwerty/br-abnt.map" "" \ "qwerty/br-abnt2.map" "" \ "qwerty/br-latin1-abnt2.map" "" \ "qwerty/br-latin1-us.map" "" \ "qwerty/by-cp1251.map" "" \ "qwerty/by.map" "" \ "qwerty/bywin-cp1251.map" "" \ "qwerty/cf.map" "" \ "qwerty/cz-cp1250.map" "" \ "qwerty/cz-lat2-prog.map" "" \ "qwerty/cz-lat2.map" "" \ "qwerty/cz-qwerty.map" "" \ "qwerty/defkeymap.map" "" \ "qwerty/defkeymap_V1.0.map" "" \ "qwerty/dk-latin1.map" "" \ "qwerty/dk.map" "" \ "qwerty/emacs.map" "" \ "qwerty/emacs2.map" "" \ "qwerty/es-cp850.map" "" \ "qwerty/es.map" "" \ "qwerty/et-nodeadkeys.map" "" \ "qwerty/et.map" "" \ "qwerty/fi-latin1.map" "" \ "qwerty/fi-latin9.map" "" \ "qwerty/fi-old.map" "" \ "qwerty/fi.map" "" \ "qwerty/gr-pc.map" "" \ "qwerty/gr.map" "" \ "qwerty/hu101.map" "" \ "qwerty/il-heb.map" "" \ "qwerty/il-phonetic.map" "" \ "qwerty/il.map" "" \ "qwerty/is-latin1-us.map" "" \ "qwerty/is-latin1.map" "" \ "qwerty/it-ibm.map" "" \ "qwerty/it.map" "" \ "qwerty/it2.map" "" \ "qwerty/jp106.map" "" \ "qwerty/kazakh.map" "" \ "qwerty/ky_alt_sh-UTF-8.map" "" \ "qwerty/kyrgyz.map" "" \ "qwerty/la-latin1.map" "" \ "qwerty/lt.baltic.map" "" \ "qwerty/lt.l4.map" "" \ "qwerty/lt.map" "" \ "qwerty/mk-cp1251.map" "" \ "qwerty/mk-utf.map" "" \ "qwerty/mk.map" "" \ "qwerty/mk0.map" "" \ "qwerty/nl.map" "" \ "qwerty/nl2.map" "" \ "qwerty/no-latin1.map" "" \ "qwerty/no.map" "" \ "qwerty/pc110.map" "" \ "qwerty/pl.map" "" \ "qwerty/pl1.map" "" \ "qwerty/pl2.map" "" \ "qwerty/pl3.map" "" \ "qwerty/pl4.map" "" \ "qwerty/pt-latin1.map" "" \ "qwerty/pt-latin9.map" "" \ "qwerty/pt.map" "" \ "qwerty/ro.map" "" \ "qwerty/ro_std.map" "" \ "qwerty/ru-cp1251.map" "" \ "qwerty/ru-ms.map" "" \ "qwerty/ru-yawerty.map" "" \ "qwerty/ru.map" "" \ "qwerty/ru1.map" "" \ "qwerty/ru2.map" "" \ "qwerty/ru3.map" "" \ "qwerty/ru4.map" "" \ "qwerty/ru_win.map" "" \ "qwerty/ruwin_alt-CP1251.map" "" \ "qwerty/ruwin_alt-KOI8-R.map" "" \ "qwerty/ruwin_alt-UTF-8.map" "" \ "qwerty/ruwin_cplk-CP1251.map" "" \ "qwerty/ruwin_cplk-KOI8-R.map" "" \ "qwerty/ruwin_cplk-UTF-8.map" "" \ "qwerty/ruwin_ct_sh-CP1251.map" "" \ "qwerty/ruwin_ct_sh-KOI8-R.map" "" \ "qwerty/ruwin_ct_sh-UTF-8.map" "" \ "qwerty/ruwin_ctrl-CP1251.map" "" \ "qwerty/ruwin_ctrl-KOI8-R.map" "" \ "qwerty/ruwin_ctrl-UTF-8.map" "" \ "qwerty/se-fi-ir209.map" "" \ "qwerty/se-fi-lat6.map" "" \ "qwerty/se-ir209.map" "" \ "qwerty/se-lat6.map" "" \ "qwerty/se-latin1.map" "" \ "qwerty/sk-prog-qwerty.map" "" \ "qwerty/sk-qwerty.map" "" \ "qwerty/speakup-jfw.map" "" \ "qwerty/speakupmap.map" "" \ "qwerty/sr-cy.map" "" \ "qwerty/sv-latin1.map" "" \ "qwerty/tj_alt-UTF8.map" "" \ "qwerty/tr_q-latin5.map" "" \ "qwerty/tralt.map" "" \ "qwerty/trf.map" "" \ "qwerty/trq.map" "" \ "qwerty/ttwin_alt-UTF-8.map" "" \ "qwerty/ttwin_cplk-UTF-8.map" "" \ "qwerty/ttwin_ct_sh-UTF-8.map" "" \ "qwerty/ttwin_ctrl-UTF-8.map" "" \ "qwerty/ua-cp1251.map" "" \ "qwerty/ua-utf-ws.map" "" \ "qwerty/ua-utf.map" "" \ "qwerty/ua-ws.map" "" \ "qwerty/ua.map" "" \ "qwerty/uk.map" "" \ "qwerty/us-acentos.map" "" \ "qwerty/us.map" "" \ "qwertz/croat.map" "" \ "qwertz/cz-us-qwertz.map" "" \ "qwertz/cz.map" "" \ "qwertz/de-latin1-nodeadkeys.map" "" \ "qwertz/de-latin1.map" "" \ "qwertz/de-mobii.map" "" \ "qwertz/de.map" "" \ "qwertz/de_CH-latin1.map" "" \ "qwertz/de_alt_UTF-8.map" "" \ "qwertz/fr_CH-latin1.map" "" \ "qwertz/fr_CH.map" "" \ "qwertz/hu.map" "" \ "qwertz/sg-latin1-lk450.map" "" \ "qwertz/sg-latin1.map" "" \ "qwertz/sg.map" "" \ "qwertz/sk-prog-qwertz.map" "" \ "qwertz/sk-qwertz.map" "" \ "qwertz/slovene.map" "" \ 2> $TMP/SeTkeymap if [ ! $? = 0 ]; then rm -f $TMP/SeTkeymap exit fi MAPNAME="`cat $TMP/SeTkeymap`" MAPNAME="`basename $MAPNAME`" echo $MAPNAME > $TMP/SeTkeymap BMAP="`basename $MAPNAME .map`.bmap" tar xzOf /etc/keymaps.tar.gz $BMAP > /dev/null && tar xzOf /etc/keymaps.tar.gz $BMAP | loadkmap while [ 0 ]; do # Match the dialog colors a little while doing the keyboard test: setterm -background cyan -foreground black -blank 0 clear cat << EOF OK, the new map is now installed. You may now test it by typing anything you want. To quit testing the keyboard, enter 1 on a line by itself to accept the map and go on, or 2 on a line by itself to reject the current keyboard map and select a new one. EOF echo -n " " read REPLY if [ "$REPLY" = "1" -o "$REPLY" = "2" ]; then break; fi done setterm -background black -foreground white -blank 0 if [ "$REPLY" = "1" ]; then # Make a persistent (P) copy so starting setup won't erase it: cp $TMP/SeTkeymap $TMP/Pkeymap break; else rm -f $TMP/$MAPNAME rm -f $TMP/SeTkeymap $TMP/Pkeymap # Clear bad selection: tar xzOf /etc/keymaps.tar.gz us.bmap > /dev/null && tar xzOf /etc/keymaps.tar.gz us.bmap | loadkmap continue; fi done