--- /dev/null
+#!/bin/bash
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2008 Michael Tremer & Christian Schmidt #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+is_true() {
+ [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ]
+}
+
+# Native English speakers probably don't have /etc/sysconfig/console at all
+if [ -f /etc/sysconfig/console ]; then
+ . /etc/sysconfig/console
+fi
+
+# Setting default values
+[ -z "$UNICODE" ] && UNICODE=1
+[ -z "$FONT" ] && FONT="LatArCyrHeb-16"
+
+device="/dev/$1"
+
+# Figure out the mode to set the console into
+if is_true "${UNICODE}"; then
+ echo -en '\033%G' > $device
+else
+ echo -en '\033%@' > $device
+fi
+
+# Setting font
+setfont ${FONT} -C $device
+
+# Setting up keyboard
+if [ -n "$KEYMAP" ]; then
+ if is_true "${UNICODE}"; then
+ loadkeys -u $KEYMAP >/dev/null
+ else
+ loadkeys $KEYMAP >/dev/null
+ fi
+ [ -n "$KEYMAP_CORRECTIONS" ] && \
+ loadkeys $KEYMAP_CORRECTIONS >/dev/null
+fi