10696600cSBjoern A. Zeeb#!/bin/sh - 20696600cSBjoern A. Zeeb# 30696600cSBjoern A. Zeeb# Copyright (c) 2000 The FreeBSD Project 40696600cSBjoern A. Zeeb# All rights reserved. 50696600cSBjoern A. Zeeb# 60696600cSBjoern A. Zeeb# Redistribution and use in source and binary forms, with or without 70696600cSBjoern A. Zeeb# modification, are permitted provided that the following conditions 80696600cSBjoern A. Zeeb# are met: 90696600cSBjoern A. Zeeb# 1. Redistributions of source code must retain the above copyright 100696600cSBjoern A. Zeeb# notice, this list of conditions and the following disclaimer. 110696600cSBjoern A. Zeeb# 2. Redistributions in binary form must reproduce the above copyright 120696600cSBjoern A. Zeeb# notice, this list of conditions and the following disclaimer in the 130696600cSBjoern A. Zeeb# documentation and/or other materials provided with the distribution. 140696600cSBjoern A. Zeeb# 150696600cSBjoern A. Zeeb# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 160696600cSBjoern A. Zeeb# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 170696600cSBjoern A. Zeeb# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 180696600cSBjoern A. Zeeb# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 190696600cSBjoern A. Zeeb# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 200696600cSBjoern A. Zeeb# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 210696600cSBjoern A. Zeeb# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 220696600cSBjoern A. Zeeb# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 230696600cSBjoern A. Zeeb# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 240696600cSBjoern A. Zeeb# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 250696600cSBjoern A. Zeeb# SUCH DAMAGE. 260696600cSBjoern A. Zeeb# 270696600cSBjoern A. Zeeb# $FreeBSD$ 280696600cSBjoern A. Zeeb# 290696600cSBjoern A. Zeeb 300696600cSBjoern A. Zeeb# PROVIDE: syscons 310696600cSBjoern A. Zeeb# REQUIRE: LOGIN 320696600cSBjoern A. Zeeb# KEYWORD: nojail 330696600cSBjoern A. Zeeb 340696600cSBjoern A. Zeeb. /etc/rc.subr 350696600cSBjoern A. Zeeb 360696600cSBjoern A. Zeebname="syscons" 370696600cSBjoern A. Zeebdesc="Configure the system console" 380696600cSBjoern A. Zeebextra_commands="setkeyboard" 390696600cSBjoern A. Zeebsetkeyboard_cmd="syscons_setkeyboard" 400696600cSBjoern A. Zeebstart_precmd="syscons_precmd" 410696600cSBjoern A. Zeebstart_cmd="syscons_start" 420696600cSBjoern A. Zeebstop_cmd=":" 430696600cSBjoern A. Zeeb 440696600cSBjoern A. Zeeb# stdin must be redirected because it might be for a serial console 450696600cSBjoern A. Zeeb# 460696600cSBjoern A. Zeebkbddev=/dev/ttyv0 470696600cSBjoern A. Zeebviddev=/dev/ttyv0 480696600cSBjoern A. Zeeb 490696600cSBjoern A. Zeeb_sc_config= 500696600cSBjoern A. Zeeb_sc_console= 510696600cSBjoern A. Zeeb_sc_initdone= 520696600cSBjoern A. Zeeb_sc_keymap_msg= 530696600cSBjoern A. Zeebsc_init() 540696600cSBjoern A. Zeeb{ 550696600cSBjoern A. Zeeb if [ -z "${_sc_initdone}" ]; then 560696600cSBjoern A. Zeeb if [ -z "${_sc_console}" ]; then 570696600cSBjoern A. Zeeb if [ x`sysctl -n kern.vty` = x"vt" ]; then 580696600cSBjoern A. Zeeb _sc_console="vt" 590696600cSBjoern A. Zeeb else 600696600cSBjoern A. Zeeb _sc_console="syscons" 610696600cSBjoern A. Zeeb fi 620696600cSBjoern A. Zeeb _sc_config="${_sc_console}" 630696600cSBjoern A. Zeeb fi 640696600cSBjoern A. Zeeb echo -n "Configuring ${_sc_config}:" 650696600cSBjoern A. Zeeb _sc_initdone=yes 660696600cSBjoern A. Zeeb fi 670696600cSBjoern A. Zeeb} 680696600cSBjoern A. Zeeb 690696600cSBjoern A. Zeeb# syscons to vt migration helper 700696600cSBjoern A. Zeeblookup_keymap_for_vt() 710696600cSBjoern A. Zeeb{ 720696600cSBjoern A. Zeeb keymap=`basename $1 .kbd` 730696600cSBjoern A. Zeeb case $keymap in 740696600cSBjoern A. Zeebhy.armscii-8) echo am;; 750696600cSBjoern A. Zeebbe.iso.acc) echo be.acc;; 760696600cSBjoern A. Zeebbe.iso) echo be;; 770696600cSBjoern A. Zeebbg.bds.ctrlcaps) echo bg.bds;; 780696600cSBjoern A. Zeebbg.phonetic.ctrlcaps) echo bg.phonetic;; 790696600cSBjoern A. Zeebbr275.iso.acc) echo br;; 800696600cSBjoern A. Zeebbr275.*) echo br.noacc;; 810696600cSBjoern A. Zeebby.*) echo by;; 820696600cSBjoern A. Zeebfr_CA.iso.acc) echo ca-fr;; 830696600cSBjoern A. Zeebswissgerman.macbook.acc) echo ch.macbook.acc;; 840696600cSBjoern A. Zeebswissgerman.iso.acc) echo ch.acc;; 850696600cSBjoern A. Zeebswissgerman.*) echo ch;; 860696600cSBjoern A. Zeebswissfrench.iso.acc) echo ch-fr.acc;; 870696600cSBjoern A. Zeebswissfrench.*) echo ch-fr;; 880696600cSBjoern A. Zeebce.iso2) echo centraleuropean.qwerty;; 890696600cSBjoern A. Zeebcolemak.iso15.acc) echo colemak.acc;; 900696600cSBjoern A. Zeebcs.*|cz.*) echo cz;; 910696600cSBjoern A. Zeebgerman.iso.acc) echo de.acc;; 920696600cSBjoern A. Zeebgerman.*) echo de;; 930696600cSBjoern A. Zeebdanish.iso.acc) echo dk.acc;; 940696600cSBjoern A. Zeebdanish.iso.macbook) echo dk.macbook;; 950696600cSBjoern A. Zeebdanish.*) echo dk;; 960696600cSBjoern A. Zeebestonian.*) echo ee;; 970696600cSBjoern A. Zeebspanish.dvorak) echo es.dvorak;; 980696600cSBjoern A. Zeebspanish.iso*.acc) echo es.acc;; 990696600cSBjoern A. Zeebspanish.iso) echo es;; 1000696600cSBjoern A. Zeebfinnish.*) echo fi;; 1010696600cSBjoern A. Zeebfr.macbook.acc) echo fr.macbook;; 1020696600cSBjoern A. Zeebfr.iso.acc) echo fr.acc;; 1030696600cSBjoern A. Zeebfr.iso) echo fr;; 1040696600cSBjoern A. Zeebel.iso07) echo gr;; 1050696600cSBjoern A. Zeebgr.us101.acc) echo gr.101.acc;; 1060696600cSBjoern A. Zeebhr.iso) echo hr;; 1070696600cSBjoern A. Zeebhu.iso2.101keys) echo hu.101;; 1080696600cSBjoern A. Zeebhu.iso2.102keys) echo hu.102;; 1090696600cSBjoern A. Zeebiw.iso8) echo il;; 1100696600cSBjoern A. Zeebicelandic.iso.acc) echo is.acc;; 1110696600cSBjoern A. Zeebicelandic.iso) echo is;; 1120696600cSBjoern A. Zeebit.iso) echo it;; 1130696600cSBjoern A. Zeebjp.106x) echo jp.capsctrl;; 1140696600cSBjoern A. Zeebjp.106) echo jp;; 1150696600cSBjoern A. Zeebkk.pt154.io) echo kz.io;; 1160696600cSBjoern A. Zeebkk.pt154.kst) echo kz.kst;; 1170696600cSBjoern A. Zeeblatinamerican.iso.acc) echo latinamerican.acc;; 1180696600cSBjoern A. Zeeblt.iso4) echo lt;; 1190696600cSBjoern A. Zeebnorwegian.iso) echo no;; 1200696600cSBjoern A. Zeebnorwegian.dvorak) echo no.dvorak;; 1210696600cSBjoern A. Zeebdutch.iso.acc) echo nl;; 1220696600cSBjoern A. Zeebeee_nordic) echo nordic.asus-eee;; 1230696600cSBjoern A. Zeebpl_PL.dvorak) echo pl.dvorak;; 1240696600cSBjoern A. Zeebpl_PL.ISO8859-2) echo pl;; 1250696600cSBjoern A. Zeebpt.iso.acc) echo pt.acc;; 1260696600cSBjoern A. Zeebpt.iso) echo pt;; 1270696600cSBjoern A. Zeebru.koi8-r.shift) echo ru.shift;; 1280696600cSBjoern A. Zeebru.koi8-r.win) echo ru.win;; 1290696600cSBjoern A. Zeebru.*) echo ru;; 1300696600cSBjoern A. Zeebswedish.*) echo se;; 1310696600cSBjoern A. Zeebsi.iso) echo si;; 1320696600cSBjoern A. Zeebsk.iso2) echo sk;; 1330696600cSBjoern A. Zeebtr.iso9.q) echo tr;; 1340696600cSBjoern A. Zeebua.koi8-u.shift.alt) echo ua.shift.alt;; 1350696600cSBjoern A. Zeebua.*) echo ua;; 1360696600cSBjoern A. Zeebuk.*-ctrl) echo uk.capsctrl;; 1370696600cSBjoern A. Zeebuk.dvorak) echo uk.dvorak;; 1380696600cSBjoern A. Zeebuk.*) echo uk;; 1390696600cSBjoern A. Zeebus.iso.acc) echo us.acc;; 1400696600cSBjoern A. Zeebus.pc-ctrl) echo us.ctrl;; 1410696600cSBjoern A. Zeebus.iso) echo us;; 1420696600cSBjoern A. Zeeb esac 1430696600cSBjoern A. Zeeb} 1440696600cSBjoern A. Zeeb 1450696600cSBjoern A. Zeebkbdcontrol_load_keymap() 1460696600cSBjoern A. Zeeb{ 1470696600cSBjoern A. Zeeb errmsg=`kbdcontrol < ${kbddev} -l ${keymap} 2>&1` 1480696600cSBjoern A. Zeeb if [ -n "${errmsg}" -a "${_sc_console}" = "vt" ]; then 1490696600cSBjoern A. Zeeb _sc_keymap_msg="${errmsg}" 1500696600cSBjoern A. Zeeb keymap_vt=`lookup_keymap_for_vt ${keymap}` 1510696600cSBjoern A. Zeeb if [ -n "${keymap_vt}" ]; then 1520696600cSBjoern A. Zeeb errmsg=`kbdcontrol < ${kbddev} -l ${keymap_vt} 2>&1` 1530696600cSBjoern A. Zeeb if [ -z "${errmsg}" ]; then 1540696600cSBjoern A. Zeeb _sc_keymap_msg="New keymap: In /etc/rc.conf replace 'keymap=${keymap}' by 'keymap=${keymap_vt}'" 1550696600cSBjoern A. Zeeb fi 1560696600cSBjoern A. Zeeb else 1570696600cSBjoern A. Zeeb _sc_keymap_msg="No replacement found for keymap '${keymap}'. 1580696600cSBjoern A. ZeebYou may try to convert your keymap file using 'convert-keymap.pl', which is 1590696600cSBjoern A. Zeebpart of the system sources and located in /usr/src/tools/tools/vt/keymaps/" 1600696600cSBjoern A. Zeeb fi 1610696600cSBjoern A. Zeeb fi 1620696600cSBjoern A. Zeeb} 1630696600cSBjoern A. Zeeb 1640696600cSBjoern A. Zeeb# helper 1650696600cSBjoern A. Zeebsyscons_configure_keyboard() 1660696600cSBjoern A. Zeeb{ 1670696600cSBjoern A. Zeeb # keymap 1680696600cSBjoern A. Zeeb # 1690696600cSBjoern A. Zeeb case ${keymap} in 1700696600cSBjoern A. Zeeb NO | '') 1710696600cSBjoern A. Zeeb ;; 1720696600cSBjoern A. Zeeb *) 1730696600cSBjoern A. Zeeb sc_init 1740696600cSBjoern A. Zeeb echo -n ' keymap'; kbdcontrol_load_keymap 1750696600cSBjoern A. Zeeb ;; 1760696600cSBjoern A. Zeeb esac 1770696600cSBjoern A. Zeeb 1780696600cSBjoern A. Zeeb # keyrate 1790696600cSBjoern A. Zeeb # 1800696600cSBjoern A. Zeeb case ${keyrate} in 1810696600cSBjoern A. Zeeb [Nn][Oo] | '') 1820696600cSBjoern A. Zeeb ;; 1830696600cSBjoern A. Zeeb *) 1840696600cSBjoern A. Zeeb sc_init 1850696600cSBjoern A. Zeeb echo -n ' keyrate'; kbdcontrol < ${kbddev} -r ${keyrate} 1860696600cSBjoern A. Zeeb ;; 1870696600cSBjoern A. Zeeb esac 1880696600cSBjoern A. Zeeb 1890696600cSBjoern A. Zeeb # keybell 1900696600cSBjoern A. Zeeb # 1910696600cSBjoern A. Zeeb case ${keybell} in 1920696600cSBjoern A. Zeeb [Nn][Oo] | '') 1930696600cSBjoern A. Zeeb ;; 1940696600cSBjoern A. Zeeb *) 1950696600cSBjoern A. Zeeb sc_init 1960696600cSBjoern A. Zeeb echo -n ' keybell'; kbdcontrol < ${kbddev} -b ${keybell} 1970696600cSBjoern A. Zeeb ;; 1980696600cSBjoern A. Zeeb esac 1990696600cSBjoern A. Zeeb 2000696600cSBjoern A. Zeeb # change function keys 2010696600cSBjoern A. Zeeb # 2020696600cSBjoern A. Zeeb case ${keychange} in 2030696600cSBjoern A. Zeeb [Nn][Oo] | '') 2040696600cSBjoern A. Zeeb ;; 2050696600cSBjoern A. Zeeb *) 2060696600cSBjoern A. Zeeb sc_init 2070696600cSBjoern A. Zeeb echo -n ' keychange' 2080696600cSBjoern A. Zeeb set -- ${keychange} 2090696600cSBjoern A. Zeeb while [ $# -gt 0 ]; do 2100696600cSBjoern A. Zeeb kbdcontrol <${kbddev} -f "$1" "$2" 2110696600cSBjoern A. Zeeb shift; shift 2120696600cSBjoern A. Zeeb done 2130696600cSBjoern A. Zeeb ;; 2140696600cSBjoern A. Zeeb esac 2150696600cSBjoern A. Zeeb 2160696600cSBjoern A. Zeeb # set this keyboard mode for all virtual terminals 2170696600cSBjoern A. Zeeb # 2180696600cSBjoern A. Zeeb if [ -n "${allscreens_kbdflags}" ]; then 2190696600cSBjoern A. Zeeb sc_init 2200696600cSBjoern A. Zeeb echo -n ' allscreens_kbd' 2210696600cSBjoern A. Zeeb for ttyv in /dev/ttyv*; do 2220696600cSBjoern A. Zeeb kbdcontrol ${allscreens_kbdflags} < ${ttyv} > ${ttyv} 2>&1 2230696600cSBjoern A. Zeeb done 2240696600cSBjoern A. Zeeb fi 2250696600cSBjoern A. Zeeb} 2260696600cSBjoern A. Zeeb 2270696600cSBjoern A. Zeebsyscons_setkeyboard() 2280696600cSBjoern A. Zeeb{ 2290696600cSBjoern A. Zeeb kbd=$1 2300696600cSBjoern A. Zeeb 2310696600cSBjoern A. Zeeb if [ -z "${kbd}" ]; then 2320696600cSBjoern A. Zeeb return 1 2330696600cSBjoern A. Zeeb fi 2340696600cSBjoern A. Zeeb 2350696600cSBjoern A. Zeeb # Check if the kbdmux(4) is the current active keyboard 2360696600cSBjoern A. Zeeb kbdcontrol -i < ${kbddev} | grep kbdmux > /dev/null 2>&1 2370696600cSBjoern A. Zeeb if [ $? -ne 0 ]; then 2380696600cSBjoern A. Zeeb kbdcontrol -k ${kbd} < ${kbddev} > /dev/null 2>&1 2390696600cSBjoern A. Zeeb fi 2400696600cSBjoern A. Zeeb 2410696600cSBjoern A. Zeeb _sc_config="keyboard" 2420696600cSBjoern A. Zeeb syscons_configure_keyboard 2430696600cSBjoern A. Zeeb 2440696600cSBjoern A. Zeeb # Terminate keyboard configuration line and reset global variables. 2450696600cSBjoern A. Zeeb # 2460696600cSBjoern A. Zeeb if [ -n "${_sc_initdone}" ]; then 2470696600cSBjoern A. Zeeb echo '.' 2480696600cSBjoern A. Zeeb _sc_config="${_sc_console}" 2490696600cSBjoern A. Zeeb _sc_initdone= 2500696600cSBjoern A. Zeeb fi 2510696600cSBjoern A. Zeeb} 2520696600cSBjoern A. Zeeb 2530696600cSBjoern A. Zeebsyscons_precmd() 2540696600cSBjoern A. Zeeb{ 2550696600cSBjoern A. Zeeb if [ ! -c $kbddev ] 2560696600cSBjoern A. Zeeb then 2570696600cSBjoern A. Zeeb return 1 2580696600cSBjoern A. Zeeb fi 2590696600cSBjoern A. Zeeb return 0 2600696600cSBjoern A. Zeeb} 2610696600cSBjoern A. Zeeb 2620696600cSBjoern A. Zeebsyscons_start() 2630696600cSBjoern A. Zeeb{ 2640696600cSBjoern A. Zeeb # keyboard 2650696600cSBjoern A. Zeeb # 2660696600cSBjoern A. Zeeb if [ -n "${keyboard}" ]; then 2670696600cSBjoern A. Zeeb syscons_setkeyboard ${keyboard} 2680696600cSBjoern A. Zeeb fi 2690696600cSBjoern A. Zeeb 2700696600cSBjoern A. Zeeb syscons_configure_keyboard 2710696600cSBjoern A. Zeeb 2720696600cSBjoern A. Zeeb # cursor type 2730696600cSBjoern A. Zeeb # 2740696600cSBjoern A. Zeeb case ${cursor} in 2750696600cSBjoern A. Zeeb [Nn][Oo] | '') 2760696600cSBjoern A. Zeeb ;; 2770696600cSBjoern A. Zeeb *) 2780696600cSBjoern A. Zeeb sc_init 2790696600cSBjoern A. Zeeb echo -n ' cursor'; vidcontrol < ${viddev} -c ${cursor} 2800696600cSBjoern A. Zeeb ;; 2810696600cSBjoern A. Zeeb esac 2820696600cSBjoern A. Zeeb 2830696600cSBjoern A. Zeeb # screen mapping 2840696600cSBjoern A. Zeeb # 2850696600cSBjoern A. Zeeb case ${scrnmap} in 2860696600cSBjoern A. Zeeb [Nn][Oo] | '') 2870696600cSBjoern A. Zeeb ;; 2880696600cSBjoern A. Zeeb *) 2890696600cSBjoern A. Zeeb sc_init 2900696600cSBjoern A. Zeeb echo -n ' scrnmap'; vidcontrol < ${viddev} -l ${scrnmap} 2910696600cSBjoern A. Zeeb ;; 2920696600cSBjoern A. Zeeb esac 2930696600cSBjoern A. Zeeb 2940696600cSBjoern A. Zeeb # font 8x16 2950696600cSBjoern A. Zeeb # 2960696600cSBjoern A. Zeeb case ${font8x16} in 2970696600cSBjoern A. Zeeb [Nn][Oo] | '') 2980696600cSBjoern A. Zeeb ;; 2990696600cSBjoern A. Zeeb *) 3000696600cSBjoern A. Zeeb sc_init 3010696600cSBjoern A. Zeeb echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} 3020696600cSBjoern A. Zeeb ;; 3030696600cSBjoern A. Zeeb esac 3040696600cSBjoern A. Zeeb 3050696600cSBjoern A. Zeeb # font 8x14 3060696600cSBjoern A. Zeeb # 3070696600cSBjoern A. Zeeb case ${font8x14} in 3080696600cSBjoern A. Zeeb [Nn][Oo] | '') 3090696600cSBjoern A. Zeeb ;; 3100696600cSBjoern A. Zeeb *) 3110696600cSBjoern A. Zeeb sc_init 3120696600cSBjoern A. Zeeb echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} 3130696600cSBjoern A. Zeeb ;; 3140696600cSBjoern A. Zeeb esac 3150696600cSBjoern A. Zeeb 3160696600cSBjoern A. Zeeb # font 8x8 3170696600cSBjoern A. Zeeb # 3180696600cSBjoern A. Zeeb case ${font8x8} in 3190696600cSBjoern A. Zeeb [Nn][Oo] | '') 3200696600cSBjoern A. Zeeb ;; 3210696600cSBjoern A. Zeeb *) 3220696600cSBjoern A. Zeeb sc_init 3230696600cSBjoern A. Zeeb echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} 3240696600cSBjoern A. Zeeb ;; 3250696600cSBjoern A. Zeeb esac 3260696600cSBjoern A. Zeeb 3270696600cSBjoern A. Zeeb # blank time 3280696600cSBjoern A. Zeeb # 3290696600cSBjoern A. Zeeb case ${blanktime} in 3300696600cSBjoern A. Zeeb [Nn][Oo] | '') 3310696600cSBjoern A. Zeeb ;; 3320696600cSBjoern A. Zeeb *) 3330696600cSBjoern A. Zeeb sc_init 3340696600cSBjoern A. Zeeb echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} 3350696600cSBjoern A. Zeeb ;; 3360696600cSBjoern A. Zeeb esac 3370696600cSBjoern A. Zeeb 3380696600cSBjoern A. Zeeb # screen saver 3390696600cSBjoern A. Zeeb # 3400696600cSBjoern A. Zeeb case ${saver} in 3410696600cSBjoern A. Zeeb [Nn][Oo] | '') 3420696600cSBjoern A. Zeeb ;; 3430696600cSBjoern A. Zeeb *) 3440696600cSBjoern A. Zeeb sc_init 3450696600cSBjoern A. Zeeb echo -n ' screensaver' 3460696600cSBjoern A. Zeeb for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do 3470696600cSBjoern A. Zeeb kldunload ${i} 3480696600cSBjoern A. Zeeb done 349*b11974c2SChris Rees load_kld -e _saver ${saver}_saver 3500696600cSBjoern A. Zeeb ;; 3510696600cSBjoern A. Zeeb esac 3520696600cSBjoern A. Zeeb 3530696600cSBjoern A. Zeeb # set this mode for all virtual screens 3540696600cSBjoern A. Zeeb # 3550696600cSBjoern A. Zeeb if [ -n "${allscreens_flags}" ]; then 3560696600cSBjoern A. Zeeb sc_init 3570696600cSBjoern A. Zeeb echo -n ' allscreens' 3580696600cSBjoern A. Zeeb for ttyv in /dev/ttyv*; do 3590696600cSBjoern A. Zeeb vidcontrol ${allscreens_flags} < ${ttyv} > ${ttyv} 2>&1 3600696600cSBjoern A. Zeeb done 3610696600cSBjoern A. Zeeb fi 3620696600cSBjoern A. Zeeb 3630696600cSBjoern A. Zeeb [ -n "${_sc_initdone}" ] && echo '.' 3640696600cSBjoern A. Zeeb if [ -n "${_sc_keymap_msg}" ]; then 3650696600cSBjoern A. Zeeb echo 3660696600cSBjoern A. Zeeb echo "WARNING:" 3670696600cSBjoern A. Zeeb echo "${_sc_keymap_msg}." 3680696600cSBjoern A. Zeeb echo 3690696600cSBjoern A. Zeeb fi 3700696600cSBjoern A. Zeeb} 3710696600cSBjoern A. Zeeb 3720696600cSBjoern A. Zeebload_rc_config $name 3730696600cSBjoern A. Zeebrun_rc_command $* 3740696600cSBjoern A. Zeeb 375