From owner-freebsd-bugs Sun Jun 28 11:10:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA19907 for freebsd-bugs-outgoing; Sun, 28 Jun 1998 11:10:48 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA19899 for ; Sun, 28 Jun 1998 11:10:45 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id LAA03050; Sun, 28 Jun 1998 11:10:01 -0700 (PDT) Received: from mail.ppp.net (mail.ppp.net [194.64.12.35]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA18641 for ; Sun, 28 Jun 1998 11:02:02 -0700 (PDT) (envelope-from ernie!bert.kts.org!hm@ppp.net) Received: from casparc.ppp.net (casparc2.ppp.net [194.64.12.42]) by mail.ppp.net (8.8.8/8.8.8) with SMTP id UAA04743 for ; Sun, 28 Jun 1998 20:02:01 +0200 Received: from ernie by casparc.ppp.net with uucp (Smail3.1.28.1 #1) id m0yqLm5-002ZjuC; Sun, 28 Jun 98 20:02 MET DST Received: from bert.kts.org(really [194.55.156.2]) by ernie.kts.org via sendmail with smtp id for ; Sun, 28 Jun 1998 19:56:10 +0200 (CEST) (Smail-3.2.0.91 1997-Jan-14 #3 built 1998-Feb-14) Received: by bert.kts.org via sendmail with stdio id for FreeBSD-gnats-submit@freebsd.org; Sun, 28 Jun 1998 19:51:23 +0200 (CEST) (Smail-3.2.0.94 1997-Apr-22 #1 built 1998-Jun-6) Message-Id: Date: Sun, 28 Jun 1998 19:51:23 +0200 (CEST) From: hm@kts.org Reply-To: hm@kts.org To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: i386/7100: pcvt: better integration into FreeBSD Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 7100 >Category: i386 >Synopsis: integrate pcvt configuration into the /etc/rc.XXX FreeBSD startup system >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jun 28 11:10:00 PDT 1998 >Last-Modified: >Originator: Hellmuth Michaelis >Organization: Kitchen Table Systems >Release: FreeBSD 2.2.6-RELEASE i386 >Environment: In the kernel config(8) file, disable device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr and enable device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint >Description: In case pcvt is configured instead of syscons, the syscons-specific section in rc.conf and rc.i386 no longer applies and no replacement is currently available to set the necessary options for the pcvt console driver. >How-To-Repeat: Configure a kernel with pcvt enabled instead of syscons. >Fix: What follows is three enhancments to files /etc/rc.conf, /etc/rc.i386 and the rc.conf manual page rc.conf.5 to integrate pcvt support into the standard FreeBSD startup procedure: 1. addon to /etc/rc.conf ------------------------ ############################################################## ### pcvt console options (VT100/VT220 emulation) ############ ############################################################## pcvt_keymap="NO" # keyboard map in /usr/share/misc/keycap.pcvt (or NO). pcvt_keydel="NO" # key repeat delay, 0-3 (250,500,750,1000 msec) (or NO). pcvt_keyrate="NO" # keyboard repetition rate 31-0 (2-30 char/sec) (or NO). pcvt_keyrepeat="NO" # keyboard repeat ON or OFF (or NO). pcvt_force24="NO" # force a 24 line display (when 25 possible) (or NO). pcvt_hpext="NO" # use HP extensions (function keys labels) (or NO). pcvt_lines="NO" # lines (25, 28, 40, 50 or NO). pcvt_blanktime="NO" # blank time (in seconds) (or NO). pcvt_cursorh="NO" # cursor top scanline (topmost line is 0) (or NO). pcvt_cursorl="NO" # cursor low scanline (bottom line is 16) (or NO). pcvt_monohigh="NO" # set intensity to high on monochrome monitors (or NO). 2. addon to /etc/rc.i386 ------------------------ ########################################################################## ####### pcvt VT100/VT220 terminal emulator section ######## ########################################################################## # path for pcvt's EGA/VGA download fonts FONTP=/usr/share/misc/pcvtfonts # check for correct driver and driver version matching if ispcvt -d /dev/ttyv0 ; then echo "rc.i386 configuring pcvt:" # get video adaptor type adaptor=`scon -d /dev/ttyv0 -a` echo " video adaptor type is $adaptor" # load fonts into vga if [ $adaptor = VGA ] ; then echo -n ' loading fonts: 8x16:0,' loadfont -d /dev/ttyv0 -c0 -f $FONTP/vt220l.816 echo -n '1 ' loadfont -d /dev/ttyv0 -c1 -f $FONTP/vt220h.816 echo -n ' 8x14:0,' loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.814 echo -n '1 ' loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.814 echo -n ' 8x10:0,' loadfont -d /dev/ttyv0 -c4 -f $FONTP/vt220l.810 echo -n '1 ' loadfont -d /dev/ttyv0 -c5 -f $FONTP/vt220h.810 echo -n ' 8x8:0,' loadfont -d /dev/ttyv0 -c6 -f $FONTP/vt220l.808 echo '1 ' loadfont -d /dev/ttyv0 -c7 -f $FONTP/vt220h.808 # setting screen sizes if [ "X${pcvt_lines}" = X"28" ]; then size=-s28 echo ' switching to 28 lines' elif [ "X${pcvt_lines}" = X"40" ]; then size=-s40 echo ' switching to 40 lines' elif [ "X${pcvt_lines}" = X"50" ]; then size=-s50 echo ' switching to 50 lines' else size=-s25 echo ' switching to 25 lines' fi fi # get monitor type (mono/color) monitor=`scon -d /dev/ttyv0 -m` echo " monitor type is $monitor" # use HP extensions to VT220 emulation ? if [ "X${pcvt_hpext}" != X"NO" ] ; then emulation=-H echo " setting emulation to VT220" else emulation=-V echo " setting emulation to VT220 with HP extensions" fi # for all screens do for device in /dev/ttyv* do scon -d$device $size $emulation if [ X${pcvt_cursorh} != X"NO" -a X${pcvt_cursorl} != X"NO" ] ; then cursor -d$device -s$pcvt_cursorh -e$pcvt_cursorl fi # if monochrome monitor, set color palette to use a higher intensity if [ X${pcvt_monohigh} != X"NO" -a $monitor = MONO -a $adaptor = VGA ] ; then scon -d$device -p8,60,60,60 fi done # switch to screen 0 echo " switching to screen 0" scon -d /dev/ttyv0 # set screensaver timeout if [ "X${pcvt_blanktime}" != X"NO" ]; then echo " setting screensaver timeout to $pcvt_blanktime seconds" scon -d /dev/ttyv0 -t$pcvt_blanktime fi # setup keyboard for national keyboard layout if [ "X${pcvt_keymap}" != X"NO" ]; then echo " switching national keyboard layout to $pcvt_keymap" kcon -m $pcvt_keymap fi # setup keyboard repeat delay value if [ "X${pcvt_keydel}" != X"NO" ]; then echo " setting keyboard delay to $pcvt_keydel" kcon -d$pcvt_keydel fi # setup keyboard repeat rate value if [ "X${pcvt_keyrate}" != X"NO" ]; then echo " setting keyboard repeat rate to $pcvt_keyrate" kcon -r$pcvt_keyrate fi echo "rc.i386 configuring pcvt finished." fi 3. addon to manual page rc.conf.5 --------------------------------- .It Ar pcvt_keymap (str) If set to .Ar NO then no national keyboard map is installed, otherwise the value is used to install the keyboard map from .Pa /usr/share/misc/keycap.pcvt This file is a simple termcap-like keymap description file, for a description see .Xr keycap 5 and .Xr keycap 3 . .It Ar pcvt_keydel (int) The keyboard repeat delay. Set to .Bl -tag -width 123 -compact -offset .It Ar 0 for 250 ms delay .It Ar 1 for 500 ms delay .It Ar 2 for 750 ms delay .It Ar 3 for 1000 ms delay or .It Ar NO for the default behaviour. See also .Xr kcon 1 . .El .It Ar pcvt_keyrate (int) The keyboard repetition rate. It may be set to values from 0 to 31 corresponding to rates of 30 charcters per second to 2 characters per second or to .Ar NO if the default behavior is desired. See also .Xr kcon 1 . .It Ar pcvt_keyrepeat (bool) If set to .Ar OFF , keyboard key repeat will be disabled, setting it to .Ar ON will enable keyboard key repeat. .Ar NO gives the default behaviour. See also .Xr kcon 1 . .It Ar pcvt_force24 (bool) If set to any other value than .Ar NO will force a 24 line display in case a 25 lines display is selected. This will resolve some problems with applications depending on the real VT100/VT220 screen size of 24 lines. See also .Xr scon 1 . .It Ar pcvt_hpext (bool) If this is not set to .Ar NO , the Hewlett-Packard Function Key Label emulation extension will be enabled. Eight programmable Function Key Labels will be displayed which are available in the HP239x and HP7009x terminals in VT100/VT220 emulation mode. See also .Xr scon 1 . .It Ar pcvt_lines (int) Sets the number of lines on display. The available values for VGA adaptors are .Ar 25 , .Ar 28 , .Ar 40 and .Ar 50 . Setting this to .Ar NO gives 25 lines. See also .Xr scon 1 . .It Ar pcvt_blanktime (int) If set to .Ar NO then the default screensave blanking timeout is used, otherwise it is set to .Ar value seconds. See also .Xr scon 1 . .It Ar pcvt_cursorh (int) If not set to .Ar NO , it sets the top scanline on which the cursor starts. Scanlines are numbered from top (value 0) to bottom (value 16 for 16 scanline fonts on 80x25 display). See also .Xr cursor 1 . .It Ar pcvt_cursorl (int) If not set to .Ar NO , it sets the bottom scanline on which the cursor ends. .It Ar pcvt_monohigh (bool) If not set to .Ar NO , on monochrome VGA displays the intensity is set to high. See also .Xr scon 1 . >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message