# HG changeset patch # User Pascal Bellard # Date 1303033118 -7200 # Node ID 02bac4e0fafe5aaca677b3b9fbd04ba3c65bf3a0 # Parent 4b1778d699c1b2fdd0f7f45b4b0971f8d7467637 settings.cgi: add console keymap support diff -r 4b1778d699c1 -r 02bac4e0fafe settings.cgi --- a/settings.cgi Sun Apr 17 02:07:00 2011 +0200 +++ b/settings.cgi Sun Apr 17 11:38:38 2011 +0200 @@ -23,6 +23,15 @@ done } +# Get the list of console keymaps +list_keymaps() { + cd /usr/share/kmap + for keymap in *.kmap + do + basename $keymap .kmap | sed "s|.*||" + done +} + # Get the list of panel styles list_styles() { cd $PANEL/styles @@ -75,6 +84,8 @@ fi ;; *\ gen_locale\ *) new_locale=$(GET gen_locale) ;; + *\ gen_keymap\ *) + new_keymap=$(GET gen_keymap) ;; *\ rdate\ *) rdate -s tick.greyware.com ;; *\ hwclock\ *) @@ -221,6 +232,31 @@ + +

`gettext "Console keymap"`

+

+EOT + # Check if a new keymap was requested + if [ -n "$new_keymap" ]; then + echo "$new_keymap" > /etc/keymap.conf + if [ -x /bin/loadkeys ]; then + loadkeys $new_keymap + else + loadkmap < /usr/share/kmap/$new_keymap.kmap + fi + fi + gettext "Current console keymap: " + cat /etc/keymap.conf + cat << EOT +

+
+ $(gettext "Available keymaps:") + + +
+

$(gettext "Panel configuration")