Deleted Added
full compact
keymap (240684) keymap (240768)
1#!/bin/sh
2#-
3# Copyright (c) 2012 Devin Teske
4# All Rights Reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, THE
17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
1#!/bin/sh
2#-
3# Copyright (c) 2012 Devin Teske
4# All Rights Reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, THE
17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdconfig/console/keymap 240684 2012-09-18 22:28:42Z dteske $
27# $FreeBSD: head/usr.sbin/bsdconfig/console/keymap 240768 2012-09-20 23:44:13Z dteske $
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_include $BSDCFG_SHARE/dialog.subr
34f_include $BSDCFG_SHARE/mustberoot.subr
35f_include $BSDCFG_SHARE/sysrc.subr
36
37BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
38f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
39
40ipgm=$( f_index_menu_selection $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
41[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
42
43############################################################ CONFIGURATION
44
45#
46# List of keymap names
47#
48KEYMAP_NAMES="
49 belgian brazil_cp850 brazil_iso
50 brazil_iso_accent bulgarian_bds bulgarian_phonetic
51 central_european_iso croatian_iso czech_iso_accent
52 danish_cp865 danish_iso estonian_cp850
53 estonian_iso estonian_iso_15 finnish_cp850
54 finnish_iso french_iso french_iso_accent
55 french_iso_macbook german_cp850 german_iso
56 greek_101 greek_104 greek_elot
57 hungarian_101 hungarian_102 icelandic
58 icelandic_accent italian japanese_106
59 latin_american latin_american_accent norway_iso
60 polish_iso portuguese portuguese_accent
61 russia_koi8_r slovak slovenian
62 spanish spanish_accent swedish_cp850
63 swedish_iso swiss_french_cp850 swiss_french_iso
64 swiss_french_iso_accent swiss_german_cp850 swiss_german_iso
65 swiss_german_iso_accent uk_cp850 uk_iso
66 ukrainian_koi8_u ukrainian_koi8_u_koi8_r usa_capslock_ctrl
67 usa_dvorak usa_dvorak_left usa_dvorak_right
68 usa_emacs usa_iso usa_unix
69" # END-QUOTE
70
71############################################################ FUNCTIONS
72
73# dialog_menu_main
74#
75# Display the dialog(1)-based application main menu.
76#
77dialog_menu_main()
78{
79 local menu_list size
80 local hline="$hline_choose_a_keyboard_map"
81 local prompt="$msg_keymap_menu_text"
82
83 #
84 # Export variables for awk(1) ENVIRON visibility
85 #
86 local name
87 for name in $KEYMAP_NAMES; do
88 export msg_$name msg_${name}_desc
89 done
90
91 #
92 # Generate a sorted list of keymaps. If the first letter of the keymap
93 # name is unique (case-insensitive) then it is used as the tag to allow
94 # the user to jump to that entry.
95 #
96 menu_list=$(
97 for name in $KEYMAP_NAMES; do
98 eval echo \"\$msg_$name\" msg_$name
99 done | sort | awk 'BEGIN { prefix = "" }
100 {
101 cur_prefix = tolower(substr(ENVIRON[$NF], 1, 1))
102 printf "'\''"
103 if ( prefix != cur_prefix )
104 prefix = cur_prefix
105 else
106 printf " "
107 printf "%s'\'' '\''%s'\''\n",
108 ENVIRON[$NF], ENVIRON[$NF"_desc"]
109 }'
110 )
111
112 size=$( eval f_dialog_menu_size \
113 \"\$DIALOG_TITLE\" \
114 \"\$DIALOG_BACKTITLE\" \
115 \"\$prompt\" \
116 \"\$hline\" \
117 $menu_list )
118
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_include $BSDCFG_SHARE/dialog.subr
34f_include $BSDCFG_SHARE/mustberoot.subr
35f_include $BSDCFG_SHARE/sysrc.subr
36
37BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
38f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
39
40ipgm=$( f_index_menu_selection $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
41[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
42
43############################################################ CONFIGURATION
44
45#
46# List of keymap names
47#
48KEYMAP_NAMES="
49 belgian brazil_cp850 brazil_iso
50 brazil_iso_accent bulgarian_bds bulgarian_phonetic
51 central_european_iso croatian_iso czech_iso_accent
52 danish_cp865 danish_iso estonian_cp850
53 estonian_iso estonian_iso_15 finnish_cp850
54 finnish_iso french_iso french_iso_accent
55 french_iso_macbook german_cp850 german_iso
56 greek_101 greek_104 greek_elot
57 hungarian_101 hungarian_102 icelandic
58 icelandic_accent italian japanese_106
59 latin_american latin_american_accent norway_iso
60 polish_iso portuguese portuguese_accent
61 russia_koi8_r slovak slovenian
62 spanish spanish_accent swedish_cp850
63 swedish_iso swiss_french_cp850 swiss_french_iso
64 swiss_french_iso_accent swiss_german_cp850 swiss_german_iso
65 swiss_german_iso_accent uk_cp850 uk_iso
66 ukrainian_koi8_u ukrainian_koi8_u_koi8_r usa_capslock_ctrl
67 usa_dvorak usa_dvorak_left usa_dvorak_right
68 usa_emacs usa_iso usa_unix
69" # END-QUOTE
70
71############################################################ FUNCTIONS
72
73# dialog_menu_main
74#
75# Display the dialog(1)-based application main menu.
76#
77dialog_menu_main()
78{
79 local menu_list size
80 local hline="$hline_choose_a_keyboard_map"
81 local prompt="$msg_keymap_menu_text"
82
83 #
84 # Export variables for awk(1) ENVIRON visibility
85 #
86 local name
87 for name in $KEYMAP_NAMES; do
88 export msg_$name msg_${name}_desc
89 done
90
91 #
92 # Generate a sorted list of keymaps. If the first letter of the keymap
93 # name is unique (case-insensitive) then it is used as the tag to allow
94 # the user to jump to that entry.
95 #
96 menu_list=$(
97 for name in $KEYMAP_NAMES; do
98 eval echo \"\$msg_$name\" msg_$name
99 done | sort | awk 'BEGIN { prefix = "" }
100 {
101 cur_prefix = tolower(substr(ENVIRON[$NF], 1, 1))
102 printf "'\''"
103 if ( prefix != cur_prefix )
104 prefix = cur_prefix
105 else
106 printf " "
107 printf "%s'\'' '\''%s'\''\n",
108 ENVIRON[$NF], ENVIRON[$NF"_desc"]
109 }'
110 )
111
112 size=$( eval f_dialog_menu_size \
113 \"\$DIALOG_TITLE\" \
114 \"\$DIALOG_BACKTITLE\" \
115 \"\$prompt\" \
116 \"\$hline\" \
117 $menu_list )
118
119 eval $DIALOG \
119 local dialog_menu
120 dialog_menu=$( eval $DIALOG \
120 --clear --title \"\$DIALOG_TITLE\" \
121 --backtitle \"\$DIALOG_BACKTITLE\" \
122 --hline \"\$hline\" \
123 --ok-label \"\$msg_ok\" \
124 --cancel-label \"\$msg_cancel\" \
125 --menu \"\$prompt\" $size \
126 $menu_list \
121 --clear --title \"\$DIALOG_TITLE\" \
122 --backtitle \"\$DIALOG_BACKTITLE\" \
123 --hline \"\$hline\" \
124 --ok-label \"\$msg_ok\" \
125 --cancel-label \"\$msg_cancel\" \
126 --menu \"\$prompt\" $size \
127 $menu_list \
127 2> "$DIALOG_TMPDIR/dialog.menu.$$"
128 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
129 )
130 local retval=$?
131 setvar DIALOG_MENU_$$ "$dialog_menu"
132 return $retval
128}
129
130############################################################ MAIN
131
132# Incorporate rc-file if it exists
133[ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc"
134
135#
136# Process command-line arguments
137#
138while getopts hSX flag; do
139 case "$flag" in
140 h|\?) f_usage $BSDCFG_LIBE/$APP_DIR/USAGE "PROGRAM_NAME" "$pgm";;
141 esac
142done
143shift $(( $OPTIND - 1 ))
144
145#
146# Initialize
147#
148f_dialog_init
149f_dialog_title "$msg_system_console_keymap"
150f_dialog_backtitle "${ipgm:+bsdconfig }$pgm"
151f_mustberoot_init
152
153#
154# Launch application main menu
155#
156while :; do
157 dialog_menu_main
158 retval=$?
159 mtag=$( f_dialog_menutag )
160
161 [ $retval -eq 0 ] || f_die
162
163 #
164 # Reverse the users choice into the variable name
165 #
166 keymap_name=
167 mtag="${mtag# }" # remove single leading-space if-present
168 for name in $KEYMAP_NAMES; do
169 if [ "$( eval echo \"\$msg_$name\" )" = "$mtag" ]; then
170 keymap_name="$name"
171 break
172 fi
173 done
174
175 [ "$keymap_name" ] || continue
176
177 case "$keymap_name" in
178 belgian)
179 f_sysrc_set keymap "be.iso" || f_die
180 break ;;
181 brazil_cp850)
182 f_sysrc_set keymap "br275.cp850" || f_die
183 break ;;
184 brazil_iso)
185 f_sysrc_set keymap "br275.iso" || f_die
186 break ;;
187 brazil_iso_accent)
188 f_sysrc_set keymap "br275.iso.acc" || f_die
189 break ;;
190 bulgarian_bds)
191 f_sysrc_set keymap "bg.bds.ctrlcaps" || f_die
192 break ;;
193 bulgarian_phonetic)
194 f_sysrc_set keymap "bg.phonetic.ctrlcaps" || f_die
195 break ;;
196 central_european_iso)
197 f_sysrc_set keymap "ce.iso2" || f_die
198 break ;;
199 croatian_iso)
200 f_sysrc_set keymap "hr.iso" || f_die
201 break ;;
202 czech_iso_accent)
203 f_sysrc_set keymap "cs.latin2.qwertz" || f_die
204 break ;;
205 danish_cp865)
206 f_sysrc_set keymap "danish.cp865" || f_die
207 break ;;
208 danish_iso)
209 f_sysrc_set keymap "danish.iso" || f_die
210 break ;;
211 estonian_cp850)
212 f_sysrc_set keymap "estonian.cp850" || f_die
213 break ;;
214 estonian_iso)
215 f_sysrc_set keymap "estonian.iso" || f_die
216 break ;;
217 estonian_iso_15)
218 f_sysrc_set keymap "estonian.iso15" || f_die
219 break ;;
220 finnish_cp850)
221 f_sysrc_set keymap "finnish.cp850" || f_die
222 break ;;
223 finnish_iso)
224 f_sysrc_set keymap "finnish.iso" || f_die
225 break ;;
226 french_iso)
227 f_sysrc_set keymap "fr.iso" || f_die
228 break ;;
229 french_iso_accent)
230 f_sysrc_set keymap "fr.iso.acc" || f_die
231 break ;;
232 french_iso_macbook)
233 f_sysrc_set keymap "fr.macbook.acc" || f_die
234 break ;;
235 german_cp850)
236 f_sysrc_set keymap "german.cp850" || f_die
237 break ;;
238 german_iso)
239 f_sysrc_set keymap "german.iso" || f_die
240 break ;;
241 greek_101)
242 f_sysrc_set keymap "gr.us101.acc" || f_die
243 break ;;
244 greek_104)
245 f_sysrc_set keymap "el.iso07" || f_die
246 break ;;
247 greek_elot)
248 f_sysrc_set keymap "gr.elot.acc" || f_die
249 break ;;
250 hungarian_101)
251 f_sysrc_set keymap "hu.iso2.101keys" || f_die
252 break ;;
253 hungarian_102)
254 f_sysrc_set keymap "hu.iso2.102keys" || f_die
255 break ;;
256 icelandic)
257 f_sysrc_set keymap "icelandic.iso" || f_die
258 break ;;
259 icelandic_accent)
260 f_sysrc_set keymap "icelandic.iso.acc" || f_die
261 break ;;
262 italian)
263 f_sysrc_set keymap "it.iso" || f_die
264 break ;;
265 japanese_106)
266 f_sysrc_set keymap "jp.106" || f_die
267 break ;;
268 latin_american)
269 f_sysrc_set keymap "latinamerican" || f_die
270 break ;;
271 latin_american_accent)
272 f_sysrc_set keymap "latinamerican.iso.acc" || f_die
273 break ;;
274 norway_iso)
275 f_sysrc_set keymap "norwegian.iso" || f_die
276 break ;;
277 polish_iso)
278 f_sysrc_set keymap "pl_PL.ISO8859-2" || f_die
279 break ;;
280 portuguese)
281 f_sysrc_set keymap "pt.iso" || f_die
282 break ;;
283 portuguese_accent)
284 f_sysrc_set keymap "pt.iso.acc" || f_die
285 break ;;
286 russia_koi8_r)
287 f_sysrc_set keymap "ru.koi8-r" || f_die
288 break ;;
289 slovak)
290 f_sysrc_set keymap "sk.iso2" || f_die
291 break ;;
292 slovenian)
293 f_sysrc_set keymap "si.iso" || f_die
294 break ;;
295 spanish)
296 f_sysrc_set keymap "spanish.iso" || f_die
297 break ;;
298 spanish_accent)
299 f_sysrc_set keymap "spanish.iso.acc" || f_die
300 break ;;
301 swedish_cp850)
302 f_sysrc_set keymap "swedish.cp850" || f_die
303 break ;;
304 swedish_iso)
305 f_sysrc_set keymap "swedish.iso" || f_die
306 break ;;
307 swiss_french_cp850)
308 f_sysrc_set keymap "swissfrench.cp850" || f_die
309 break ;;
310 swiss_french_iso)
311 f_sysrc_set keymap "swissfrench.iso" || f_die
312 break ;;
313 swiss_french_iso_accent)
314 f_sysrc_set keymap "swissfrench.iso.acc" || f_die
315 break ;;
316 swiss_german_cp850)
317 f_sysrc_set keymap "swissgerman.cp850" || f_die
318 break ;;
319 swiss_german_iso)
320 f_sysrc_set keymap "swissgerman.iso" || f_die
321 break ;;
322 swiss_german_iso_accent)
323 f_sysrc_set keymap "swissgerman.iso.acc" || f_die
324 break ;;
325 uk_cp850)
326 f_sysrc_set keymap "uk.cp850" || f_die
327 break ;;
328 uk_iso)
329 f_sysrc_set keymap "uk.iso" || f_die
330 break ;;
331 ukrainian_koi8_u)
332 f_sysrc_set keymap "ua.koi8-u" || f_die
333 break ;;
334 ukrainian_koi8_u_koi8_r)
335 f_sysrc_set keymap "ua.koi8-u.shift.alt" || f_die
336 break ;;
337 usa_capslock_ctrl)
338 f_sysrc_set keymap "us.pc-ctrl" || f_die
339 break ;;
340 usa_dvorak)
341 f_sysrc_set keymap "us.dvorak" || f_die
342 break ;;
343 usa_dvorak_left)
344 f_sysrc_set keymap "us.dvorakl" || f_die
345 break ;;
346 usa_dvorak_right)
347 f_sysrc_set keymap "us.dvorakr" || f_die
348 break ;;
349 usa_emacs)
350 f_sysrc_set keymap "us.emacs" || f_die
351 break ;;
352 usa_iso)
353 f_sysrc_set keymap "us.iso" || f_die
354 break ;;
355 usa_unix)
356 f_sysrc_set keymap "us.unix" || f_die
357 break ;;
358 esac
359done
360
361exit $SUCCESS
362
363################################################################################
364# END
365################################################################################
133}
134
135############################################################ MAIN
136
137# Incorporate rc-file if it exists
138[ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc"
139
140#
141# Process command-line arguments
142#
143while getopts hSX flag; do
144 case "$flag" in
145 h|\?) f_usage $BSDCFG_LIBE/$APP_DIR/USAGE "PROGRAM_NAME" "$pgm";;
146 esac
147done
148shift $(( $OPTIND - 1 ))
149
150#
151# Initialize
152#
153f_dialog_init
154f_dialog_title "$msg_system_console_keymap"
155f_dialog_backtitle "${ipgm:+bsdconfig }$pgm"
156f_mustberoot_init
157
158#
159# Launch application main menu
160#
161while :; do
162 dialog_menu_main
163 retval=$?
164 mtag=$( f_dialog_menutag )
165
166 [ $retval -eq 0 ] || f_die
167
168 #
169 # Reverse the users choice into the variable name
170 #
171 keymap_name=
172 mtag="${mtag# }" # remove single leading-space if-present
173 for name in $KEYMAP_NAMES; do
174 if [ "$( eval echo \"\$msg_$name\" )" = "$mtag" ]; then
175 keymap_name="$name"
176 break
177 fi
178 done
179
180 [ "$keymap_name" ] || continue
181
182 case "$keymap_name" in
183 belgian)
184 f_sysrc_set keymap "be.iso" || f_die
185 break ;;
186 brazil_cp850)
187 f_sysrc_set keymap "br275.cp850" || f_die
188 break ;;
189 brazil_iso)
190 f_sysrc_set keymap "br275.iso" || f_die
191 break ;;
192 brazil_iso_accent)
193 f_sysrc_set keymap "br275.iso.acc" || f_die
194 break ;;
195 bulgarian_bds)
196 f_sysrc_set keymap "bg.bds.ctrlcaps" || f_die
197 break ;;
198 bulgarian_phonetic)
199 f_sysrc_set keymap "bg.phonetic.ctrlcaps" || f_die
200 break ;;
201 central_european_iso)
202 f_sysrc_set keymap "ce.iso2" || f_die
203 break ;;
204 croatian_iso)
205 f_sysrc_set keymap "hr.iso" || f_die
206 break ;;
207 czech_iso_accent)
208 f_sysrc_set keymap "cs.latin2.qwertz" || f_die
209 break ;;
210 danish_cp865)
211 f_sysrc_set keymap "danish.cp865" || f_die
212 break ;;
213 danish_iso)
214 f_sysrc_set keymap "danish.iso" || f_die
215 break ;;
216 estonian_cp850)
217 f_sysrc_set keymap "estonian.cp850" || f_die
218 break ;;
219 estonian_iso)
220 f_sysrc_set keymap "estonian.iso" || f_die
221 break ;;
222 estonian_iso_15)
223 f_sysrc_set keymap "estonian.iso15" || f_die
224 break ;;
225 finnish_cp850)
226 f_sysrc_set keymap "finnish.cp850" || f_die
227 break ;;
228 finnish_iso)
229 f_sysrc_set keymap "finnish.iso" || f_die
230 break ;;
231 french_iso)
232 f_sysrc_set keymap "fr.iso" || f_die
233 break ;;
234 french_iso_accent)
235 f_sysrc_set keymap "fr.iso.acc" || f_die
236 break ;;
237 french_iso_macbook)
238 f_sysrc_set keymap "fr.macbook.acc" || f_die
239 break ;;
240 german_cp850)
241 f_sysrc_set keymap "german.cp850" || f_die
242 break ;;
243 german_iso)
244 f_sysrc_set keymap "german.iso" || f_die
245 break ;;
246 greek_101)
247 f_sysrc_set keymap "gr.us101.acc" || f_die
248 break ;;
249 greek_104)
250 f_sysrc_set keymap "el.iso07" || f_die
251 break ;;
252 greek_elot)
253 f_sysrc_set keymap "gr.elot.acc" || f_die
254 break ;;
255 hungarian_101)
256 f_sysrc_set keymap "hu.iso2.101keys" || f_die
257 break ;;
258 hungarian_102)
259 f_sysrc_set keymap "hu.iso2.102keys" || f_die
260 break ;;
261 icelandic)
262 f_sysrc_set keymap "icelandic.iso" || f_die
263 break ;;
264 icelandic_accent)
265 f_sysrc_set keymap "icelandic.iso.acc" || f_die
266 break ;;
267 italian)
268 f_sysrc_set keymap "it.iso" || f_die
269 break ;;
270 japanese_106)
271 f_sysrc_set keymap "jp.106" || f_die
272 break ;;
273 latin_american)
274 f_sysrc_set keymap "latinamerican" || f_die
275 break ;;
276 latin_american_accent)
277 f_sysrc_set keymap "latinamerican.iso.acc" || f_die
278 break ;;
279 norway_iso)
280 f_sysrc_set keymap "norwegian.iso" || f_die
281 break ;;
282 polish_iso)
283 f_sysrc_set keymap "pl_PL.ISO8859-2" || f_die
284 break ;;
285 portuguese)
286 f_sysrc_set keymap "pt.iso" || f_die
287 break ;;
288 portuguese_accent)
289 f_sysrc_set keymap "pt.iso.acc" || f_die
290 break ;;
291 russia_koi8_r)
292 f_sysrc_set keymap "ru.koi8-r" || f_die
293 break ;;
294 slovak)
295 f_sysrc_set keymap "sk.iso2" || f_die
296 break ;;
297 slovenian)
298 f_sysrc_set keymap "si.iso" || f_die
299 break ;;
300 spanish)
301 f_sysrc_set keymap "spanish.iso" || f_die
302 break ;;
303 spanish_accent)
304 f_sysrc_set keymap "spanish.iso.acc" || f_die
305 break ;;
306 swedish_cp850)
307 f_sysrc_set keymap "swedish.cp850" || f_die
308 break ;;
309 swedish_iso)
310 f_sysrc_set keymap "swedish.iso" || f_die
311 break ;;
312 swiss_french_cp850)
313 f_sysrc_set keymap "swissfrench.cp850" || f_die
314 break ;;
315 swiss_french_iso)
316 f_sysrc_set keymap "swissfrench.iso" || f_die
317 break ;;
318 swiss_french_iso_accent)
319 f_sysrc_set keymap "swissfrench.iso.acc" || f_die
320 break ;;
321 swiss_german_cp850)
322 f_sysrc_set keymap "swissgerman.cp850" || f_die
323 break ;;
324 swiss_german_iso)
325 f_sysrc_set keymap "swissgerman.iso" || f_die
326 break ;;
327 swiss_german_iso_accent)
328 f_sysrc_set keymap "swissgerman.iso.acc" || f_die
329 break ;;
330 uk_cp850)
331 f_sysrc_set keymap "uk.cp850" || f_die
332 break ;;
333 uk_iso)
334 f_sysrc_set keymap "uk.iso" || f_die
335 break ;;
336 ukrainian_koi8_u)
337 f_sysrc_set keymap "ua.koi8-u" || f_die
338 break ;;
339 ukrainian_koi8_u_koi8_r)
340 f_sysrc_set keymap "ua.koi8-u.shift.alt" || f_die
341 break ;;
342 usa_capslock_ctrl)
343 f_sysrc_set keymap "us.pc-ctrl" || f_die
344 break ;;
345 usa_dvorak)
346 f_sysrc_set keymap "us.dvorak" || f_die
347 break ;;
348 usa_dvorak_left)
349 f_sysrc_set keymap "us.dvorakl" || f_die
350 break ;;
351 usa_dvorak_right)
352 f_sysrc_set keymap "us.dvorakr" || f_die
353 break ;;
354 usa_emacs)
355 f_sysrc_set keymap "us.emacs" || f_die
356 break ;;
357 usa_iso)
358 f_sysrc_set keymap "us.iso" || f_die
359 break ;;
360 usa_unix)
361 f_sysrc_set keymap "us.unix" || f_die
362 break ;;
363 esac
364done
365
366exit $SUCCESS
367
368################################################################################
369# END
370################################################################################