#!/bin/bash

#
# Copyright 1993,1994,1999 Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2001, 2003 Slackware Linux, Inc., Concord, CA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# As always, bug reports, suggestions, etc: volkerdi@slackware.com
#

#
# This script is a modified version of the SeTkeymap from the 
# Slackware 9.1.
#

#
# GoboLinux version Changelog
# 
#   XX/02/2005 - [detsch] Cleanup and internalization support
#   09/11/2003 - Guilherme Balestieri Bedin (gbedin)
#       - First version    
#

source GoboPath

function tr() {
   Translate "$1" "${goboPrograms}/LiveCD/Current/Data/Language/tt2_${LANG}.ts" "${LANG}"
}

TITLE_MAIN=`
    tr "Keyboard map selection"
`

TEXT_MAIN=`
   tr "You may select one of the following keyboard maps."
   tr "If you do not select a keyboard map, us.map"
   tr "(the US keyboard map) is the default.  Use the UP/DOWN" 
   tr "arrow keys and PageUp/PageDown to scroll through the" 
   tr "whole list of choices."
`

defaults_for_language=(
"qwerty/us.map" ""
"qwerty/us-acentos.map" ""
"qwerty/uk.map" ""
)

case "$LANG" in
pt_BR)
   defaults_for_language=(
   "qwerty/br-abnt2.map" ""
   "qwerty/br-abnt.map" ""
   "qwerty/br-latin1-abnt2.map" ""
   "qwerty/br-latin1-us.map" ""
   "qwerty/pt-latin1.map" ""
   "qwerty/pt-latin9.map" ""
   )
   ;;
de_DE)
   defaults_for_language=(
   "qwertz/de-latin1.map" ""
   "qwertz/de.map" ""
   "qwertz/de-latin1-nodeadkeys.map" ""
   "qwertz/de_CH-latin1.map" ""
   )
   ;;
fr_FR)
  defaults_for_language=(
  "azerty/fr-latin1.map" ""
  "azerty/fr-latin9.map" ""
  "azerty/fr-pc.map" ""
  "azerty/fr.map" ""
  )
  ;;
hu_HU)
   defaults_for_language=(
   "qwertz/hu.map" ""
   "qwertz/hu101.map" ""
   )
   ;;
esac

while : 
do

dialog --nocancel --title "${TITLE_MAIN}"  --menu "${TEXT_MAIN}" \
  22 65 11 \
  "${defaults_for_language[@]}" \
  "dvorak/dvorak.map" "" \
  "azerty/azerty.map" "" \
  "azerty/be-latin1.map" "" \
  "azerty/fr-latin1.map" "" \
  "azerty/fr-latin9.map" "" \
  "azerty/fr-pc.map" "" \
  "azerty/fr.map" "" \
  "azerty/wangbe.map" "" \
  "azerty/wangbe2.map" "" \
  "dvorak/ANSI-dvorak.map" "" \
  "dvorak/dvorak-l.map" "" \
  "dvorak/dvorak-r.map" "" \
  "dvorak/dvorak.map" "" \
  "fgGIod/tr_f-latin5.map" "" \
  "fgGIod/trf.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.map" "" \
  "qwerty/cf.map" "" \
  "qwerty/cz-cp1250.map" "" \
  "qwerty/cz-lat2-prog.map" "" \
  "qwerty/cz-lat2.map" "" \
  "qwerty/cz.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.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/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/pl2.map" "" \
  "qwerty/pt-latin1.map" "" \
  "qwerty/pt-latin9.map" "" \
  "qwerty/ro_win.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/se-fi-ir209.map" "" \
  "qwerty/se-fi-lat6.map" "" \
  "qwerty/se-ir209.map" "" \
  "qwerty/se-lat6.map" "" \
  "qwerty/sk-prog-qwerty.map" "" \
  "qwerty/sk-qwerty.map" "" \
  "qwerty/sr-cy.map" "" \
  "qwerty/sv-latin1.map" "" \
  "qwerty/tr_q-latin5.map" "" \
  "qwerty/tralt.map" "" \
  "qwerty/trq.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/de-latin1-nodeadkeys.map" "" \
  "qwertz/de-latin1.map" "" \
  "qwertz/de.map" "" \
  "qwertz/de_CH-latin1.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" "" 
  
[ "$?" = 0 ] && exit 0
  
done
