summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/i386/isa/pcvt/Util/mcon/Makefile5
-rw-r--r--sys/arch/i386/isa/pcvt/Util/mcon/mcon.1169
-rw-r--r--sys/arch/i386/isa/pcvt/Util/mcon/mcon.c194
-rw-r--r--sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.417
-rw-r--r--sys/arch/i386/isa/pcvt/Util/scon/scon.128
-rw-r--r--sys/arch/i386/isa/pcvt/Util/scon/scon.c37
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_conf.h23
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_drv.c346
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_ext.c7
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_hdr.h108
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_ioctl.h19
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_kbd.c1775
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_out.c839
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_sup.c184
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_vtf.c7
15 files changed, 596 insertions, 3162 deletions
diff --git a/sys/arch/i386/isa/pcvt/Util/mcon/Makefile b/sys/arch/i386/isa/pcvt/Util/mcon/Makefile
deleted file mode 100644
index 207c0a81cc1..00000000000
--- a/sys/arch/i386/isa/pcvt/Util/mcon/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# $OpenBSD: Makefile,v 1.2 1999/01/13 07:26:06 niklas Exp $
-
-PROG= mcon
-
-.include <bsd.prog.mk>
diff --git a/sys/arch/i386/isa/pcvt/Util/mcon/mcon.1 b/sys/arch/i386/isa/pcvt/Util/mcon/mcon.1
deleted file mode 100644
index 451a6d9437c..00000000000
--- a/sys/arch/i386/isa/pcvt/Util/mcon/mcon.1
+++ /dev/null
@@ -1,169 +0,0 @@
-.\" $OpenBSD: mcon.1,v 1.7 1999/07/08 22:57:16 deraadt Exp $
-.\"
-.\" Copyright (c) 1994, 1995 Joerg Wunsch
-.\"
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by Joerg Wunsch
-.\" 4. The name authors may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" @(#)mcon.1, 3.30, Last Edit-Date: [Fri Jun 30 20:14:42 1995]
-.\"
-.Dd January 3, 1994
-.Dt MCON 1 i386
-.Os
-.Sh NAME
-.Nm mcon
-.Nd controls pcvt mouse emulator
-.Sh SYNOPSIS
-.Nm mcon
-.Op Fl l Ar left-button-key
-.Op Fl m Ar mid-button-key
-.Op Fl r Ar right-button-key
-.Op Fl a Ar accel-time
-.Op Fl s Ar 0 | false | \&no
-.Op Fl s Ar 1 | true | yes
-.Ar device
-.Sh DESCRIPTION
-The
-.Nm mcon
-utility controls the configurable parameters for the mouse emulator of
-.Xr pcvt 4 .
-.br
-.Em NB :
-The mouse emulator is not configured in by default; the system's config
-file needs to specify an option line
-
-.Em options Dq PCVT_EMU_MOUSE
-
-in order to get its functionality.
-.Pp
-Either way, the
-.Nm
-program must be called with an argument
-.Ar device
-that specifies the device node used for the mouse emulation. This is
-usually the first device node of the
-.Xr pcvt 4
-driver not being used as a virtual terminal device. E.\ g., if you
-have configured eight virtual terminals
-.Pq the default value ,
-named
-.Pa /dev/ttyC0
-through
-.Pa /dev/ttyC7 ,
-the mouse emulator would allocate
-.Pa /dev/ttyC8 .
-
-If
-.Nm
-is called without any option, it will print the actual values of the
-configurable parameters.
-
-If called with an option, the program attempts to set up the new value.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl l Ar left-button-key
-.It Fl m Ar mid-button-key
-.It Fl r Ar right-button-key
-Maps the named
-.Ar button key
-to emulate either the left, middle, or right mouse button.
-.Ar Button key
-is the usual name for that key. Normal ASCII keys are denoted by the
-character they're labeled with, function keys are named
-.Em f1
-through
-.Em f10 .
-Note that the AT function keys
-.Em f11
-and
-.Em f12
-are
-.Em extended
-keys that cannot be mapped to be used with the mouse emulator since
-it only allows basic PC-scancode keys to be used.
-
-.It Fl a Ar accel-time
-Set the time limit for the internal accelerator to
-.Ar accel-time
-milliseconds. Key events occurring after a longer time than this limit
-will move the mouse cursor in single steps. Key events arriving more
-frequently will move the cursor accelerated by a factor of 6. Note that
-despite of
-.Em milliseconds
-being the unit of choice here, the time resolution is restricted by the
-timer tick distance of the underlying operating system, usually to a
-granularity of 10 milliseconds.
-
-.It Fl s Ar 0 | false | \&no
-.It Fl s Ar 1 | true | yes
-The first form disables, the second form enables the
-.Em sticky
-behaviour of the mouse buttons. Sticky mouse keys behave much like
-toggle-buttons: on first press, they become active, on second press,
-they're deactivated. Pressing another button will deactivate any
-other sticky button anyway.
-
-Sticky buttons might be more convenient since you don't need 20 fingers
-at all; on the other hand, they make it virtually impossible to initiate
-double or triple mouse clicks.
-.El
-.Sh EXAMPLES
-The following example would install the default behaviour of the
-mouse emulator:
-
-.Nm mcon
-.Fl l Ar f1
-.Fl m Ar f2
-.Fl r Ar f3
-.Fl a Ar 250
-.Fl s Ar \&no
-.Pa /dev/ttyC8
-.Sh BUGS
-The key names used to map the button-emulating keys to scan codes
-.Pq and vica verse
-are based on the American keyboard layout. This would usually not
-cause any trouble since the
-.Dq button-of-choice
-is certainly some function key that should be equal for any national
-keyboard layout.
-.Pp
-The mouse emulator is a rude hack at all; its only purpose is to provide
-a device to move the pointer within an X-windowing environment.
-.Sh SEE ALSO
-.Xr X 1x ,
-.Xr pcvt 4
-.Sh HISTORY
-The
-.Nm
-utility appeared in
-.Xr pcvt 4 ,
-release 3.00.
-.Sh AUTHOR
-The mouse emulator has been contributed by
-.if n Joerg Wunsch.
-.if t J\(:org Wunsch.
diff --git a/sys/arch/i386/isa/pcvt/Util/mcon/mcon.c b/sys/arch/i386/isa/pcvt/Util/mcon/mcon.c
deleted file mode 100644
index 1b4286f95b5..00000000000
--- a/sys/arch/i386/isa/pcvt/Util/mcon/mcon.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* $OpenBSD: mcon.c,v 1.4 1999/01/13 07:26:06 niklas Exp $ */
-
-/*
- * Copyright (c) 1994, 1995 Joerg Wunsch
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Joerg Wunsch
- * 4. The name authors may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * @(#)mcon.c, 3.30, Last Edit-Date: [Fri Jun 30 20:15:02 1995]
- */
-
-/*---------------------------------------------------------------------------*
- *
- * history:
- *
- * -jw initial version; includes a basic mapping between PeeCee
- * scan codes and key names
- * -hm changed sys/pcvt_ioctl.h -> machine/pcvt_ioctl.h
- *
- *---------------------------------------------------------------------------*/
-
-/*
- * Utility program to wire the mouse emulator control ioctl to the
- * user level. Allows setting of any configurable parameter, or
- * display the current configuration.
- */
-
-#include <machine/pcvt_ioctl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/fcntl.h>
-
-static const char *keynames[] = {
- "", "esc", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0",
- "-", "+", "bksp", "tab", "q", "w", "e", "r", "t", "y", "u",
- "i", "o", "p", "[", "]", "enter", "ctrl", "a", "s", "d", "f",
- "g", "h", "j", "k", "l", ";", "\"", "`", "lshift", "\\",
- "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "rshift",
- "prtscr", "alt", "space", "caps", "f1", "f2", "f3", "f4",
- "f5", "f6", "f7", "f8", "f9", "f10", "numlock", "scrolllock",
- "kp7", "kp8", "kp9", "kp-", "kp4", "kp5", "kp6", "kp+",
- "kp1", "kp2", "kp3", "kp0", "kp."
-};
-
-
-const char *scantoname(int scan) {
- if(scan >= sizeof keynames / sizeof(const char *))
- return "???";
- else
- return keynames[scan];
-}
-
-int nametoscan(const char *name) {
- int i;
- for(i = 0; i < sizeof keynames / sizeof(const char *); i++)
- if(strcmp(keynames[i], name) == 0)
- return i;
- return -1;
-}
-
-
-int main(int argc, char **argv) {
- int c, errs = 0, fd, do_set = 0;
- int left = 0, mid = 0, right = 0, accel = 0, sticky = -1;
- struct mousedefs mdef;
-
- while((c = getopt(argc, argv, "l:m:r:a:s:")) != -1)
- switch(c) {
- case 'l':
- left = nametoscan(optarg);
- do_set = 1;
- if(left == -1) goto keynameerr;
- break;
-
- case 'm':
- mid = nametoscan(optarg);
- do_set = 1;
- if(mid == -1) goto keynameerr;
- break;
-
- case 'r':
- right = nametoscan(optarg);
- do_set = 1;
- if(right == -1) goto keynameerr;
- break;
-
- keynameerr:
- {
- fprintf(stderr, "unknown key name: %s\n",
- optarg);
- errs++;
- }
- break;
-
- case 'a':
- accel = 1000 * strtol(optarg, 0, 10);
- do_set = 1;
- break;
-
- case 's':
- if(strcmp(optarg, "0") == 0
- || strcmp(optarg, "false") == 0
- || strcmp(optarg, "no") == 0)
- sticky = 0;
- else if(strcmp(optarg, "1") == 0
- || strcmp(optarg, "true") == 0
- || strcmp(optarg, "yes") == 0)
- sticky = 1;
- else {
- fprintf(stderr, "invalid argument to -s: %s\n",
- optarg);
- errs++;
- }
- do_set = 1;
- break;
-
- default:
- errs++;
- }
-
- argc -= optind;
- argv += optind;
-
- if(errs || argc != 1) {
- fprintf(stderr, "usage: "
- "mcon [-l key] [-m key] [-r key] [-a acctime] [-s 0|1] "
- "mousedev\n");
- return 2;
- }
-
- if((fd = open(argv[0], O_RDONLY)) < 0) {
- perror("open(mousedev)");
- return 2;
- }
- if(ioctl(fd, KBDMOUSEGET, &mdef) < 0) {
- perror("ioctl(KBDMOUSEGET)");
- return 1;
- }
-
- if(!do_set) {
- printf("Current mouse emulator definitions:\n"
- "left button: %s\n"
- "middle button: %s\n"
- "right button: %s\n"
- "acceleration limit: %d msec\n"
- "sticky buttons: %s\n",
- scantoname(mdef.leftbutton),
- scantoname(mdef.middlebutton),
- scantoname(mdef.rightbutton),
- mdef.acceltime / 1000,
- mdef.stickybuttons? "yes": "no");
- return 0;
- }
-
- if(left) mdef.leftbutton = left & 0x7f;
- if(mid) mdef.middlebutton = mid & 0x7f;
- if(right) mdef.rightbutton = right & 0x7f;
-
- if(accel) mdef.acceltime = accel;
- if(sticky != -1) mdef.stickybuttons = sticky;
-
- if(ioctl(fd, KBDMOUSESET, &mdef) < 0) {
- perror("ioctl(KBDMOUSESET)");
- return 1;
- }
-
- return 0;
-}
diff --git a/sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.4 b/sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.4
index 165095c832e..13ea43a36de 100644
--- a/sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.4
+++ b/sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.4
@@ -1,4 +1,4 @@
-.\" $OpenBSD: pcvt.4,v 1.18 1999/10/16 18:56:37 aaron Exp $
+.\" $OpenBSD: pcvt.4,v 1.19 1999/11/25 20:24:19 aaron Exp $
.\"
.\" Copyright (c) 1992, 1995 Hellmuth Michaelis, Brian Dunford-Shore,
.\" Joerg Wunsch and Holger Veit.
@@ -260,9 +260,9 @@ Default: on
.It Em PCVT_24LINESDEF
If enabled, the 25-line modi
.Po
-VT emulation with 25 lines, and HP emulation with 28 lines
+VT emulation with 25 lines
.Pc
-default to 24 lines only to provide a better compatibility to the
+defaults to 24 lines only to provide a better compatibility to the
original DEV VT220 (TM). Thus it should be possible to use the
terminal information for those terminals without further changes.
Note that this is a startup option; it is possible to toggle between
@@ -651,13 +651,10 @@ struct screeninfo {
/* on write, if -1, make this screen */
/* the current screen, else set current*/
/* displayed screen to parameter */
- int pure_vt_mode; /* flag, pure VT mode or HP/VT mode */
- /* on write, if -1, no change */
int screen_size; /* screen size */
/* on write, if -1, no change */
int force_24lines; /* force 24 lines if 25 lines VT mode */
- /* or 28 lines HP mode to get pure */
- /* VT220 screen size */
+ /* to get pure VT220 screen size */
/* on write, if -1, no change */
int vga_family; /* if adaptor_type = VGA, this reflects*/
/* the chipset family after a read */
@@ -671,12 +668,6 @@ struct screeninfo {
};
.Ed
-Its field
-.Em pure_vt_mode
-may take the values M_HPVT for a mixed VTxxx and HP Mode, with function
-key labels and a status line, or M_PUREVT for only VTxxx sequences
-recognized, with no labels.
-
.Bl -tag -width 20n -offset indent -compact
.It VGASETCOLMS
sets the number of columns for the current screen,
diff --git a/sys/arch/i386/isa/pcvt/Util/scon/scon.1 b/sys/arch/i386/isa/pcvt/Util/scon/scon.1
index 37f9387ed11..f503ef40ec3 100644
--- a/sys/arch/i386/isa/pcvt/Util/scon/scon.1
+++ b/sys/arch/i386/isa/pcvt/Util/scon/scon.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: scon.1,v 1.10 1999/10/16 18:56:37 aaron Exp $
+.\" $OpenBSD: scon.1,v 1.11 1999/11/25 20:24:20 aaron Exp $
.\"
.\" Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch
.\"
@@ -46,12 +46,10 @@
.Op Fl d Ar device
.Op Fl f Ar on|off
.Op Fl h
-.Op Fl H
.Op Fl l
.Op Fl m
.Op Fl o
.Op Fl v
-.Op Fl V
.Op Fl s Ar lines
.br
.Nm scon
@@ -99,7 +97,7 @@ the command line should be applied to.
Some programs which silently assume 24 lines when they run on a VT220 show
incorrect behaviour when the terminal has really 25 lines. To support full
VT220 behaviour, it is possible to force pcvt to select only 24 lines when
-it is running in 25-lines pure VT mode and/or in 28-lines HP-mode. The
+it is running in 25-lines pure VT mode. The
.Fl f
option requires one additional parameter, the string 'on' or 'off' to switch
this mode for a virtual screen on or off respectively. This mode has no effect
@@ -116,13 +114,6 @@ Returns a string describing the connected display monitor type found by pcvt,
the string returned can be MONO, COLOR or UNKNOWN.
.It Fl v
Specify verbose operation of the program.
-.It Fl V
-Switch the specified/current screen into a pure VT220 mode without recognizing
-any HP escape sequences and without displaying function key labels.
-.It Fl H
-Switch the specified/current screen into a mixed HP/VT220 mode. That is, that
-in addition to the full VT220 emulation, the HP function key labels and the
-escape sequences for handling the labels are available to the user.
.It Fl o
Toggle
.Dq legacy
@@ -142,11 +133,8 @@ Modify VGA palette
.Pq DAC .
The
.Fl p
-is mutually exclusive with
-.Fl s ,
-.Fl H ,
-and
-.Fl V .
+option is mutually exclusive with
+.Fl s .
Naturally, option
.Fl p
is available only for VGA boards. Three flavors are available.
@@ -202,15 +190,11 @@ Sets 132 columns mode
Sets 80 columns mode.
.El
.Pp
-When switching between HP and VT mode, when switching the force 24 lines
-mode on and off, or when switching between 80 and 132 columns operation,
+When switching the force 24 lines mode on and off,
+or when switching between 80 and 132 columns operation,
the screen is cleared, the scrolling
region is reset and the cursor is placed in the home position.
.Sh EXAMPLES
-The command
-.Dq Li scon Fl H s Ar 28
-places the current screen into HP mode and sets the screen size to 28x80.
-
Invoking
.Do
.Li scon Fl p
diff --git a/sys/arch/i386/isa/pcvt/Util/scon/scon.c b/sys/arch/i386/isa/pcvt/Util/scon/scon.c
index 250439b2525..51d6f670544 100644
--- a/sys/arch/i386/isa/pcvt/Util/scon/scon.c
+++ b/sys/arch/i386/isa/pcvt/Util/scon/scon.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scon.c,v 1.16 1999/10/16 18:56:37 aaron Exp $ */
+/* $OpenBSD: scon.c,v 1.17 1999/11/25 20:24:20 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch
@@ -74,8 +74,6 @@ int lflag = -1;
int mflag = -1;
int oflag = -1;
int current = -1;
-int pflag = -1;
-int hflag = -1;
int res = -1;
char *device;
int dflag = -1;
@@ -244,14 +242,6 @@ char *argv[];
fflag = 1;
break;
- case 'V':
- pflag = 1;
- break;
-
- case 'H':
- hflag = 1;
- break;
-
case 's':
if (!strncmp(optarg, "25", 2))
res = SIZ_25ROWS;
@@ -343,11 +333,8 @@ char *argv[];
}
}
- if((pflag == 1) && (hflag == 1))
- usage();
-
- if(dflag == -1 && lflag == -1 && current == -1 && pflag == -1 &&
- hflag == -1 && res == -1 && Pflag == 0 && tflag == 0 && fflag == -1
+ if(dflag == -1 && lflag == -1 && current == -1 &&
+ res == -1 && Pflag == 0 && tflag == 0 && fflag == -1
&& colms == 0 && mflag == -1 && bflag == -1 && oflag == -1)
{
lflag = 1;
@@ -508,24 +495,6 @@ char *argv[];
exit(0);
}
- if(pflag == 1)
- {
- if(vflag)
- printf("processing option -V, setting emulation to pure VT220\n");
- screeninfo.pure_vt_mode = M_PUREVT;
- }
- else if(hflag == 1)
- {
- if(vflag)
- printf("processing option -H, setting emulation to VT220 + HP Labels\n");
- screeninfo.pure_vt_mode = M_HPVT;
- }
- else
- {
- if(vflag)
- printf("no change in terminal emulation\n");
- }
-
if(vflag)
{
if(res == -1)
diff --git a/sys/arch/i386/isa/pcvt/pcvt_conf.h b/sys/arch/i386/isa/pcvt/pcvt_conf.h
index f63b751ef0f..3615beb63f0 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_conf.h
+++ b/sys/arch/i386/isa/pcvt/pcvt_conf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_conf.h,v 1.13 1998/06/30 20:51:07 millert Exp $ */
+/* $OpenBSD: pcvt_conf.h,v 1.14 1999/11/25 20:24:20 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -163,14 +163,6 @@
/* compatibility (24 lines) by using */
/* the scon utility at runtime */
-#if !defined PCVT_EMU_MOUSE /* ---------- DEFAULT: OFF ------------ */
-# define PCVT_EMU_MOUSE 0 /* emulate a mouse systems mouse via */
-#elif PCVT_EMU_MOUSE != 0 /* the keypad; this is experimental */
-# undef PCVT_EMU_MOUSE /* code intented to be used on note- */
-# define PCVT_EMU_MOUSE 1 /* books in conjunction with XFree86; */
-#endif /* look at the comments in pcvt_kbd.c */
- /* if you are interested in testing it. */
-
#if !defined PCVT_META_ESC /* ---------- DEFAULT: OFF ------------ */
# define PCVT_META_ESC 0 /* if ON, send the sequence "ESC key" */
#elif PCVT_META_ESC != 0 /* for a meta-shifted key; if OFF, */
@@ -186,19 +178,6 @@
#endif /* SESSION TO CLUTTER VIDEO MEMORY !!!! */
/* -------------------------------------------------------------------- */
-/* -------------------- DRIVER DEBUGGING ------------------------------ */
-/* -------------------------------------------------------------------- */
-
-#if !defined PCVT_SHOWKEYS /* ---------- DEFAULT: OFF ------------ */
-# define PCVT_SHOWKEYS 0 /* this replaces the system load line */
-#elif PCVT_SHOWKEYS != 0 /* on the vt 0 in hp mode with a display*/
-# undef PCVT_SHOWKEYS /* of the most recent keyboard scan- */
-# define PCVT_SHOWKEYS 1 /* and status codes received from the */
-#endif /* keyboard controller chip. */
- /* this is just for some hardcore */
- /* keyboarders .... */
-
-/* -------------------------------------------------------------------- */
/* -------------------- DRIVER OPTIONS -------------------------------- */
/* -------------------------------------------------------------------- */
/* it is unlikely that anybody wants to change anything below */
diff --git a/sys/arch/i386/isa/pcvt/pcvt_drv.c b/sys/arch/i386/isa/pcvt/pcvt_drv.c
index dd2a0ba8fa4..8a99c350f8e 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_drv.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_drv.c
@@ -1,16 +1,13 @@
-/* $OpenBSD: pcvt_drv.c,v 1.25 1999/11/20 18:52:00 espie Exp $ */
-
+/* $OpenBSD: pcvt_drv.c,v 1.26 1999/11/25 20:24:20 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
- *
* Copyright (c) 1992, 1993 Brian Dunford-Shore and Scott Turner.
- *
* Copyright (c) 1993 Charles Hannum.
*
* All rights reserved.
*
* Parts of this code regarding the NetBSD interface were written
- * by Charles Hannum.
+ * by Charles Hannum. Parts regarding OpenBSD written by Aaron Campbell.
*
* This code is derived from software contributed to Berkeley by
* William Jolitz and Don Ahn.
@@ -42,50 +39,10 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- *
* @(#)pcvt_drv.c, 3.32, Last Edit-Date: [Tue Oct 3 11:19:47 1995]
*
*/
-/*---------------------------------------------------------------------------*
- *
- * pcvt_drv.c VT220 Driver Main Module / OS - Interface
- * ---------------------------------------------------------
- * -hm ------------ Release 3.00 --------------
- * -hm integrating NetBSD-current patches
- * -hm adding ttrstrt() proto for NetBSD 0.9
- * -hm kernel/console output cursor positioning fixed
- * -hm kernel/console output switches optional to screen 0
- * -hm FreeBSD 1.1 porting
- * -hm the NetBSD 0.9 compiler detected a nondeclared var which was
- * NOT detected by neither the NetBSD-current nor FreeBSD 1.x!
- * -hm including Michael's keyboard fifo code
- * -hm Joergs patch for FreeBSD tty-malloc code
- * -hm adjustments for NetBSD-current
- * -hm FreeBSD bugfix from Joerg re timeout/untimeout casts
- * -jw including Thomas Gellekum's FreeBSD 1.1.5 patch
- * -hm adjusting #if's for NetBSD-current
- * -hm applying Joerg's patch for FreeBSD 2.0
- * -hm patch from Onno & Martin for NetBSD-current (post 1.0)
- * -hm some adjustments for NetBSD 1.0
- * -hm NetBSD PR #400: screen size report for new session
- * -hm patch from Rafael Boni/Lon Willett for NetBSD-current
- * -hm bell patch from Thomas Eberhardt for NetBSD
- * -hm multiple X server bugfixes from Lon Willett
- * -hm patch from joerg - pcdevtotty for FreeBSD pre-2.1
- * -hm delay patch from Martin Husemann after port-i386 ml-discussion
- * -jw add some code to provide more FreeBSD pre-2.1 support
- * -hm patches from Michael for NetBSD-current (Apr/21/95) support
- * -hm merged in changes from FreeBSD 2.0.5-RELEASE
- * -hm NetBSD-current patches from John Kohl
- * -hm ---------------- Release 3.30 -----------------------
- * -hm patch from Joerg in pcopen() to make mouse emulator work again
- * -hm patch from Frank van der Linden for keyboard state per VT
- * -hm no TS_ASLEEP anymore in FreeBSD 2.1.0 SNAP 950928
- * -hm ---------------- Release 3.32 -----------------------
- *
- *---------------------------------------------------------------------------*/
-
#include "vt.h"
#if NVT > 0
@@ -93,24 +50,15 @@
#include "pcvt_hdr.h" /* global include */
-#ifdef NOTDEF
-unsigned __debug = 0; /*0xffe */;
-static __color;
-static nrow;
-#endif
-
static void vgapelinit(void); /* read initial VGA DAC palette */
-int getchar(void);
void pccnpollc(Dev_t, int);
int pcprobe(struct device *, void *, void *);
void pcattach(struct device *, struct device *, void *);
-
int
pcprobe(struct device *parent, void *match, void *aux)
{
-
kbd_code_init();
((struct isa_attach_args *)aux)->ia_iosize = 16;
@@ -132,20 +80,16 @@ pcattach(struct device *parent, struct device *self, void *aux)
printf(": ");
- switch(adaptor_type)
- {
+ switch(adaptor_type) {
case MDA_ADAPTOR:
printf("mda");
break;
-
case CGA_ADAPTOR:
printf("cga");
break;
-
case EGA_ADAPTOR:
printf("ega");
break;
-
case VGA_ADAPTOR:
printf("%s, ", (char *)vga_string(vga_type));
if(can_do_132col)
@@ -154,7 +98,6 @@ pcattach(struct device *parent, struct device *self, void *aux)
printf("80 col");
vgapelinit();
break;
-
default:
printf("unknown");
break;
@@ -167,16 +110,13 @@ pcattach(struct device *parent, struct device *self, void *aux)
printf(", %d scr, ", totalscreens);
- switch(keyboard_type)
- {
+ switch(keyboard_type) {
case KB_AT:
printf("at-");
break;
-
case KB_MFII:
printf("mf2-");
break;
-
default:
printf("unknown ");
break;
@@ -189,17 +129,12 @@ pcattach(struct device *parent, struct device *self, void *aux)
break;
}
- for(i = 0; i < totalscreens; i++)
- {
+ for (i = 0; i < totalscreens; i++) {
vs[i].vs_tty = ttymalloc();
vs[i].vs_tty->t_dev = makedev(maj, i);
tty_attach(vs[i].vs_tty);
}
-#if PCVT_EMU_MOUSE
- pc_tty[totalscreens] = ttymalloc(); /* the mouse emulator tty */
-#endif /* PCVT_EMU_MOUSE */
-
pcconsp = vs[0].vs_tty;
async_update();
@@ -223,11 +158,6 @@ get_pccons(Dev_t dev)
{
register int i = minor(dev);
-#if PCVT_EMU_MOUSE
- if(i == totalscreens)
- return(pc_tty[i]);
-#endif /* PCVT_EMU_MOUSE */
-
if(i >= PCVT_NSCREENS)
return(NULL);
@@ -247,37 +177,18 @@ pcopen(Dev_t dev, int flag, int mode, struct proc *p)
int winsz = 0;
int i = minor(dev);
-#if PCVT_EMU_MOUSE
- if(i == totalscreens)
- vsx = 0;
- else
-#endif /* PCVT_EMU_MOUSE */
-
vsx = &vs[i];
if((tp = get_pccons(dev)) == NULL)
return ENXIO;
-#if PCVT_EMU_MOUSE
- if(i == totalscreens)
- {
- if(mouse.opened == 0)
- mouse.buttons = mouse.extendedseen =
- mouse.breakseen = mouse.lastmove.tv_sec = 0;
- mouse.minor = i;
- mouse.opened++;
- }
- else
-#endif /* PCVT_EMU_MOUSE */
-
vsx->openf++;
tp->t_oproc = pcstart;
tp->t_param = pcparam;
tp->t_dev = dev;
- if ((tp->t_state & TS_ISOPEN) == 0)
- {
+ if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_WOPEN;
ttychars(tp);
tp->t_iflag = TTYDEF_IFLAG;
@@ -299,13 +210,7 @@ pcopen(Dev_t dev, int flag, int mode, struct proc *p)
retval = ((*linesw[tp->t_line].l_open)(dev, tp));
- if(winsz == 1
-#if PCVT_EMU_MOUSE
- && vsx /* the mouse device has no vsx */
-#endif /* PCVT_EMU_MOUSE */
- )
- {
-
+ if (winsz == 1) {
/*
* The line discipline has clobbered t_winsize if TS_ISOPEN
* was clear. (NetBSD PR #400 from Bill Sommerfeld)
@@ -333,12 +238,6 @@ pcclose(Dev_t dev, int flag, int mode, struct proc *p)
register struct video_state *vsx;
int i = minor(dev);
-#if PCVT_EMU_MOUSE
- if(i == totalscreens)
- vsx = 0;
- else
-#endif /* PCVT_EMU_MOUSE */
-
vsx = &vs[i];
if((tp = get_pccons(dev)) == NULL)
@@ -347,21 +246,8 @@ pcclose(Dev_t dev, int flag, int mode, struct proc *p)
(*linesw[tp->t_line].l_close)(tp, flag);
ttyclose(tp);
-#if PCVT_EMU_MOUSE
- if(i == totalscreens)
- mouse.opened = 0;
- else
-#endif /* PCVT_EMU_MOUSE */
-
vsx->openf = 0;
-#if PCVT_EMU_MOUSE
-
- if(i == totalscreens)
- return (0);
-
-#endif /* PCVT_EMU_MOUSE */
-
reset_usl_modes(vsx);
return(0);
@@ -401,7 +287,7 @@ pctty(Dev_t dev)
}
int
-pcioctl(Dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
+pcioctl(Dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
{
register int error;
register struct tty *tp;
@@ -415,100 +301,15 @@ pcioctl(Dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
* appropriate variables arrays
*/
-#if PCVT_EMU_MOUSE
- if(minor(dev) == totalscreens)
- {
- if((error = mouse_ioctl(dev, cmd, data)) >= 0)
- return error;
- goto do_standard;
- }
-#endif /* PCVT_EMU_MOUSE */
-
-
if((error = usl_vt_ioctl(dev, cmd, data, flag, p)) >= 0)
return (error == PCVT_ERESTART) ? ERESTART : error;
-#ifdef XSERVER
- /*
- * just for compatibility:
- * XFree86 < 2.0 and SuperProbe still might use it
- *
- * NB: THIS IS A HACK! Do not use it unless you explicitly need.
- * Especially, since the vty is not put into process-controlled
- * mode (this would require the application to co-operate), any
- * attempts to switch vtys while this kind of X mode is active
- * may cause serious trouble.
- */
- switch(cmd)
- {
- case CONSOLE_X_MODE_ON:
- {
- int i;
-
- if((error = usl_vt_ioctl(dev, KDENABIO, 0, flag, p)) > 0)
- return error;
-
- i = KD_GRAPHICS;
- if((error = usl_vt_ioctl(dev, KDSETMODE, (caddr_t)&i, flag, p))
- > 0)
- return error;
-
- i = K_RAW;
- error = usl_vt_ioctl(dev, KDSKBMODE, (caddr_t)&i, flag, p);
- ttyflush(tp, FREAD);
- return error;
- }
-
- case CONSOLE_X_MODE_OFF:
- {
- int i;
-
- (void)usl_vt_ioctl(dev, KDDISABIO, 0, flag, p);
-
- i = KD_TEXT;
- (void)usl_vt_ioctl(dev, KDSETMODE, (caddr_t)&i, flag, p);
-
- i = K_XLATE;
- (void)usl_vt_ioctl(dev, KDSKBMODE, (caddr_t)&i, flag, p);
- ttyflush(tp, FREAD);
- return 0;
- }
-
-
- case CONSOLE_X_BELL:
-
- /*
- * If `data' is non-null, the first int value denotes
- * the pitch, the second a duration. Otherwise, behaves
- * like BEL.
- */
-
- if (data)
- {
- sysbeep(((int *)data)[0],
- ((int *)data)[1] * hz / 1000);
- }
- else
- {
- sysbeep(PCVT_SYSBEEPF / 1493, hz / 4);
- }
- return (0);
-
- default: /* fall through */ ;
- }
-
-#endif /* XSERVER */
-
if((error = kbdioctl(dev,cmd,data,flag)) >= 0)
return error;
if((error = vgaioctl(dev,cmd,data,flag)) >= 0)
return error;
-#if PCVT_EMU_MOUSE
-do_standard:
-#endif /* PCVT_EMU_MOUSE */
-
if((error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p)) >= 0)
return (error);
@@ -523,6 +324,7 @@ pcmmap(Dev_t dev, int offset, int nprot)
{
if ((u_int)offset > 0x20000)
return -1;
+
return i386_btop((0xa0000 + offset));
}
@@ -543,12 +345,13 @@ u_char pcvt_kbd_fifo[PCVT_KBD_FIFO_SZ];
int pcvt_kbd_wptr = 0;
int pcvt_kbd_rptr = 0;
short pcvt_kbd_count= 0;
-static u_char pcvt_timeout_scheduled = 0;
+static u_char pcvt_timeout_scheduled;
-static void pcvt_timeout (void *arg)
+static void
+pcvt_timeout(void *arg)
{
+ int s;
u_char *cp;
- int s;
pcvt_timeout_scheduled = 0;
@@ -556,23 +359,20 @@ static void pcvt_timeout (void *arg)
pcvt_scrnsv_reset();
#endif /* PCVT_SCREENSAVER */
- while (pcvt_kbd_count)
- {
- if (((cp = sgetc(1)) != 0) &&
- (vs[current_video_screen].openf))
- {
-
+ while (pcvt_kbd_count) {
+ if ((cp = sgetc(1)) && (vs[current_video_screen].openf)) {
#if PCVT_NULLCHARS
- if(*cp == '\0')
- {
+ if(*cp == '\0') {
/* pass a NULL character */
- (*linesw[pcconsp->t_line].l_rint)('\0', pcconsp);
+ (*linesw[pcconsp->t_line].l_rint)('\0',
+ pcconsp);
}
/* XXX */ else
#endif /* PCVT_NULLCHARS */
while (*cp)
- (*linesw[pcconsp->t_line].l_rint)(*cp++ & 0xff, pcconsp);
+ (*linesw[pcconsp->t_line].l_rint)(*cp++ & 0xff,
+ pcconsp);
}
s = spltty();
@@ -605,16 +405,14 @@ pcintr(void *arg)
#endif /* PCVT_SCREENSAVER */
#if PCVT_KBD_FIFO
- if (kbd_polling)
- {
+ if (kbd_polling) {
if(sgetc(1) == 0)
return -1;
else
return 1;
}
- while (inb(CONTROLLER_CTRL) & STATUS_OUTPBF) /* check 8042 buffer */
- {
+ while (inb(CONTROLLER_CTRL) & STATUS_OUTPBF) { /* check 8042 buffer */
ret = 1; /* got something */
PCVT_KBD_DELAY(); /* 7 us delay */
@@ -622,11 +420,8 @@ pcintr(void *arg)
dt = inb(CONTROLLER_DATA); /* get it 8042 data */
if (pcvt_kbd_count >= PCVT_KBD_FIFO_SZ) /* fifo overflow ? */
- {
log (LOG_WARNING, "pcvt: keyboard buffer overflow\n");
- }
- else
- {
+ else {
pcvt_kbd_fifo[pcvt_kbd_wptr++] = dt; /* data -> fifo */
s = spltty(); /* XXX necessary ? */
@@ -638,13 +433,11 @@ pcintr(void *arg)
}
}
- if (ret == 1) /* got data from keyboard ? */
- {
- if (!pcvt_timeout_scheduled) /* if not already active .. */
- {
+ if (ret == 1) { /* got data from keyboard ? */
+ if (!pcvt_timeout_scheduled) { /* if not already active .. */
s = spltty();
pcvt_timeout_scheduled = 1; /* flag active */
- timeout((TIMEOUT_FUNC_T)pcvt_timeout, (caddr_t) 0, 1); /* fire off */
+ timeout((TIMEOUT_FUNC_T)pcvt_timeout, (caddr_t) 0, 1);
splx(s);
}
}
@@ -662,8 +455,7 @@ pcintr(void *arg)
return 1;
#if PCVT_NULLCHARS
- if(*cp == '\0')
- {
+ if(*cp == '\0') {
/* pass a NULL character */
(*linesw[pcconsp->t_line].l_rint)('\0', pcconsp);
return 1;
@@ -689,9 +481,7 @@ pcstart(register struct tty *tp)
if (tp->t_state & (TS_TIMEOUT|TS_BUSY|TS_TTSTOP))
goto out;
- if (tp->t_outq.c_cc == 0 &&
- tp->t_wsel.si_selpid == 0)
- {
+ if (tp->t_outq.c_cc == 0 && tp->t_wsel.si_selpid == 0) {
async_update();
goto low;
}
@@ -705,8 +495,7 @@ pcstart(register struct tty *tp)
* expensive and we don't want our serial ports to overflow.
*/
- while ((len = q_to_b(&tp->t_outq, buf, PCVT_PCBURST)) != 0)
- {
+ while ((len = q_to_b(&tp->t_outq, buf, PCVT_PCBURST)) != 0) {
if (vs[minor(tp->t_dev)].scrolling)
sgetc(31337);
sput(&buf[0], 0, len, minor(tp->t_dev));
@@ -719,11 +508,9 @@ pcstart(register struct tty *tp)
tp->t_state |= TS_TIMEOUT;
timeout(ttrstrt, tp, 1);
- if (tp->t_outq.c_cc <= tp->t_lowat)
- {
+ if (tp->t_outq.c_cc <= tp->t_lowat) {
low:
- if (tp->t_state&TS_ASLEEP)
- {
+ if (tp->t_state&TS_ASLEEP) {
tp->t_state &= ~TS_ASLEEP;
wakeup((caddr_t)&tp->t_outq);
}
@@ -743,7 +530,6 @@ pcstop(struct tty *tp, int flag)
/*---------------------------------------------------------------------------*
* /dev/console
*---------------------------------------------------------------------------*/
-
void
pccnprobe(struct consdev *cp)
{
@@ -751,14 +537,12 @@ pccnprobe(struct consdev *cp)
/* locate the major number */
- for (maj = 0; maj < nchrdev; maj++)
- {
+ for (maj = 0; maj < nchrdev; maj++) {
if ((u_int)cdevsw[maj].d_open == (u_int)pcopen)
break;
}
- if (maj == nchrdev)
- {
+ if (maj == nchrdev) {
/* we are not in cdevsw[], give up */
panic("pcvt is not in cdevsw[]");
}
@@ -783,9 +567,7 @@ pccnputc(Dev_t dev, U_char c)
#if PCVT_SW0CNOUTP
if(current_video_screen != 0)
- {
switch_screen(0, 0);
- }
#endif /* PCVT_SW0CNOUTP */
@@ -823,8 +605,6 @@ pccngetc(Dev_t dev)
void
pccnpollc(Dev_t dev, int on)
{
- struct vt_softc *sc = NULL; /* XXX not used */
-
kbd_polling = on;
if (!on) {
register int s;
@@ -835,9 +615,7 @@ pccnpollc(Dev_t dev, int on)
* won't get any further interrupts.
*/
s = spltty();
-
- pcintr(sc);
-
+ pcintr(NULL);
splx(s);
}
}
@@ -859,61 +637,6 @@ pcparam(struct tty *tp, struct termios *t)
return(0);
}
-/* special characters */
-#define bs 8
-#define lf 10
-#define cr 13
-#define cntlc 3
-#define del 0177
-#define cntld 4
-
-int
-getchar(void)
-{
- u_char thechar;
- int x;
-
- kbd_polling = 1;
-
- x = splhigh();
-
- sput(">", 1, 1, 0);
-
- async_update();
-
- thechar = *(sgetc(0));
-
- kbd_polling = 0;
-
- splx(x);
-
- switch (thechar)
- {
- default:
- if (thechar >= ' ')
- sput(&thechar, 1, 1, 0);
- return(thechar);
-
- case cr:
- case lf:
- sput("\r\n", 1, 2, 0);
- return(lf);
-
- case bs:
- case del:
- sput("\b \b", 1, 3, 0);
- return(thechar);
-
- case cntlc:
- sput("^C\r\n", 1, 4, 0) ;
- cpu_reset();
-
- case cntld:
- sput("^D\r\n", 1, 4, 0) ;
- return(0);
- }
-}
-
/*----------------------------------------------------------------------*
* read initial VGA palette (as stored by VGA ROM BIOS) into
* palette save area
@@ -936,4 +659,3 @@ vgapelinit(void)
#endif /* NVT > 0 */
-/*-------------------------- E O F -------------------------------------*/
diff --git a/sys/arch/i386/isa/pcvt/pcvt_ext.c b/sys/arch/i386/isa/pcvt/pcvt_ext.c
index adc4cdc4669..bd41a5ceb2d 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_ext.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_ext.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_ext.c,v 1.23 1999/11/20 18:52:00 espie Exp $ */
+/* $OpenBSD: pcvt_ext.c,v 1.24 1999/11/25 20:24:21 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -2387,13 +2387,12 @@ switch_screen(int n, int oldgrafx, int newgrafx)
if(!newgrafx)
{
update_led(); /* update led's */
- update_hp(vsp); /* update fkey labels, if present */
/* if we switch to a vt with force 24 lines mode and */
/* pure VT emulation and 25 rows charset, then we have */
/* to clear the last line on display ... */
- if(vsp->force24 && (vsp->vt_pure_mode == M_PUREVT) &&
+ if(vsp->force24 &&
(vgacs[vsp->vga_charset].screen_size == SIZ_25ROWS))
{
fillw(' ', (caddr_t)
@@ -2562,7 +2561,7 @@ vgapage(int new_screen)
* VT_USL ioctl handling
*---------------------------------------------------------------------------*/
int
-usl_vt_ioctl(Dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
+usl_vt_ioctl(Dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
{
int i, j, error, opri, mode;
struct vt_mode newmode;
diff --git a/sys/arch/i386/isa/pcvt/pcvt_hdr.h b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
index 1d3ecfa2073..122f8a7f6d6 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_hdr.h
+++ b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_hdr.h,v 1.28 1999/11/20 18:52:00 espie Exp $ */
+/* $OpenBSD: pcvt_hdr.h,v 1.29 1999/11/25 20:24:21 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -452,19 +452,6 @@
#define VGA_PMSK 0x3F /* palette mask, 64 distinct values */
#define NVGAPEL 256 /* number of palette entries */
-/*---------------------------------------------------------------------------*
- * function key labels
- *---------------------------------------------------------------------------*/
-
-#define LABEL_LEN 9 /* length of one label */
-#define LABEL_MID 8 /* mid-part (row/col) */
-
-#define LABEL_ROWH ((4*LABEL_LEN)+1)
-#define LABEL_ROWL ((4*LABEL_LEN)+2)
-#define LABEL_COLU ((4*LABEL_LEN)+4)
-#define LABEL_COLH ((4*LABEL_LEN)+5)
-#define LABEL_COLL ((4*LABEL_LEN)+6)
-
/* tab setting */
#define MAXTAB 132 /* no of possible tab stops */
@@ -514,30 +501,6 @@
#define DSCS_LENGTH 3 /* descriptor length */
#define MAXSIXEL 8 /* sixels forever ! */
-/* sub-states for HP-terminal emulator */
-
-#define SHP_INIT 0
-
-/* esc & f family */
-
-#define SHP_AND_F 1
-#define SHP_AND_Fa 2
-#define SHP_AND_Fak 3
-#define SHP_AND_Fak1 4
-#define SHP_AND_Fakd 5
-#define SHP_AND_FakdL 6
-#define SHP_AND_FakdLl 7
-#define SHP_AND_FakdLls 8
-
-/* esc & j family */
-
-#define SHP_AND_J 9
-#define SHP_AND_JL 10
-
-/* esc & every-thing-else */
-
-#define SHP_AND_ETE 11
-
/* additionals for function key labels */
#define MAX_LABEL 16
@@ -598,11 +561,6 @@
#define D_G2_96 5 /* designated as G2 for 96-char charsets */
#define D_G3_96 6 /* designated as G3 for 96-char charsets */
-/* which fkey-labels */
-
-#define SYS_FKL 0 /* in hp mode, sys-fkls are active */
-#define USR_FKL 1 /* in hp mode, user-fkls are active */
-
/* initial default scrollback buffer size (in pages) */
#define SCROLLBACK_PAGES 8
@@ -623,16 +581,8 @@ EXTERN u_char pcdisp_special; /* are we printing special chars */
EXTERN u_short kern_attr; /* kernel messages char attributes */
EXTERN u_short user_attr; /* character attributes */
-#if !PCVT_EMU_MOUSE
-
EXTERN struct tty *pc_tty[PCVT_NSCREENS];
-#else /* PCVT_EMU_MOUSE */
-
-EXTERN struct tty *pc_tty[PCVT_NSCREENS + 1];
-
-#endif /* PCVT_EMU_MOUSE */
-
struct sixels {
u_char lower[MAXSIXEL]; /* lower half of char */
u_char upper[MAXSIXEL]; /* upper half of char */
@@ -694,14 +644,9 @@ typedef struct video_state {
u_short *sc_GL; /* save GL ptr */
u_short *sc_GR; /* save GR ptr */
u_char sc_sel; /* selective erase state */
- u_char ufkl[8][17]; /* user fkey-labels */
- u_char sfkl[8][17]; /* system fkey-labels */
- u_char labels_on; /* display fkey labels etc. on/off */
- u_char which_fkl; /* which fkey labels are active */
char tab_stops[MAXTAB]; /* table of active tab stops */
u_char parmi; /* parameter index */
u_char parms[MAXPARMS]; /* parameter array */
- u_char hp_state; /* hp escape sequence state machine */
u_char attribute; /* attribute normal, tx only, local */
u_char key; /* fkey label no */
u_char l_len; /* buffer length's */
@@ -712,7 +657,6 @@ typedef struct video_state {
u_char s_buf[MAX_STRING+1];
u_char m_buf[MAX_STATUS+1];
u_char openf; /* we are opened ! */
- u_char vt_pure_mode; /* no fkey labels, row/col, status */
u_char cursor_start; /* Start of cursor */
u_char cursor_end; /* End of cursor */
u_char cursor_on; /* cursor switched on */
@@ -787,17 +731,6 @@ struct vga_char_state {
EXTERN struct vga_char_state vgacs[NVGAFONTS]; /* Character set states */
-#if PCVT_EMU_MOUSE
-struct mousestat {
- struct timeval lastmove; /* last time the pointer moved */
- u_char opened; /* someone would like to use a mouse */
- u_char minor; /* minor device number */
- u_char buttons; /* current "buttons" pressed */
- u_char extendedseen; /* 0xe0 has been seen, do not use next key */
- u_char breakseen; /* key break has been seen for a sticky btn */
-};
-#endif /* PCVT_EMU_MOUSE */
-
#ifdef WAS_EXTERN
struct vt_softc {
@@ -833,11 +766,6 @@ u_short *Crtat; /* screen start address */
u_short *Scrollbuffer; /* scrollback buffer */
u_short scrollback_pages; /* size of scrollback buffer (pages) */
-#if PCVT_EMU_MOUSE
-struct mousestat mouse = {{0}};
-struct mousedefs mousedef = {0x3b, 0x3c, 0x3d, 0, 250000};
-#endif /* PCVT_EMU_MOUSE */ /* F1, F2, F3, false, 0.25 sec */
-
video_state *vsp = &vs[0]; /* ptr to current screen parms */
int vt_switch_pending = 0; /* if > 0, a vt switch is */
@@ -862,10 +790,6 @@ u_char keyboard_type = KB_UNKNOWN; /* type of keyboard */
u_char keyboard_is_initialized = 0; /* for ddb sanity */
u_char kbd_polling = 0; /* keyboard is being polled */
-#if PCVT_SHOWKEYS
-u_char keyboard_show = 0; /* normal display */
-#endif /* PCVT_SHOWKEYS */
-
u_char cursor_pos_valid = 0; /* sput left a valid position*/
u_char critical_scroll = 0; /* inside scrolling up */
@@ -961,11 +885,6 @@ extern u_char vga_type;
extern struct tty *pcconsp;
extern video_state *vsp;
-#if PCVT_EMU_MOUSE
-extern struct mousestat mouse;
-extern struct mousedefs mousedef;
-#endif /* PCVT_EMU_MOUSE */
-
extern int vt_switch_pending;
extern u_int addr_6845;
extern u_short *Crtat;
@@ -993,10 +912,6 @@ extern u_char kbd_polling;
extern u_short *Scrollbuffer;
extern u_short scrollback_pages;
-#if PCVT_SHOWKEYS
-extern u_char keyboard_show;
-#endif /* PCVT_SHOWKEYS */
-
u_char cursor_pos_valid;
u_char critical_scroll;
@@ -1033,7 +948,7 @@ int pcopen ( Dev_t dev, int flag, int mode, struct proc *p );
int pcclose ( Dev_t dev, int flag, int mode, struct proc *p );
int pcread ( Dev_t dev, struct uio *uio, int flag );
int pcwrite ( Dev_t dev, struct uio *uio, int flag );
-int pcioctl ( Dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p );
+int pcioctl ( Dev_t dev, int cmd, caddr_t data, int flag, struct proc *p );
int pcmmap ( Dev_t dev, int offset, int nprot );
struct tty *
@@ -1049,16 +964,12 @@ void pcstart ( struct tty *tp );
void pcstop ( struct tty *tp, int flag );
void switch_screen ( int n, int oldgrafx, int newgrafx );
-int usl_vt_ioctl (Dev_t dev, u_long cmd,caddr_t data,int flag,struct proc *);
+int usl_vt_ioctl (Dev_t dev,int cmd,caddr_t data,int flag,struct proc *);
int vt_activate ( int newscreen );
int vgapage ( int n );
void get_usl_keymap( keymap_t *map );
void reset_usl_modes (struct video_state *vsx);
-#if PCVT_EMU_MOUSE
-int mouse_ioctl ( Dev_t dev, int cmd, caddr_t data );
-#endif /* PCVT_EMU_MOUSE */
-
#if PCVT_SCREENSAVER
void pcvt_scrnsv_reset ( void );
void pcvt_set_scrnsv_tmo ( int );
@@ -1069,16 +980,12 @@ void clr_parms ( struct video_state *svsp );
void cons_highlight ( void );
void cons_normal ( void );
int egavga_test ( void );
-void fkl_off ( struct video_state *svsp );
-void fkl_on ( struct video_state *svsp );
struct tty *get_pccons ( Dev_t dev );
-void init_sfkl ( struct video_state *svsp );
-void init_ufkl ( struct video_state *svsp );
int kbd_cmd ( int val );
void kbd_code_init ( void );
void kbd_code_init1 ( void );
void kbd_setmode(int mode);
-int kbdioctl ( Dev_t dev, u_long cmd, caddr_t data, int flag );
+int kbdioctl ( Dev_t dev, int cmd, caddr_t data, int flag );
void loadchar ( int fontset, int character, int char_scanlines,
u_char *char_table );
void mda2egaorvga ( void );
@@ -1086,22 +993,17 @@ void roll_up ( struct video_state *svsp, int n );
void select_vga_charset ( int vga_charset );
void set_2ndcharset ( void );
void set_charset ( struct video_state *svsp, int curvgacs );
-void set_emulation_mode ( struct video_state *svsp, int mode );
void set_screen_size ( struct video_state *svsp, int size );
void reallocate_scrollbuffer ( struct video_state *svsp, int pages );
u_char *sgetc ( int noblock );
void sixel_vga ( struct sixels *charsixel, u_char *charvga );
void sput ( u_char *s, U_char attrib, int len, int page );
void sw_cursor ( int onoff );
-void sw_sfkl ( struct video_state *svsp );
-void sw_ufkl ( struct video_state *svsp );
-void swritefkl ( int num, u_char *string, struct video_state *svsp );
void toggl_awm ( struct video_state *svsp );
void toggl_bell ( struct video_state *svsp );
void toggl_columns ( struct video_state *svsp );
void toggl_dspf ( struct video_state *svsp );
void toggl_sevenbit ( struct video_state *svsp );
-void update_hp ( struct video_state *svsp );
void update_led ( void );
void vga10_vga10 ( u_char *invga, u_char *outvga );
void vga10_vga14 ( u_char *invga, u_char *outvga );
@@ -1114,7 +1016,7 @@ void vga_screen_off ( void );
void vga_screen_on ( void );
char *vga_string ( int number );
int vga_test ( void );
-int vgaioctl ( Dev_t dev, u_long cmd, caddr_t data, int flag );
+int vgaioctl ( Dev_t dev, int cmd, caddr_t data, int flag );
void vgapaletteio ( unsigned idx, struct rgb *val, int writeit );
void vt_aln ( struct video_state *svsp );
void vt_clearudk ( struct video_state *svsp );
diff --git a/sys/arch/i386/isa/pcvt/pcvt_ioctl.h b/sys/arch/i386/isa/pcvt/pcvt_ioctl.h
index 68285ba0c3e..05e1c47e5cb 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_ioctl.h
+++ b/sys/arch/i386/isa/pcvt/pcvt_ioctl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_ioctl.h,v 1.12 1999/10/16 18:56:36 aaron Exp $ */
+/* $OpenBSD: pcvt_ioctl.h,v 1.13 1999/11/25 20:24:21 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -198,21 +198,6 @@ struct kbd_ovlkey /* complete definition of a key */
#define KBDRMKEY _IOW('K',19, int) /* remove a key assignment */
#define KBDDEFAULT _IO('K',20) /* remove all key assignments */
-/* mouse emulator definitions */
-
-struct mousedefs {
- int leftbutton; /* (PC) scan code for "left button" key */
- int middlebutton; /* (PC) scan code for "mid button" key */
- int rightbutton; /* (PC) scan code for "right button" key */
- int stickybuttons; /* if true, the buttons are "sticky" */
- int acceltime; /* timeout in microseconds to start pointer */
- /* movement acceleration */
- /* defaults to: scan(F1), scan(F2), scan(F3), false, 500000 */
-};
-
-#define KBDMOUSEGET _IOR('K', 25, struct mousedefs) /* read defs */
-#define KBDMOUSESET _IOW('K', 26, struct mousedefs) /* set defs */
-
/*---------------------------------------------------------------------------*
* IOCTLs for Video Adapter
*---------------------------------------------------------------------------*/
@@ -455,8 +440,6 @@ struct pcvtinfo { /* compile time option values */
#define CONF_CTRL_ALT_DEL 0x00000008
#define CONF_USEKBDSEC 0x00000010
#define CONF_24LINESDEF 0x00000020
-#define CONF_EMU_MOUSE 0x00000040
-#define CONF_SHOWKEYS 0x00000080
#define CONF_KEYBDID 0x00000100
#define CONF_SIGWINCH 0x00000200
#define CONF_NULLCHARS 0x00000400
diff --git a/sys/arch/i386/isa/pcvt/pcvt_kbd.c b/sys/arch/i386/isa/pcvt/pcvt_kbd.c
index 03d2ede8a0e..60a8b8a9200 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_kbd.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_kbd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_kbd.c,v 1.28 1999/11/20 18:52:00 espie Exp $ */
+/* $OpenBSD: pcvt_kbd.c,v 1.29 1999/11/25 20:24:21 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -74,7 +74,7 @@
*---------------------------------------------------------------------------*/
#include "vt.h"
-#if NVT > 0
+/* #if NVT > 0 */
#include "pcvt_hdr.h" /* global include */
@@ -96,7 +96,6 @@ static inline int kbd_wait_output(void);
static inline int kbd_wait_input(void);
int kbd_response(void);
-
static void doreset ( void );
static void ovlinit ( int force );
static void settpmrate ( int rate );
@@ -122,58 +121,20 @@ static void scrollback_restore_screen ( void );
extern int kbd_reset;
-#if PCVT_SHOWKEYS
-u_char rawkeybuf[80];
-#endif
-
#include "pcvt_kbd.h" /* tables etc */
-#if PCVT_SHOWKEYS
-/*---------------------------------------------------------------------------*
- * keyboard debugging: put kbd communication char into some buffer
- *---------------------------------------------------------------------------*/
-static void showkey (char delim, u_char val)
-{
- int rki;
-
- for(rki = 3; rki < 80; rki++) /* shift left buffer */
- rawkeybuf[rki-3] = rawkeybuf[rki];
-
- rawkeybuf[77] = delim; /* delimiter */
-
- rki = (val & 0xf0) >> 4; /* ms nibble */
-
- if(rki <= 9)
- rki = rki + '0';
- else
- rki = rki - 10 + 'A';
-
- rawkeybuf[78] = rki;
-
- rki = val & 0x0f; /* ls nibble */
-
- if(rki <= 9)
- rki = rki + '0';
- else
- rki = rki - 10 + 'A';
-
- rawkeybuf[79] = rki;
-}
-#endif /* PCVT_SHOWKEYS */
-
/*---------------------------------------------------------------------------*
* function to switch to another virtual screen
*---------------------------------------------------------------------------*/
static void
do_vgapage(int page)
{
- if(critical_scroll) /* executing critical region ? */
+ if (critical_scroll) /* executing critical region ? */
switch_page = page; /* yes, auto switch later */
else
vgapage(page); /* no, switch now */
}
-
/*
* This code from Lon Willett enclosed in #if PCVT_UPDLED_LOSES_INTR is
* disabled because it crashes FreeBSD 1.1.5.1 at boot time.
@@ -214,11 +175,10 @@ static void
check_for_lost_intr (void *arg)
{
lost_intr_timeout_queued = 0;
- if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF)
- {
- int opri = spltty ();
- (void) pcrint ();
- splx (opri);
+ if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF) {
+ int opri = spltty();
+ (void)pcrint();
+ splx(opri);
}
}
@@ -230,24 +190,19 @@ check_for_lost_intr (void *arg)
void
update_led(void)
{
-
#if !PCVT_NO_LED_UPDATE
-
/* Don't update LED's unless necessary. */
int opri, new_ledstate, response1, response2;
opri = spltty();
- new_ledstate = ((vsp->scroll_lock) |
- (vsp->num_lock * 2) |
+ new_ledstate = ((vsp->scroll_lock) | (vsp->num_lock * 2) |
(vsp->caps_lock * 4));
- if (new_ledstate != ledstate)
- {
+ if (new_ledstate != ledstate) {
ledstate = LEDSTATE_UPDATE_PENDING;
- if (kbd_cmd(KEYB_C_LEDS) != 0)
- {
+ if (kbd_cmd(KEYB_C_LEDS) != 0) {
printf("Keyboard LED command timeout\n");
splx(opri);
return;
@@ -315,15 +270,13 @@ settpmrate(int rate)
tpmrate = rate & 0x7f;
if (kbd_cmd(KEYB_C_TYPEM) != 0) {
printf("Keyboard TYPEMATIC command timeout\n");
- splx(opri);
- return;
+ goto fail;
}
response1 = kbd_response(); /* wait for ACK */
if (kbd_cmd(tpmrate) != 0) {
printf("Keyboard TYPEMATIC data timeout\n");
- splx(opri);
- return;
+ goto fail;
}
response2 = kbd_response(); /* wait for ACK */
@@ -332,7 +285,9 @@ settpmrate(int rate)
"Keyboard TYPEMATIC command not ACKed (responses %#x %#x)\n",
response1, response2);
}
+fail:
splx(opri);
+ return;
}
/*---------------------------------------------------------------------------*
@@ -373,7 +328,6 @@ kbd_wait_input()
static int
kbc_8042cmd(int val)
{
-
if (!kbd_wait_output())
return (-1);
outb(CONTROLLER_CTRL, val);
@@ -387,15 +341,10 @@ kbc_8042cmd(int val)
int
kbd_cmd(int val)
{
-
if (!kbd_wait_output())
return (-1);
outb(CONTROLLER_DATA, val);
-#if PCVT_SHOWKEYS
- showkey ('>', val);
-#endif /* PCVT_SHOWKEYS */
-
return (0);
}
@@ -412,10 +361,6 @@ kbd_response(void)
return (-1);
ch = inb(CONTROLLER_DATA);
-#if PCVT_SHOWKEYS
- showkey ('<', ch);
-#endif /* PCVT_SHOWKEYS */
-
return ch;
}
@@ -425,18 +370,15 @@ kbd_response(void)
void
kbd_setmode(int mode)
{
-#if PCVT_SCANSET > 1 /* switch only if we are running */
- /* keyboard scancode 2 */
-
+#if PCVT_SCANSET > 1 /* switch only if we are running scancode 2 */
int cmd;
-
#if PCVT_USEKBDSEC
- cmd = COMMAND_SYSFLG | COMMAND_IRQEN;
+ cmd = COMMAND_SYSFLG | COMMAND_IRQEN;
#else
cmd = COMMAND_INHOVR | COMMAND_SYSFLG | COMMAND_IRQEN;
#endif
- if(mode == K_RAW) /* switch to scancode 1 ? */
+ if (mode == K_RAW) /* switch to scancode 1 ? */
cmd |= COMMAND_PCSCAN; /* yes, setup command */
kbc_8042cmd(CONTR_WRITE);
@@ -444,7 +386,7 @@ kbd_setmode(int mode)
#endif /* PCVT_SCANSET > 1 */
- if(mode == K_RAW)
+ if (mode == K_RAW)
shift_down = meta_down = altgr_down = ctrl_down = 0;
}
@@ -465,7 +407,7 @@ void doreset(void)
unsigned int wait_retries, seen_negative_response;
/* Enable interrupts and keyboard, etc. */
- if(kbc_8042cmd(CONTR_WRITE) != 0)
+ if (kbc_8042cmd(CONTR_WRITE) != 0)
printf("pcvt: doreset() - timeout controller write command\n");
#if PCVT_USEKBDSEC /* security enabled */
@@ -487,7 +429,7 @@ void doreset(void)
#endif /* PCVT_USEKBDSEC */
- if(kbd_cmd(KBDINITCMD) != 0)
+ if (kbd_cmd(KBDINITCMD) != 0)
printf("pcvt: doreset() - timeout writing keyboard init command\n");
/*
@@ -505,36 +447,30 @@ void doreset(void)
}
/* Start keyboard reset */
-
opri = spltty();
- if(kbd_cmd(KEYB_C_RESET) != 0)
- printf("pcvt: doreset() - timeout for keyboard reset command\n");
+ if (kbd_cmd(KEYB_C_RESET) != 0)
+ printf("pcvt: doreset() - keyboard reset command timeout\n");
/* Wait for the first response to reset and handle retries */
- while((response = kbd_response()) != KEYB_R_ACK)
- {
- if(response < 0)
- {
- if(!again) /* print message only once ! */
+ while ((response = kbd_response()) != KEYB_R_ACK) {
+ if (response < 0) {
+ if (!again) /* print message only once ! */
printf("pcvt: doreset() - response != ack and response < 0 [one time only msg]\n");
response = KEYB_R_RESEND;
}
- if(response == KEYB_R_RESEND)
- {
- if(!again) /* print message only once ! */
+ if (response == KEYB_R_RESEND) {
+ if (!again) /* print message only once ! */
printf("pcvt: doreset() - got KEYB_R_RESEND response ... [one time only msg]\n");
- if(++again > PCVT_NONRESP_KEYB_TRY)
- {
+ if (++again > PCVT_NONRESP_KEYB_TRY) {
printf("pcvt: doreset() - Caution - no PC keyboard detected!\n");
keyboard_type = KB_UNKNOWN;
splx(opri);
return;
}
- if((kbd_cmd(KEYB_C_RESET) != 0) && (once == 0))
- {
+ if ((kbd_cmd(KEYB_C_RESET) != 0) && (once == 0)) {
once++; /* print message only once ! */
printf("pcvt: doreset() - timeout for loop keyboard reset command [one time only msg]\n");
}
@@ -545,8 +481,7 @@ void doreset(void)
wait_retries = seen_negative_response = 0;
- while((response = kbd_response()) != KEYB_R_SELFOK)
- {
+ while ((response = kbd_response()) != KEYB_R_SELFOK) {
/*
* Let's be a little more tolerant here...
* Receiving a -1 could indicate that the keyboard
@@ -554,11 +489,10 @@ void doreset(void)
* Such cases have been noticed with e.g. Alps Membrane.
*/
- if(response < 0)
+ if (response < 0)
seen_negative_response = 1;
- if(seen_negative_response && (wait_retries >= 10))
- {
+ if (seen_negative_response && (wait_retries >= 10)) {
printf("pcvt: doreset() - response != OK and response < 0\n");
/*
@@ -581,8 +515,7 @@ void doreset(void)
kbc_8042cmd(CONTR_READ);
response = kbd_response();
- if (!(response & COMMAND_PCSCAN))
- {
+ if (!(response & COMMAND_PCSCAN)) {
if (kbd_cmd(KEYB_C_SCANSET) != 0)
printf("pcvt: doreset() - keyboard SCANSET command timeout\n");
else if (kbd_cmd(1) != 0)
@@ -592,7 +525,6 @@ void doreset(void)
}
#endif
-
splx(opri);
#if PCVT_KEYBDID
@@ -601,17 +533,13 @@ query_kbd_id:
opri = spltty();
- if(kbd_cmd(KEYB_C_ID) != 0)
- {
+ if (kbd_cmd(KEYB_C_ID) != 0) {
printf("pcvt: doreset() - timeout for keyboard ID command\n");
keyboard_type = KB_UNKNOWN;
}
- else
- {
-
+ else {
r_entry:
- if((response = kbd_response()) == KEYB_R_MF2ID1)
- {
+ if ((response = kbd_response()) == KEYB_R_MF2ID1) {
switch ((response = kbd_response())) {
case KEYB_R_RESEND:
/*
@@ -628,34 +556,27 @@ r_entry:
case KEYB_R_MF2ID2TP2:
keyboard_type = KB_MFII;
break;
+
default:
printf("\npcvt: doreset() - kbdid, response 2 = [%d]\n", response);
keyboard_type = KB_UNKNOWN;
break;
}
}
- else if(response == KEYB_R_ACK)
- {
+ else if (response == KEYB_R_ACK)
goto r_entry;
- }
- else if(response == -1)
- {
+ else if (response == -1)
keyboard_type = KB_AT;
- }
- else
- {
- printf("\npcvt: doreset() - kbdid, response 1 = [%d]\n", response);
+ else {
+ printf("\npcvt: doreset() - kbdid, response 1 = [%d]\n",
+ response);
}
}
-
splx(opri);
#else /* PCVT_KEYBDID */
-
keyboard_type = KB_MFII; /* force it .. */
-
#endif /* PCVT_KEYBDID */
-
}
/*---------------------------------------------------------------------------*
@@ -689,15 +610,13 @@ void ovlinit(int force)
{
int i;
- if(force || ovlinitflag==0)
- {
- if(ovlinitflag == 0 &&
+ if (force || ovlinitflag == 0) {
+ if (ovlinitflag == 0 &&
(ovltbl = (Ovl_tbl *)malloc(sizeof(Ovl_tbl) * OVLTBL_SIZE,
M_DEVBUF, M_WAITOK)) == NULL)
panic("pcvt_kbd: malloc of Ovl_tbl failed");
- for(i=0; i<OVLTBL_SIZE; i++)
- {
+ for(i = 0; i < OVLTBL_SIZE; i++) {
ovltbl[i].keynum =
ovltbl[i].type = 0;
ovltbl[i].unshift[0] =
@@ -721,59 +640,51 @@ void ovlinit(int force)
static int
getokeydef(unsigned key, Ovl_tbl *thisdef)
{
- if(key == 0 || key > MAXKEYNUM)
+ if (key == 0 || key > MAXKEYNUM)
return EINVAL;
thisdef->keynum = key;
thisdef->type = key2ascii[key].type;
- if(key2ascii[key].unshift.subtype == STR)
- {
+ if (key2ascii[key].unshift.subtype == STR) {
bcopy((u_char *)(key2ascii[key].unshift.what.string),
- thisdef->unshift, CODE_SIZE);
+ thisdef->unshift, CODE_SIZE);
thisdef->subu = KBD_SUBT_STR;
}
- else
- {
+ else {
bcopy("", thisdef->unshift, CODE_SIZE);
thisdef->subu = KBD_SUBT_FNC;
}
- if(key2ascii[key].shift.subtype == STR)
- {
+ if (key2ascii[key].shift.subtype == STR) {
bcopy((u_char *)(key2ascii[key].shift.what.string),
- thisdef->shift, CODE_SIZE);
+ thisdef->shift, CODE_SIZE);
thisdef->subs = KBD_SUBT_STR;
}
- else
- {
- bcopy("",thisdef->shift,CODE_SIZE);
+ else {
+ bcopy("", thisdef->shift,CODE_SIZE);
thisdef->subs = KBD_SUBT_FNC;
}
- if(key2ascii[key].ctrl.subtype == STR)
- {
+ if (key2ascii[key].ctrl.subtype == STR) {
bcopy((u_char *)(key2ascii[key].ctrl.what.string),
- thisdef->ctrl, CODE_SIZE);
+ thisdef->ctrl, CODE_SIZE);
thisdef->subc = KBD_SUBT_STR;
}
- else
- {
+ else {
bcopy("",thisdef->ctrl,CODE_SIZE);
thisdef->subc = KBD_SUBT_FNC;
}
/* deliver at least anything for ALTGR settings ... */
- if(key2ascii[key].unshift.subtype == STR)
- {
+ if (key2ascii[key].unshift.subtype == STR) {
bcopy((u_char *)(key2ascii[key].unshift.what.string),
- thisdef->altgr, CODE_SIZE);
+ thisdef->altgr, CODE_SIZE);
thisdef->suba = KBD_SUBT_STR;
}
- else
- {
- bcopy("",thisdef->altgr, CODE_SIZE);
+ else {
+ bcopy("", thisdef->altgr, CODE_SIZE);
thisdef->suba = KBD_SUBT_FNC;
}
return 0;
@@ -787,10 +698,10 @@ getckeydef(unsigned key, Ovl_tbl *thisdef)
{
u_short type = key2ascii[key].type;
- if(key>MAXKEYNUM)
+ if (key > MAXKEYNUM)
return EINVAL;
- if(type & KBD_OVERLOAD)
+ if (type & KBD_OVERLOAD)
*thisdef = ovltbl[key2ascii[key].ovlindex];
else
getokeydef(key,thisdef);
@@ -805,6 +716,7 @@ getckeydef(unsigned key, Ovl_tbl *thisdef)
static u_char *
xlatkey2ascii(U_short key)
{
+ int n;
static u_char capchar[2] = {0, 0};
#if PCVT_META_ESC
static u_char metachar[3] = {0x1b, 0, 0};
@@ -812,26 +724,23 @@ xlatkey2ascii(U_short key)
static u_char metachar[2] = {0, 0};
#endif
static Ovl_tbl thisdef;
- int n;
-
- static u_char altgr_shft_key[KBDMAXOVLKEYSIZE];
+ static u_char altgr_shft_key[KBDMAXOVLKEYSIZE];
void (*fnc)(void);
- if(key==0) /* ignore the NON-KEY */
+ /* ignore the NON-KEY */
+ if (key == 0)
return 0;
- getckeydef(key&0x7F, &thisdef); /* get the current ASCII value */
+ /* get the current ASCII value */
+ getckeydef(key & 0x7F, &thisdef);
thisdef.type &= KBD_MASK;
- if(key&0x80) /* special handling of ALT-KEYPAD */
- {
+ if (key & 0x80) { /* special handling of ALT-KEYPAD */
/* is the ALT Key released? */
- if(thisdef.type==KBD_META || thisdef.type==KBD_ALTGR)
- {
- if(altkpflag) /* have we been in altkp mode? */
- {
+ if (thisdef.type == KBD_META || thisdef.type == KBD_ALTGR) {
+ if (altkpflag) { /* have we been in altkp mode? */
capchar[0] = altkpval;
altkpflag = 0;
altkpval = 0;
@@ -841,209 +750,182 @@ xlatkey2ascii(U_short key)
return 0;
}
- switch(thisdef.type) /* convert the keys */
- {
- case KBD_BREAK:
- case KBD_ASCII:
- case KBD_FUNC:
- fnc = NULL;
- more_chars = NULL;
-
- if(altgr_down)
- {
- if(shift_down) /* XXX this is hack to support simple
- AltGr + Shift remapping. This should work
- for KOI-8 keymap style */
- {
- altgr_shft_key[0] = *(u_char*)thisdef.altgr+040;
- more_chars = (u_char*)altgr_shft_key;
- }
- else more_chars = (u_char *)thisdef.altgr;
- }
- else if(!ctrl_down && (shift_down || vsp->shift_lock))
- {
- if(key2ascii[key].shift.subtype == STR)
- more_chars = (u_char *)thisdef.shift;
- else
- fnc = key2ascii[key].shift.what.func;
- }
-
- else if(ctrl_down)
- {
- if(key2ascii[key].ctrl.subtype == STR)
- more_chars = (u_char *)thisdef.ctrl;
- else
- fnc = key2ascii[key].ctrl.what.func;
- }
+ switch (thisdef.type) { /* convert the keys */
+ case KBD_BREAK:
+ case KBD_ASCII:
+ case KBD_FUNC:
+ fnc = NULL;
+ more_chars = NULL;
+ if (altgr_down) {
+ /* XXX this is hack to support simple AltGr + Shift
+ * remapping. This should work for KOI-8 keymap style.
+ */
+ if (shift_down) {
+ altgr_shft_key[0] = *(u_char*)thisdef.altgr+040;
+ more_chars = (u_char*)altgr_shft_key;
+ }
+ else
+ more_chars = (u_char *)thisdef.altgr;
+ }
+ else if (!ctrl_down && (shift_down || vsp->shift_lock)) {
+ if (key2ascii[key].shift.subtype == STR)
+ more_chars = (u_char *)thisdef.shift;
else
- {
- if(key2ascii[key].unshift.subtype == STR)
- more_chars = (u_char *)thisdef.unshift;
- else
- fnc = key2ascii[key].unshift.what.func;
- }
+ fnc = key2ascii[key].shift.what.func;
+ }
+ else if (ctrl_down) {
+ if (key2ascii[key].ctrl.subtype == STR)
+ more_chars = (u_char *)thisdef.ctrl;
+ else
+ fnc = key2ascii[key].ctrl.what.func;
+ }
+ else {
+ if (key2ascii[key].unshift.subtype == STR)
+ more_chars = (u_char *)thisdef.unshift;
+ else
+ fnc = key2ascii[key].unshift.what.func;
+ }
- if(fnc)
- (*fnc)(); /* execute function */
+ if (fnc)
+ (*fnc)(); /* execute function */
- if((more_chars != NULL) && (more_chars[1] == 0))
- {
- if(vsp->caps_lock && more_chars[0] >= 'a'
- && more_chars[0] <= 'z')
- {
- capchar[0] = *more_chars - ('a'-'A');
- more_chars = capchar;
- }
- if(meta_down)
- {
+ if ((more_chars != NULL) && (more_chars[1] == 0)) {
+ if (vsp->caps_lock && more_chars[0] >= 'a'
+ && more_chars[0] <= 'z') {
+ capchar[0] = *more_chars - ('a' - 'A');
+ more_chars = capchar;
+ }
+ if (meta_down) {
#if PCVT_META_ESC
- metachar[1] = *more_chars;
+ metachar[1] = *more_chars;
#else
- metachar[0] = *more_chars | 0x80;
+ metachar[0] = *more_chars | 0x80;
#endif
- more_chars = metachar;
- }
- }
- return(more_chars);
-
- case KBD_KP:
- fnc = NULL;
- more_chars = NULL;
-
- if(meta_down)
- {
- switch(key)
- {
- case 95: /* / */
- altkpflag = 0;
- more_chars =
- (u_char *)"\033OQ";
- return(more_chars);
-
- case 100: /* * */
- altkpflag = 0;
- more_chars =
- (u_char *)"\033OR";
- return(more_chars);
-
- case 105: /* - */
- altkpflag = 0;
- more_chars =
- (u_char *)"\033OS";
- return(more_chars);
- }
+ more_chars = metachar;
}
+ }
+ return (more_chars);
- if(meta_down || altgr_down)
- {
- if((n = keypad2num[key-91]) >= 0)
- {
- if(!altkpflag)
- {
- /* start ALT-KP mode */
- altkpflag = 1;
- altkpval = 0;
- }
- altkpval *= 10;
- altkpval += n;
- }
- else
- altkpflag = 0;
- return 0;
- }
+ case KBD_KP:
+ fnc = NULL;
+ more_chars = NULL;
- if(!(vsp->num_lock))
- {
- if(key2ascii[key].shift.subtype == STR)
- more_chars = (u_char *)thisdef.shift;
- else
- fnc = key2ascii[key].shift.what.func;
- }
- else
- {
- if(key2ascii[key].unshift.subtype == STR)
- more_chars = (u_char *)thisdef.unshift;
- else
- fnc = key2ascii[key].unshift.what.func;
- }
+ if (meta_down) {
+ switch (key) {
+ case 95: /* / */
+ altkpflag = 0;
+ more_chars = (u_char *)"\033OQ";
+ return (more_chars);
- if(fnc)
- (*fnc)(); /* execute function */
- return(more_chars);
+ case 100: /* * */
+ altkpflag = 0;
+ more_chars = (u_char *)"\033OR";
+ return (more_chars);
- case KBD_CURSOR:
- fnc = NULL;
- more_chars = NULL;
+ case 105: /* - */
+ altkpflag = 0;
+ more_chars = (u_char *)"\033OS";
+ return (more_chars);
+ }
+ }
- if(vsp->ckm)
- {
- if(key2ascii[key].shift.subtype == STR)
- more_chars = (u_char *)thisdef.shift;
- else
- fnc = key2ascii[key].shift.what.func;
+ if (meta_down || altgr_down) {
+ if ((n = keypad2num[key-91]) >= 0) {
+ if (!altkpflag) {
+ /* start ALT-KP mode */
+ altkpflag = 1;
+ altkpval = 0;
+ }
+ altkpval *= 10;
+ altkpval += n;
}
else
- {
- if(key2ascii[key].unshift.subtype == STR)
- more_chars = (u_char *)thisdef.unshift;
- else
- fnc = key2ascii[key].unshift.what.func;
- }
+ altkpflag = 0;
+ return 0;
+ }
- if(fnc)
- (*fnc)(); /* execute function */
- return(more_chars);
+ if (!vsp->num_lock) {
+ if (key2ascii[key].shift.subtype == STR)
+ more_chars = (u_char *)thisdef.shift;
+ else
+ fnc = key2ascii[key].shift.what.func;
+ }
+ else {
+ if (key2ascii[key].unshift.subtype == STR)
+ more_chars = (u_char *)thisdef.unshift;
+ else
+ fnc = key2ascii[key].unshift.what.func;
+ }
- case KBD_NUM: /* special kp-num handling */
- more_chars = NULL;
+ if (fnc)
+ (*fnc)(); /* execute function */
- if(meta_down)
- {
- more_chars = (u_char *)"\033OP"; /* PF1 */
- }
- else
- {
- vsp->num_lock ^= 1;
- update_led();
- }
- return(more_chars);
+ return (more_chars);
- case KBD_RETURN:
- more_chars = NULL;
+ case KBD_CURSOR:
+ fnc = NULL;
+ more_chars = NULL;
- if(!(vsp->num_lock))
- {
+ if (vsp->ckm) {
+ if (key2ascii[key].shift.subtype == STR)
more_chars = (u_char *)thisdef.shift;
- }
else
- {
+ fnc = key2ascii[key].shift.what.func;
+ }
+ else {
+ if (key2ascii[key].unshift.subtype == STR)
more_chars = (u_char *)thisdef.unshift;
- }
- if(vsp->lnm && (*more_chars == '\r'))
- {
- more_chars = (u_char *)"\r\n"; /* CR LF */
- }
- if(meta_down)
- {
+ else
+ fnc = key2ascii[key].unshift.what.func;
+ }
+
+ if (fnc)
+ (*fnc)(); /* execute function */
+
+ return (more_chars);
+
+ case KBD_NUM: /* special kp-num handling */
+ more_chars = NULL;
+
+ if (meta_down)
+ more_chars = (u_char *)"\033OP"; /* PF1 */
+ else {
+ vsp->num_lock ^= 1;
+ update_led();
+ }
+ return (more_chars);
+
+ case KBD_RETURN:
+ more_chars = NULL;
+
+ if (!vsp->num_lock)
+ more_chars = (u_char *)thisdef.shift;
+ else
+ more_chars = (u_char *)thisdef.unshift;
+
+ if (vsp->lnm && (*more_chars == '\r'))
+ more_chars = (u_char *)"\r\n"; /* CR LF */
+
+ if (meta_down) {
#if PCVT_META_ESC
- metachar[1] = *more_chars;
+ metachar[1] = *more_chars;
#else
- metachar[0] = *more_chars | 0x80;
+ metachar[0] = *more_chars | 0x80;
#endif
- more_chars = metachar;
- }
- return(more_chars);
-
- case KBD_META: /* these keys are */
- case KBD_ALTGR: /* handled directly */
- case KBD_SCROLL: /* by the keyboard */
- case KBD_CAPS: /* handler - they are */
- case KBD_SHFTLOCK: /* ignored here */
- case KBD_CTL:
- case KBD_NONE:
- default:
- return 0;
+ more_chars = metachar;
+ }
+ return (more_chars);
+
+ case KBD_META: /* these keys are */
+ case KBD_ALTGR: /* handled directly */
+ case KBD_SCROLL: /* by the keyboard */
+ case KBD_CAPS: /* handler - they are */
+ case KBD_SHFTLOCK: /* ignored here */
+ case KBD_CTL:
+ case KBD_NONE:
+ default:
+ return 0;
}
}
@@ -1062,19 +944,17 @@ extern short pcvt_kbd_count;
u_char *
sgetc(int noblock)
{
- u_char *cp;
- u_char dt;
- u_char key;
- u_short type;
-
#if PCVT_KBD_FIFO
int s;
#endif
+ u_char *cp, dt, key;
+ u_short type;
+ static u_char kbd_lastkey = 0; /* last keystroke */
+#ifdef XSERVER
+ static char keybuf[2] = {0}; /* the second 0 is a delimiter! */
+#endif /* XSERVER */
- static u_char kbd_lastkey = 0; /* last keystroke */
-
- static struct
- {
+ static struct {
u_char extended: 1; /* extended prefix seen */
u_char ext1: 1; /* extended prefix 1 seen */
u_char breakseen: 1; /* break code seen */
@@ -1083,10 +963,6 @@ sgetc(int noblock)
u_char sysrq: 1; /* sysrq pressed */
} kbd_status = {0};
-#ifdef XSERVER
- static char keybuf[2] = {0}; /* the second 0 is a delimiter! */
-#endif /* XSERVER */
-
loop:
#ifdef XSERVER
@@ -1102,15 +978,12 @@ loop:
/* the keyboard fifo or from the 8042 keyboard controller */
if ((( noblock) && (pcvt_kbd_count)) ||
- ((!noblock) && (inb(CONTROLLER_CTRL) & STATUS_OUTPBF)))
- {
- if (!noblock) /* source = 8042 */
- {
+ ((!noblock) && (inb(CONTROLLER_CTRL) & STATUS_OUTPBF))) {
+ if (!noblock) { /* source = 8042 */
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* get from obuf */
}
- else /* source = keyboard fifo */
- {
+ else { /* source = keyboard fifo */
dt = pcvt_kbd_fifo[pcvt_kbd_rptr++];
s = spltty();
pcvt_kbd_count--;
@@ -1122,12 +995,9 @@ loop:
#else /* !PCVT_KB_FIFO */
/* see if there is data from the keyboard available from the 8042 */
-
- if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF)
- {
+ if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF) {
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* yes, get data */
-
#endif /* !PCVT_KBD_FIFO */
/*
@@ -1137,238 +1007,8 @@ loop:
* execute pcvt internal functions caused by keys (such
* as screen flipping).
*/
-
- if (vsp->kbd_state == K_RAW)
- {
+ if (vsp->kbd_state == K_RAW) {
keybuf[0] = dt;
-
-#if PCVT_EMU_MOUSE
- /*
- * The (mouse systems) mouse emulator. The mouse
- * device allocates the first device node that is
- * not used by a virtual terminal. (E.g., you have
- * eight vtys, /dev/ttyv0 thru /dev/ttyv7, so the
- * mouse emulator were /dev/ttyv8.)
- * Currently the emulator only works if the keyboard
- * is in raw (PC scan code) mode. This is the typic-
- * al case when running the X server.
- * It is activated if the num locks LED is active
- * for the current vty, and if the mouse device
- * has been opened by at least one process. It
- * grabs the numerical keypad events (but only
- * the "non-extended", so the separate arrow keys
- * continue to work), and three keys for the "mouse
- * buttons", preferrably F1 thru F3. Any of the
- * eight directions (N, NE, E, SE, S, SW, W, NW)
- * is supported, and frequent key presses (less
- * than e.g. half a second between key presses)
- * cause the emulator to accelerate the pointer
- * movement by 6, while single presses result in
- * single moves, so each point can be reached.
- */
- /*
- * NB: the following code is spagghetti.
- * Only eat it with lotta tomato ketchup and
- * Parmesan cheese:-)
- */
- /*
- * look whether we will have to steal the keys
- * and cook them into mouse events
- */
- if(vsp->num_lock && mouse.opened)
- {
- int button, accel, i;
- enum mouse_dir
- {
- MOUSE_NW, MOUSE_N, MOUSE_NE,
- MOUSE_W, MOUSE_0, MOUSE_E,
- MOUSE_SW, MOUSE_S, MOUSE_SE
- }
- move;
- struct timeval now;
- /* from sys/kern/kern_time.c */
- extern void timevalsub
- (struct timeval *, struct timeval *);
- dev_t dummy = makedev(0, mouse.minor);
- struct tty *mousetty = get_pccons(dummy);
- /*
- * strings to send for each mouse event,
- * indexed by the movement direction and
- * the "accelerator" value (TRUE for frequent
- * key presses); note that the first byte
- * of each string is actually overwritten
- * by the current button value before sending
- * the string
- */
- static u_char mousestrings[2][MOUSE_SE+1][5] =
- {
- {
- /* first, the non-accelerated strings*/
- {0x87, -1, 1, 0, 0}, /* NW */
- {0x87, 0, 1, 0, 0}, /* N */
- {0x87, 1, 1, 0, 0}, /* NE */
- {0x87, -1, 0, 0, 0}, /* W */
- {0x87, 0, 0, 0, 0}, /* 0 */
- {0x87, 1, 0, 0, 0}, /* E */
- {0x87, -1, -1, 0, 0}, /* SW */
- {0x87, 0, -1, 0, 0}, /* S */
- {0x87, 1, -1, 0, 0} /* SE */
- },
- {
- /* now, 6 steps at once */
- {0x87, -4, 4, 0, 0}, /* NW */
- {0x87, 0, 6, 0, 0}, /* N */
- {0x87, 4, 4, 0, 0}, /* NE */
- {0x87, -6, 0, 0, 0}, /* W */
- {0x87, 0, 0, 0, 0}, /* 0 */
- {0x87, 6, 0, 0, 0}, /* E */
- {0x87, -4, -4, 0, 0}, /* SW */
- {0x87, 0, -6, 0, 0}, /* S */
- {0x87, 4, -4, 0, 0} /* SE */
- }
- };
-
- if(dt == 0xe0)
- {
- /* ignore extended scan codes */
- mouse.extendedseen = 1;
- goto no_mouse_event;
- }
- if(mouse.extendedseen)
- {
- mouse.extendedseen = 0;
- goto no_mouse_event;
- }
- mouse.extendedseen = 0;
-
- /*
- * Note that we cannot use a switch here
- * since we want to have the keycodes in
- * a variable
- */
- if((dt & 0x7f) == mousedef.leftbutton) {
- button = 4;
- goto do_button;
- }
- else if((dt & 0x7f) == mousedef.middlebutton) {
- button = 2;
- goto do_button;
- }
- else if((dt & 0x7f) == mousedef.rightbutton) {
- button = 1;
- do_button:
-
- /*
- * i would really like to give
- * some acustical support
- * (pling/plong); i am not sure
- * whether it is safe to call
- * sysbeep from within an intr
- * service, since it calls
- * timeout in turn which mani-
- * pulates the spl mask - jw
- */
-
-# define PLING sysbeep(PCVT_SYSBEEPF / 1500, 2)
-# define PLONG sysbeep(PCVT_SYSBEEPF / 1200, 2)
-
- if(mousedef.stickybuttons)
- {
- if(dt & 0x80) {
- mouse.breakseen = 1;
- return (u_char *)0;
- }
- else if(mouse.buttons == button
- && !mouse.breakseen) {
- /* ignore repeats */
- return (u_char *)0;
- }
- else
- mouse.breakseen = 0;
- if(mouse.buttons == button) {
- /* release it */
- mouse.buttons = 0;
- PLONG;
- } else {
- /*
- * eventually, release
- * any other button,
- * and stick this one
- */
- mouse.buttons = button;
- PLING;
- }
- }
- else
- {
- if(dt & 0x80) {
- mouse.buttons &=
- ~button;
- PLONG;
- }
- else if((mouse.buttons
- & button) == 0) {
- mouse.buttons |=
- button;
- PLING;
- }
- /*else: ignore same btn press*/
- }
- move = MOUSE_0;
- accel = 0;
- }
-# undef PLING
-# undef PLONG
- else switch(dt & 0x7f)
- {
- /* the arrow keys - KP 1 thru KP 9 */
- case 0x47: move = MOUSE_NW; goto do_move;
- case 0x48: move = MOUSE_N; goto do_move;
- case 0x49: move = MOUSE_NE; goto do_move;
- case 0x4b: move = MOUSE_W; goto do_move;
- case 0x4c: move = MOUSE_0; goto do_move;
- case 0x4d: move = MOUSE_E; goto do_move;
- case 0x4f: move = MOUSE_SW; goto do_move;
- case 0x50: move = MOUSE_S; goto do_move;
- case 0x51: move = MOUSE_SE;
- do_move:
- if(dt & 0x80)
- /*
- * arrow key break events are
- * of no importance for us
- */
- return (u_char *)0;
- /*
- * see whether the last move did
- * happen "recently", i.e. before
- * less than half a second
- */
- now = time;
-
- timersub(&now,&mouse.lastmove,&now);
-
- mouse.lastmove = time;
- accel = (now.tv_sec == 0
- && now.tv_usec
- < mousedef.acceltime);
- break;
-
- default: /* not a mouse-emulating key */
- goto no_mouse_event;
- }
- mousestrings[accel][move][0] =
- 0x80 + (~mouse.buttons & 7);
- /* finally, send the string */
- for(i = 0; i < 5; i++)
- (*linesw[mousetty->t_line].l_rint)
- (mousestrings[accel][move][i],
- mousetty);
- return (u_char *)0; /* not a kbd event */
- }
-no_mouse_event:
-
-#endif /* PCVT_EMU_MOUSE */
-
return ((u_char *)keybuf);
}
}
@@ -1381,15 +1021,12 @@ no_mouse_event:
/* the keyboard fifo or from the 8042 keyboard controller */
if ((( noblock) && (pcvt_kbd_count)) ||
- ((!noblock) && (inb(CONTROLLER_CTRL) & STATUS_OUTPBF)))
- {
- if (!noblock) /* source = 8042 */
- {
+ ((!noblock) && (inb(CONTROLLER_CTRL) & STATUS_OUTPBF))) {
+ if (!noblock) { /* source = 8042 */
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA);
}
- else /* source = keyboard fifo */
- {
+ else { /* source = keyboard fifo */
dt = pcvt_kbd_fifo[pcvt_kbd_rptr++]; /* yes, get it ! */
s = spltty();
pcvt_kbd_count--;
@@ -1402,9 +1039,7 @@ no_mouse_event:
#else /* !PCVT_KBD_FIFO */
/* see if there is data from the keyboard available from the 8042 */
-
- if(inb(CONTROLLER_CTRL) & STATUS_OUTPBF)
- {
+ if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF) {
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* yes, get data ! */
}
@@ -1413,89 +1048,77 @@ no_mouse_event:
#endif /* !XSERVER */
- else
- {
- if(noblock)
+ else {
+ if (noblock)
return NULL;
else
goto loop;
}
-#if PCVT_SHOWKEYS
- showkey (' ', dt);
-#endif /* PCVT_SHOWKEYS */
-
/* lets look what we got */
- switch(dt)
- {
- case KEYB_R_OVERRUN0: /* keyboard buffer overflow */
-
+ switch (dt) {
+ case KEYB_R_OVERRUN0: /* keyboard buffer overflow */
#if PCVT_SCANSET == 2
- case KEYB_R_SELFOK: /* keyboard selftest ok */
+ case KEYB_R_SELFOK: /* keyboard selftest ok */
#endif /* PCVT_SCANSET == 2 */
-
- case KEYB_R_ECHO: /* keyboard response to KEYB_C_ECHO */
- case KEYB_R_ACK: /* acknowledge after command has rx'd*/
- case KEYB_R_SELFBAD: /* keyboard selftest FAILED */
- case KEYB_R_DIAGBAD: /* keyboard self diagnostic failure */
- case KEYB_R_RESEND: /* keyboard wants us to resend cmnd */
- case KEYB_R_OVERRUN1: /* keyboard buffer overflow */
- break;
-
- case KEYB_R_EXT1: /* keyboard extended scancode pfx 2 */
- kbd_status.ext1 = 1;
- /* FALLTHROUGH */
- case KEYB_R_EXT0: /* keyboard extended scancode pfx 1 */
- kbd_status.extended = 1;
- break;
+ case KEYB_R_ECHO: /* keyboard response to KEYB_C_ECHO */
+ case KEYB_R_ACK: /* acknowledge after command has rx'd*/
+ case KEYB_R_SELFBAD: /* keyboard selftest FAILED */
+ case KEYB_R_DIAGBAD: /* keyboard self diagnostic failure */
+ case KEYB_R_RESEND: /* keyboard wants us to resend cmnd */
+ case KEYB_R_OVERRUN1: /* keyboard buffer overflow */
+ break;
+
+ case KEYB_R_EXT1: /* keyboard extended scancode pfx 2 */
+ kbd_status.ext1 = 1;
+ /* FALLTHROUGH */
+
+ case KEYB_R_EXT0: /* keyboard extended scancode pfx 1 */
+ kbd_status.extended = 1;
+ break;
#if PCVT_SCANSET == 2
- case KEYB_R_BREAKPFX: /* break code prefix for set 2 and 3 */
- kbd_status.breakseen = 1;
- break;
+ case KEYB_R_BREAKPFX: /* break code prefix for set 2 and 3 */
+ kbd_status.breakseen = 1;
+ break;
#endif /* PCVT_SCANSET == 2 */
- default:
- goto regular; /* regular key */
+ default:
+ goto regular; /* regular key */
}
- if(noblock)
+ if (noblock)
return NULL;
else
goto loop;
/* got a normal scan key */
regular:
-
#if PCVT_SCANSET == 1
kbd_status.breakseen = dt & 0x80 ? 1 : 0;
dt &= 0x7f;
#endif /* PCVT_SCANSET == 1 */
/* make a keycode from scan code */
- if(dt >= sizeof scantokey / sizeof(u_char))
+ if (dt >= sizeof scantokey / sizeof(u_char))
key = 0;
else
key = kbd_status.extended ? extscantokey[dt] : scantokey[dt];
- if(kbd_status.ext1 && key == 64)
+ if (kbd_status.ext1 && key == 64)
/* virtual control key */
key = 129;
kbd_status.extended = kbd_status.ext1 = 0;
- if ((key == 85) && shift_down && kbd_lastkey != 85)
- {
- if (vsp->scr_offset > vsp->row)
- {
- if (!vsp->scrolling)
- {
+ if ((key == 85) && shift_down &&
+ (kbd_lastkey != 85 || !kbd_status.breakseen)) {
+ if (vsp->scr_offset > vsp->row) {
+ if (!vsp->scrolling) {
vsp->scrolling += vsp->row - 1;
- if (vsp->Scrollback)
- {
+ if (vsp->Scrollback) {
scrollback_save_screen();
- if (vsp->scr_offset == vsp->max_off)
- {
+ if (vsp->scr_offset == vsp->max_off) {
bcopy(vsp->Scrollback +
vsp->maxcol,
vsp->Scrollback,
@@ -1525,22 +1148,19 @@ regular:
kbd_lastkey = 85;
goto loop;
}
- else if ((key == 86) && shift_down && kbd_lastkey != 86)
- {
+ else if ((key == 86) && shift_down &&
+ (kbd_lastkey != 86 || !kbd_status.breakseen)) {
scroll_reset:
- if (vsp->scrolling > 0)
- {
+ if (vsp->scrolling > 0) {
vsp->scrolling -= vsp->screen_rows - 1;
if (vsp->scrolling < 0)
vsp->scrolling = 0;
- if (vsp->scrolling <= vsp->row)
- {
+ if (vsp->scrolling <= vsp->row) {
vsp->scrolling = 0;
scrollback_restore_screen();
}
- else
- {
+ else {
if (vsp->scrolling + 2 < vsp->screen_rows)
fillw(user_attr | ' ',
(caddr_t)vsp->Crtat,
@@ -1554,12 +1174,9 @@ scroll_reset:
}
}
- if (vsp->scrolling == 0)
- {
+ if (vsp->scrolling == 0) {
if (vsp->cursor_on)
- {
sw_cursor(1);
- }
}
if (noblock == 31337)
@@ -1567,38 +1184,34 @@ scroll_reset:
if (key != 86)
goto regular;
- else
- {
+ else {
kbd_lastkey = 86;
goto loop;
}
}
else if (vsp->scrolling && key != 128 && key != 44 && key != 85 &&
- key != 86)
- {
+ key != 86) {
vsp->scrolling = 1;
goto scroll_reset;
}
- if(kbd_reset && (key == 76) && ctrl_down && (meta_down||altgr_down)) {
+ if (kbd_reset && (key == 76) && ctrl_down && (meta_down||altgr_down)) {
printf("\nconsole halt requested: going down.\n");
kbd_reset = 0;
psignal(initproc, SIGUSR1);
}
#if NDDB > 0 || defined(DDB) /* Check for cntl-alt-esc */
-
- if((key == 110) && ctrl_down && (meta_down || altgr_down))
- {
+ if ((key == 110) && ctrl_down && (meta_down || altgr_down)) {
static u_char in_Debugger;
- if(!in_Debugger)
- {
+ if (!in_Debugger) {
in_Debugger = 1;
if (db_console)
Debugger();
in_Debugger = 0;
- if(noblock)
+
+ if (noblock)
return NULL;
else
goto loop;
@@ -1607,8 +1220,7 @@ scroll_reset:
#endif /* NDDB > 0 || defined(DDB) */
/* look for keys with special handling */
- if(key == 128)
- {
+ if (key == 128) {
/*
* virtual shift; sent around PrtScr, and around the arrow
* keys if the NumLck LED is on
@@ -1616,33 +1228,30 @@ scroll_reset:
kbd_status.vshift = !kbd_status.breakseen;
key = 0; /* no key */
}
- else if(key == 129)
- {
+ else if (key == 129) {
/*
* virtual control - the most ugly thingie at all
* the Pause key sends:
* <virtual control make> <numlock make> <virtual control
* break> <numlock break>
*/
- if(!kbd_status.breakseen)
+ if (!kbd_status.breakseen)
kbd_status.vcontrol = 1;
/* else: let the numlock hook clear this */
key = 0; /* no key */
}
- else if(key == 90)
- {
+ else if (key == 90) {
/* NumLock, look whether this is rather a Pause */
- if(kbd_status.vcontrol)
+ if (kbd_status.vcontrol)
key = 126;
/*
* if this is the final break code of a Pause key,
* clear the virtual control status, too
*/
- if(kbd_status.vcontrol && kbd_status.breakseen)
+ if (kbd_status.vcontrol && kbd_status.breakseen)
kbd_status.vcontrol = 0;
}
- else if(key == 127)
- {
+ else if (key == 127) {
/*
* a SysRq; some keyboards are brain-dead enough to
* repeat the SysRq key make code by sending PrtScr
@@ -1651,22 +1260,20 @@ scroll_reset:
*/
kbd_status.sysrq = !kbd_status.breakseen;
}
- else if(key == 124)
- {
+ else if (key == 124) {
/*
* PrtScr; look whether this is really PrtScr or rather
* a silly repeat of a SysRq key
*/
- if(kbd_status.sysrq)
+ if (kbd_status.sysrq)
/* ignore the garbage */
key = 0;
}
/* in NOREPEAT MODE ignore the key if it was the same as before */
- if(!kbrepflag && key == kbd_lastkey && !kbd_status.breakseen)
- {
- if(noblock)
+ if (!kbrepflag && key == kbd_lastkey && !kbd_status.breakseen) {
+ if (noblock)
return NULL;
else
goto loop;
@@ -1674,65 +1281,56 @@ scroll_reset:
type = key2ascii[key].type;
- if(type & KBD_OVERLOAD)
+ if (type & KBD_OVERLOAD)
type = ovltbl[key2ascii[key].ovlindex].type;
type &= KBD_MASK;
- switch(type)
- {
- case KBD_SHFTLOCK:
- if(!kbd_status.breakseen && key != kbd_lastkey)
- {
- vsp->shift_lock ^= 1;
- }
- break;
+ switch (type) {
+ case KBD_SHFTLOCK:
+ if (!kbd_status.breakseen && key != kbd_lastkey)
+ vsp->shift_lock ^= 1;
+ break;
- case KBD_CAPS:
- if(!kbd_status.breakseen && key != kbd_lastkey)
- {
- vsp->caps_lock ^= 1;
- update_led();
- }
- break;
+ case KBD_CAPS:
+ if (!kbd_status.breakseen && key != kbd_lastkey) {
+ vsp->caps_lock ^= 1;
+ update_led();
+ }
+ break;
- case KBD_SCROLL:
- if(!kbd_status.breakseen && key != kbd_lastkey)
- {
- vsp->scroll_lock ^= 1;
- update_led();
-
- if(!(vsp->scroll_lock))
- {
- /* someone may be sleeping */
- wakeup((caddr_t)&(vsp->scroll_lock));
- }
- }
- break;
+ case KBD_SCROLL:
+ if (!kbd_status.breakseen && key != kbd_lastkey) {
+ vsp->scroll_lock ^= 1;
+ update_led();
- case KBD_SHIFT:
- shift_down = kbd_status.breakseen ? 0 : 1;
- break;
+ if (!(vsp->scroll_lock))
+ wakeup((caddr_t)&(vsp->scroll_lock));
+ }
+ break;
- case KBD_META:
- meta_down = kbd_status.breakseen ? 0 : 0x80;
- break;
+ case KBD_SHIFT:
+ shift_down = kbd_status.breakseen ? 0 : 1;
+ break;
- case KBD_ALTGR:
- altgr_down = kbd_status.breakseen ? 0 : 1;
- break;
+ case KBD_META:
+ meta_down = kbd_status.breakseen ? 0 : 0x80;
+ break;
- case KBD_CTL:
- ctrl_down = kbd_status.breakseen ? 0 : 1;
- break;
+ case KBD_ALTGR:
+ altgr_down = kbd_status.breakseen ? 0 : 1;
+ break;
- case KBD_NONE:
- default:
- break; /* deliver a key */
+ case KBD_CTL:
+ ctrl_down = kbd_status.breakseen ? 0 : 1;
+ break;
+
+ case KBD_NONE:
+ default:
+ break; /* deliver a key */
}
- if(kbd_status.breakseen)
- {
+ if (kbd_status.breakseen) {
key |= 0x80;
kbd_status.breakseen = 0;
kbd_lastkey = 0; /* -hv- I know this is a bug with */
@@ -1742,7 +1340,7 @@ scroll_reset:
cp = xlatkey2ascii(key); /* have a key */
- if(cp == NULL && !noblock)
+ if (cp == NULL && !noblock)
goto loop;
return cp;
@@ -1768,11 +1366,10 @@ rmkeydef(int key)
{
register Ovl_tbl *ref;
- if(key==0 || key > MAXKEYNUM)
+ if (key == 0 || key > MAXKEYNUM)
return EINVAL;
- if(key2ascii[key].type & KBD_OVERLOAD)
- {
+ if (key2ascii[key].type & KBD_OVERLOAD) {
ref = &ovltbl[key2ascii[key].ovlindex];
ref->keynum = 0;
ref->type = 0;
@@ -1793,7 +1390,7 @@ setkeydef(Ovl_tbl *data)
{
int i;
- if( data->keynum > MAXKEYNUM ||
+ if ( data->keynum > MAXKEYNUM ||
(data->type & KBD_MASK) == KBD_BREAK ||
(data->type & KBD_MASK) > KBD_SHFTLOCK)
return EINVAL;
@@ -1812,17 +1409,14 @@ setkeydef(Ovl_tbl *data)
/* if key already overloaded, use that slot else find free slot */
- if(key2ascii[data->keynum].type & KBD_OVERLOAD)
- {
+ if (key2ascii[data->keynum].type & KBD_OVERLOAD)
i = key2ascii[data->keynum].ovlindex;
- }
- else
- {
- for(i=0; i<OVLTBL_SIZE; i++)
- if(ovltbl[i].keynum==0)
+ else {
+ for (i = 0; i < OVLTBL_SIZE; i++)
+ if (ovltbl[i].keynum==0)
break;
- if(i==OVLTBL_SIZE)
+ if (i == OVLTBL_SIZE)
return ENOSPC; /* no space, abuse of ENOSPC(!) */
}
@@ -1838,105 +1432,77 @@ setkeydef(Ovl_tbl *data)
* keyboard ioctl's entry
*---------------------------------------------------------------------------*/
int
-kbdioctl(Dev_t dev, u_long cmd, caddr_t data, int flag)
+kbdioctl(Dev_t dev, int cmd, caddr_t data, int flag)
{
int key;
- switch(cmd)
- {
- case KBDRESET:
- doreset();
- ovlinit(1);
- settpmrate(KBD_TPD500|KBD_TPM100);
- setlockkeys(0);
- break;
+ switch (cmd) {
+ case KBDRESET:
+ doreset();
+ ovlinit(1);
+ settpmrate(KBD_TPD500 | KBD_TPM100);
+ setlockkeys(0);
+ break;
- case KBDGTPMAT:
- *(int *)data = tpmrate;
- break;
+ case KBDGTPMAT:
+ *(int *)data = tpmrate;
+ break;
- case KBDSTPMAT:
- settpmrate(*(int *)data);
- break;
+ case KBDSTPMAT:
+ settpmrate(*(int *)data);
+ break;
- case KBDGREPSW:
- *(int *)data = kbrepflag;
- break;
+ case KBDGREPSW:
+ *(int *)data = kbrepflag;
+ break;
- case KBDSREPSW:
- kbrepflag = (*(int *)data) & 1;
- break;
+ case KBDSREPSW:
+ kbrepflag = (*(int *)data) & 1;
+ break;
- case KBDGLOCK:
- *(int *)data = ( (vsp->scroll_lock) |
- (vsp->num_lock * 2) |
- (vsp->caps_lock * 4));
- break;
+ case KBDGLOCK:
+ *(int *)data = ( (vsp->scroll_lock) | (vsp->num_lock * 2) |
+ (vsp->caps_lock * 4));
+ break;
- case KBDSLOCK:
- setlockkeys(*(int *)data);
- break;
+ case KBDSLOCK:
+ setlockkeys(*(int *)data);
+ break;
- case KBDGCKEY:
- key = ((Ovl_tbl *)data)->keynum;
- return getckeydef(key,(Ovl_tbl *)data);
+ case KBDGCKEY:
+ key = ((Ovl_tbl *)data)->keynum;
+ return getckeydef(key,(Ovl_tbl *)data);
- case KBDSCKEY:
- key = ((Ovl_tbl *)data)->keynum;
- return setkeydef((Ovl_tbl *)data);
+ case KBDSCKEY:
+ key = ((Ovl_tbl *)data)->keynum;
+ return setkeydef((Ovl_tbl *)data);
- case KBDGOKEY:
- key = ((Ovl_tbl *)data)->keynum;
- return getokeydef(key,(Ovl_tbl *)data);
+ case KBDGOKEY:
+ key = ((Ovl_tbl *)data)->keynum;
+ return getokeydef(key,(Ovl_tbl *)data);
- case KBDRMKEY:
- key = *(int *)data;
- return rmkeydef(key);
+ case KBDRMKEY:
+ key = *(int *)data;
+ return rmkeydef(key);
- case KBDDEFAULT:
- ovlinit(1);
- break;
+ case KBDDEFAULT:
+ ovlinit(1);
+ break;
- default:
- /* proceed with vga ioctls */
- return -1;
+ default:
+ /* proceed with vga ioctls */
+ return -1;
}
return 0;
}
-#if PCVT_EMU_MOUSE
-/*--------------------------------------------------------------------------*
- * mouse emulator ioctl
- *--------------------------------------------------------------------------*/
-int
-mouse_ioctl(Dev_t dev, int cmd, caddr_t data)
-{
- struct mousedefs *def = (struct mousedefs *)data;
-
- switch(cmd)
- {
- case KBDMOUSEGET:
- *def = mousedef;
- break;
-
- case KBDMOUSESET:
- mousedef = *def;
- break;
-
- default:
- return -1;
- }
- return 0;
-}
-#endif /* PCVT_EMU_MOUSE */
-
/*---------------------------------------------------------------------------*
* convert ISO-8859 style keycode into IBM 437
*---------------------------------------------------------------------------*/
static inline u_char
iso2ibm(u_char c)
{
- if(c < 0x80)
+ if (c < 0x80)
return c;
return iso2ibm437[c - 0x80];
}
@@ -1953,20 +1519,19 @@ get_usl_keymap(keymap_t *map)
map->n_keys = 0x59; /* that many keys we know about */
- for(i = 1; i < N_KEYNUMS; i++)
- {
+ for(i = 1; i < N_KEYNUMS; i++) {
Ovl_tbl kdef;
u_char c;
int j;
int idx = key2scan1[i];
- if(idx == 0 || idx >= map->n_keys)
+ if (idx == 0 || idx >= map->n_keys)
continue;
getckeydef(i, &kdef);
kdef.type &= KBD_MASK;
- switch(kdef.type)
- {
+
+ switch (kdef.type) {
case KBD_ASCII:
case KBD_RETURN:
map->key[idx].map[0] = iso2ibm(kdef.unshift[0]);
@@ -1983,35 +1548,41 @@ get_usl_keymap(keymap_t *map)
* this should at least work for ISO8859 letters,
* but also for (e.g.) russian KOI-8 style
*/
- if((c & 0x7f) >= 0x40)
+ if ((c & 0x7f) >= 0x40)
map->key[idx].map[5] = iso2ibm(c ^ 0x20);
break;
case KBD_FUNC:
/* we are only interested in F1 thru F12 here */
- if(i >= 112 && i <= 123) {
+ if (i >= 112 && i <= 123) {
map->key[idx].map[0] = i - 112 + 27;
map->key[idx].spcl = 0x80;
}
break;
case KBD_SHIFT:
- c = i == 44? 2 /* lSh */: 3 /* rSh */; goto special;
+ c = i == 44 ? 2 /* lSh */ : 3 /* rSh */;
+ goto special;
case KBD_CAPS:
- c = 4; goto special;
+ c = 4;
+ goto special;
case KBD_NUM:
- c = 5; goto special;
+ c = 5;
+ goto special;
case KBD_SCROLL:
- c = 6; goto special;
+ c = 6;
+ goto special;
case KBD_META:
- c = 7; goto special;
+ c = 7;
+ goto special;
case KBD_CTL:
- c = 9; goto special;
+ c = 9;
+ goto special;
special:
for(j = 0; j < NUM_STATES; j++)
map->key[idx].map[j] = c;
@@ -2052,20 +1623,10 @@ vt_keyappl(struct video_state *svsp)
static void
fkey1(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_columns(vsp);
- else
- more_chars = (u_char *)"\033[17~"; /* F6 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[17~"; /* F6 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[26~"; /* F14 */
- }
+ more_chars = (u_char *)"\033[26~"; /* F14 */
}
/*---------------------------------------------------------------------------*
@@ -2074,20 +1635,10 @@ fkey1(void)
static void
fkey2(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- vt_ris(vsp);
- else
- more_chars = (u_char *)"\033[18~"; /* F7 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[18~"; /* F7 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[28~"; /* HELP */
- }
+ more_chars = (u_char *)"\033[28~"; /* HELP */
}
/*---------------------------------------------------------------------------*
@@ -2096,20 +1647,10 @@ fkey2(void)
static void
fkey3(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_24l(vsp);
- else
- more_chars = (u_char *)"\033[19~"; /* F8 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[19~"; /* F8 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[29~"; /* DO */
- }
+ more_chars = (u_char *)"\033[29~"; /* DO */
}
/*---------------------------------------------------------------------------*
@@ -2118,28 +1659,10 @@ fkey3(void)
static void
fkey4(void)
{
- if(!meta_down)
- {
-
-#if PCVT_SHOWKEYS
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_kbddbg(vsp);
- else
- more_chars = (u_char *)"\033[20~"; /* F9 */
-#else
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[20~"; /* F9 */
-#endif /* PCVT_SHOWKEYS */
-
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[20~"; /* F9 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[31~"; /* F17 */
- }
+ more_chars = (u_char *)"\033[31~"; /* F17 */
}
/*---------------------------------------------------------------------------*
@@ -2148,20 +1671,10 @@ fkey4(void)
static void
fkey5(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_bell(vsp);
- else
- more_chars = (u_char *)"\033[21~"; /* F10 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[21~"; /* F10 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[32~"; /* F18 */
- }
+ more_chars = (u_char *)"\033[32~"; /* F18 */
}
/*---------------------------------------------------------------------------*
@@ -2170,20 +1683,10 @@ fkey5(void)
static void
fkey6(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_sevenbit(vsp);
- else
- more_chars = (u_char *)"\033[23~"; /* F11 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[23~"; /* F11 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[33~"; /* F19 */
- }
+ more_chars = (u_char *)"\033[33~"; /* F19 */
}
/*---------------------------------------------------------------------------*
@@ -2192,20 +1695,10 @@ fkey6(void)
static void
fkey7(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_dspf(vsp);
- else
- more_chars = (u_char *)"\033[24~"; /* F12 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[24~"; /* F12 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[34~"; /* F20 */
- }
+ more_chars = (u_char *)"\033[34~"; /* F20 */
}
/*---------------------------------------------------------------------------*
@@ -2214,20 +1707,10 @@ fkey7(void)
static void
fkey8(void)
{
- if(!meta_down)
- {
- if((vsp->vt_pure_mode == M_HPVT)
- && (vsp->which_fkl == SYS_FKL))
- toggl_awm(vsp);
- else
- more_chars = (u_char *)"\033[25~"; /* F13 */
- }
+ if (!meta_down)
+ more_chars = (u_char *)"\033[25~"; /* F13 */
else
- {
- if(vsp->vt_pure_mode == M_PUREVT
- || (vsp->which_fkl == USR_FKL))
- more_chars = (u_char *)"\033[35~"; /* F21 ??!! */
- }
+ more_chars = (u_char *)"\033[35~"; /* F21 ??!! */
}
/*---------------------------------------------------------------------------*
@@ -2236,20 +1719,10 @@ fkey8(void)
static void
fkey9(void)
{
- if(meta_down)
- {
- if(vsp->vt_pure_mode == M_PUREVT)
- return;
-
- if(vsp->labels_on) /* toggle label display on/off */
- fkl_off(vsp);
- else
- fkl_on(vsp);
- }
+ if (meta_down)
+ return;
else
- {
do_vgapage(0);
- }
}
/*---------------------------------------------------------------------------*
@@ -2258,20 +1731,8 @@ fkey9(void)
static void
fkey10(void)
{
- if(meta_down)
- {
- if(vsp->vt_pure_mode != M_PUREVT && vsp->labels_on)
- {
- if(vsp->which_fkl == USR_FKL)
- sw_sfkl(vsp);
- else if(vsp->which_fkl == SYS_FKL)
- sw_ufkl(vsp);
- }
- }
- else
- {
+ if (!meta_down)
do_vgapage(1);
- }
}
/*---------------------------------------------------------------------------*
@@ -2280,17 +1741,7 @@ fkey10(void)
static void
fkey11(void)
{
- if(meta_down)
- {
- if(vsp->vt_pure_mode == M_PUREVT)
- set_emulation_mode(vsp, M_HPVT);
- else if(vsp->vt_pure_mode == M_HPVT)
- set_emulation_mode(vsp, M_PUREVT);
- }
- else
- {
- do_vgapage(2);
- }
+ do_vgapage(2);
}
/*---------------------------------------------------------------------------*
@@ -2299,15 +1750,13 @@ fkey11(void)
static void
fkey12(void)
{
- if(meta_down)
- {
- if(current_video_screen + 1 > totalscreens-1)
+ if (meta_down) {
+ if (current_video_screen + 1 > totalscreens-1)
do_vgapage(0);
else
do_vgapage(current_video_screen + 1);
}
- else
- {
+ else {
do_vgapage(3);
}
}
@@ -2318,15 +1767,13 @@ fkey12(void)
static void
sfkey1(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[0]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[0]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[0]]);
}
- else
- {
- if(vsp->ukt.length[9]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[9]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[9]]);
}
@@ -2338,15 +1785,13 @@ sfkey1(void)
static void
sfkey2(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[1]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[1]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[1]]);
}
- else
- {
- if(vsp->ukt.length[11]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[11]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[11]]);
}
@@ -2358,15 +1803,13 @@ sfkey2(void)
static void
sfkey3(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[2]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[2]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[2]]);
}
- else
- {
- if(vsp->ukt.length[12]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[12]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[12]]);
}
@@ -2378,15 +1821,13 @@ sfkey3(void)
static void
sfkey4(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[3]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[3]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[3]]);
}
- else
- {
- if(vsp->ukt.length[13]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[13]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[13]]);
}
@@ -2398,15 +1839,13 @@ sfkey4(void)
static void
sfkey5(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[4]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[4]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[4]]);
}
- else
- {
- if(vsp->ukt.length[14]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[14]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[14]]);
}
@@ -2418,15 +1857,13 @@ sfkey5(void)
static void
sfkey6(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[6]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[6]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[6]]);
}
- else
- {
- if(vsp->ukt.length[15]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[15]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[15]]);
}
@@ -2438,15 +1875,13 @@ sfkey6(void)
static void
sfkey7(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[7]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[7]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[7]]);
}
- else
- {
- if(vsp->ukt.length[16]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[16]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[16]]);
}
@@ -2458,15 +1893,13 @@ sfkey7(void)
static void
sfkey8(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[8]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[8]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[8]]);
}
- else
- {
- if(vsp->ukt.length[17]) /* entry available ? */
+ else {
+ if (vsp->ukt.length[17]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[17]]);
}
@@ -2509,7 +1942,7 @@ sfkey12(void)
static void
cfkey1(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(0);
}
@@ -2519,7 +1952,7 @@ cfkey1(void)
static void
cfkey2(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(1);
}
@@ -2529,7 +1962,7 @@ cfkey2(void)
static void
cfkey3(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(2);
}
@@ -2539,7 +1972,7 @@ cfkey3(void)
static void
cfkey4(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(3);
}
@@ -2549,7 +1982,7 @@ cfkey4(void)
static void
cfkey5(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(4);
}
@@ -2559,7 +1992,7 @@ cfkey5(void)
static void
cfkey6(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(5);
}
@@ -2569,7 +2002,7 @@ cfkey6(void)
static void
cfkey7(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(6);
}
@@ -2579,7 +2012,7 @@ cfkey7(void)
static void
cfkey8(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(7);
}
@@ -2589,7 +2022,7 @@ cfkey8(void)
static void
cfkey9(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(8);
}
@@ -2599,7 +2032,7 @@ cfkey9(void)
static void
cfkey10(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(9);
}
@@ -2609,7 +2042,7 @@ cfkey10(void)
static void
cfkey11(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(10);
}
@@ -2619,7 +2052,7 @@ cfkey11(void)
static void
cfkey12(void)
{
- if(meta_down)
+ if (meta_down)
do_vgapage(11);
}
@@ -2631,7 +2064,7 @@ cfkey12(void)
static void
fkey1(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[23~"; /* F11 */
else
do_vgapage(0);
@@ -2643,7 +2076,7 @@ fkey1(void)
static void
fkey2(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[24~"; /* F12 */
else
do_vgapage(1);
@@ -2655,7 +2088,7 @@ fkey2(void)
static void
fkey3(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[25~"; /* F13 */
else
do_vgapage(2);
@@ -2667,7 +2100,7 @@ fkey3(void)
static void
fkey4(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[26~"; /* F14 */
else
do_vgapage(3);
@@ -2679,11 +2112,10 @@ fkey4(void)
static void
fkey5(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[28~"; /* Help */
- else
- {
- if((current_video_screen + 1) > totalscreens-1)
+ else {
+ if ((current_video_screen + 1) > totalscreens-1)
do_vgapage(0);
else
do_vgapage(current_video_screen + 1);
@@ -2696,7 +2128,7 @@ fkey5(void)
static void
fkey6(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[29~"; /* DO */
else
more_chars = (u_char *)"\033[17~"; /* F6 */
@@ -2708,7 +2140,7 @@ fkey6(void)
static void
fkey7(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[31~"; /* F17 */
else
more_chars = (u_char *)"\033[18~"; /* F7 */
@@ -2720,7 +2152,7 @@ fkey7(void)
static void
fkey8(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[32~"; /* F18 */
else
more_chars = (u_char *)"\033[19~"; /* F8 */
@@ -2732,7 +2164,7 @@ fkey8(void)
static void
fkey9(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[33~"; /* F19 */
else
more_chars = (u_char *)"\033[20~"; /* F9 */
@@ -2744,7 +2176,7 @@ fkey9(void)
static void
fkey10(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\033[34~"; /* F20 */
else
more_chars = (u_char *)"\033[21~"; /* F10 */
@@ -2756,7 +2188,7 @@ fkey10(void)
static void
fkey11(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\0x8FP"; /* PF1 */
else
more_chars = (u_char *)"\033[23~"; /* F11 */
@@ -2768,7 +2200,7 @@ fkey11(void)
static void
fkey12(void)
{
- if(meta_down)
+ if (meta_down)
more_chars = (u_char *)"\0x8FQ"; /* PF2 */
else
more_chars = (u_char *)"\033[24~"; /* F12 */
@@ -2780,18 +2212,15 @@ fkey12(void)
static void
sfkey1(void)
{
- if(meta_down)
- {
- if(vsp->ukt.length[6]) /* entry available ? */
+ if (meta_down) {
+ if (vsp->ukt.length[6]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[6]]);
else
more_chars = (u_char *)"\033[23~"; /* F11 */
}
else
- {
do_vgapage(4);
- }
}
/*---------------------------------------------------------------------------*
@@ -2800,18 +2229,15 @@ sfkey1(void)
static void
sfkey2(void)
{
- if(meta_down)
- {
- if(vsp->ukt.length[7]) /* entry available ? */
+ if (meta_down) {
+ if (vsp->ukt.length[7]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[7]]);
else
more_chars = (u_char *)"\033[24~"; /* F12 */
}
else
- {
do_vgapage(5);
- }
}
/*---------------------------------------------------------------------------*
@@ -2820,18 +2246,15 @@ sfkey2(void)
static void
sfkey3(void)
{
- if(meta_down)
- {
- if(vsp->ukt.length[8]) /* entry available ? */
+ if (meta_down) {
+ if (vsp->ukt.length[8]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[8]]);
else
more_chars = (u_char *)"\033[25~"; /* F13 */
}
else
- {
do_vgapage(6);
- }
}
/*---------------------------------------------------------------------------*
@@ -2840,18 +2263,15 @@ sfkey3(void)
static void
sfkey4(void)
{
- if(meta_down)
- {
- if(vsp->ukt.length[9]) /* entry available ? */
+ if (meta_down) {
+ if (vsp->ukt.length[9]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[9]]);
else
more_chars = (u_char *)"\033[26~"; /* F14 */
}
else
- {
do_vgapage(7);
- }
}
/*---------------------------------------------------------------------------*
@@ -2860,17 +2280,15 @@ sfkey4(void)
static void
sfkey5(void)
{
- if(meta_down)
- {
- if(vsp->ukt.length[11]) /* entry available ? */
+ if (meta_down) {
+ if (vsp->ukt.length[11]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[11]]);
else
more_chars = (u_char *)"\033[28~"; /* Help */
}
- else
- {
- if(current_video_screen <= 0)
+ else {
+ if (current_video_screen <= 0)
do_vgapage(totalscreens-1);
else
do_vgapage(current_video_screen - 1);
@@ -2883,15 +2301,14 @@ sfkey5(void)
static void
sfkey6(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[0]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[0]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[0]]);
else
more_chars = (u_char *)"\033[17~"; /* F6 */
}
- else if(vsp->ukt.length[12]) /* entry available ? */
+ else if (vsp->ukt.length[12]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[12]]);
else
@@ -2904,15 +2321,14 @@ sfkey6(void)
static void
sfkey7(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[1]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[1]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[1]]);
else
more_chars = (u_char *)"\033[18~"; /* F7 */
}
- else if(vsp->ukt.length[14]) /* entry available ? */
+ else if (vsp->ukt.length[14]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[14]]);
else
@@ -2925,15 +2341,14 @@ sfkey7(void)
static void
sfkey8(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[2]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[2]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[2]]);
else
more_chars = (u_char *)"\033[19~"; /* F8 */
}
- else if(vsp->ukt.length[14]) /* entry available ? */
+ else if (vsp->ukt.length[14]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[15]]);
else
@@ -2946,15 +2361,14 @@ sfkey8(void)
static void
sfkey9(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[3]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[3]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[3]]);
else
more_chars = (u_char *)"\033[20~"; /* F9 */
}
- else if(vsp->ukt.length[16]) /* entry available ? */
+ else if (vsp->ukt.length[16]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[16]]);
else
@@ -2967,15 +2381,14 @@ sfkey9(void)
static void
sfkey10(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[4]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[4]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[4]]);
else
more_chars = (u_char *)"\033[21~"; /* F10 */
}
- else if(vsp->ukt.length[17]) /* entry available ? */
+ else if (vsp->ukt.length[17]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[17]]);
else
@@ -2988,9 +2401,8 @@ sfkey10(void)
static void
sfkey11(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[6]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[6]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[6]]);
else
@@ -3004,9 +2416,8 @@ sfkey11(void)
static void
sfkey12(void)
{
- if(!meta_down)
- {
- if(vsp->ukt.length[7]) /* entry available ? */
+ if (!meta_down) {
+ if (vsp->ukt.length[7]) /* entry available ? */
more_chars = (u_char *)
&(vsp->udkbuf[vsp->ukt.first[7]]);
else
@@ -3014,139 +2425,6 @@ sfkey12(void)
}
}
-/*---------------------------------------------------------------------------*
- * function bound to control function key 1
- *---------------------------------------------------------------------------*/
-static void
-cfkey1(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_columns(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 2
- *---------------------------------------------------------------------------*/
-static void
-cfkey2(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- vt_ris(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 3
- *---------------------------------------------------------------------------*/
-static void
-cfkey3(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_24l(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 4
- *---------------------------------------------------------------------------*/
-static void
-cfkey4(void)
-{
-
-#if PCVT_SHOWKEYS
- if(vsp->which_fkl == SYS_FKL)
- toggl_kbddbg(vsp);
-#endif /* PCVT_SHOWKEYS */
-
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 5
- *---------------------------------------------------------------------------*/
-static void
-cfkey5(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_bell(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 6
- *---------------------------------------------------------------------------*/
-static void
-cfkey6(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_sevenbit(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 7
- *---------------------------------------------------------------------------*/
-static void
-cfkey7(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_dspf(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 8
- *---------------------------------------------------------------------------*/
-static void
-cfkey8(void)
-{
- if(vsp->which_fkl == SYS_FKL)
- toggl_awm(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 9
- *---------------------------------------------------------------------------*/
-static void
-cfkey9(void)
-{
- if(vsp->labels_on) /* toggle label display on/off */
- fkl_off(vsp);
- else
- fkl_on(vsp);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 10
- *---------------------------------------------------------------------------*/
-static void
-cfkey10(void)
-{
- if(vsp->labels_on) /* toggle user/system fkey labels */
- {
- if(vsp->which_fkl == USR_FKL)
- sw_sfkl(vsp);
- else if(vsp->which_fkl == SYS_FKL)
- sw_ufkl(vsp);
- }
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 11
- *---------------------------------------------------------------------------*/
-static void
-cfkey11(void)
-{
- if(vsp->vt_pure_mode == M_PUREVT)
- set_emulation_mode(vsp, M_HPVT);
- else if(vsp->vt_pure_mode == M_HPVT)
- set_emulation_mode(vsp, M_PUREVT);
-}
-
-/*---------------------------------------------------------------------------*
- * function bound to control function key 12
- *---------------------------------------------------------------------------*/
-static void
-cfkey12(void)
-{
-}
-
-#endif /* PCVT_VT220KEYB */
-
#endif /* NVT > 0 */
static void
@@ -3162,8 +2440,7 @@ scrollback_save_screen(void)
scrnsv_size = s;
- if (!(scrollback_savedscreen = (u_short *)malloc(s, M_TEMP, M_NOWAIT)))
- {
+ if (!(scrollback_savedscreen = (u_short *)malloc(s, M_TEMP, M_NOWAIT))){
splx(x);
return;
}
diff --git a/sys/arch/i386/isa/pcvt/pcvt_out.c b/sys/arch/i386/isa/pcvt/pcvt_out.c
index 3e72ce3e291..499c169b11f 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_out.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_out.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_out.c,v 1.15 1999/11/16 21:57:49 aaron Exp $ */
+/* $OpenBSD: pcvt_out.c,v 1.16 1999/11/25 20:24:22 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -75,9 +75,6 @@
#include "pcvt_hdr.h" /* global include */
static void check_scroll ( struct video_state *svsp );
-static void hp_entry ( U_char ch, struct video_state *svsp );
-static void wrfkl ( int num, u_char *string, struct video_state *svsp );
-static void writefkl ( int num, u_char *string, struct video_state *svsp );
static __inline void write_char (struct video_state *, u_short, u_short ch);
static int check_scrollback ( struct video_state *svsp );
@@ -97,51 +94,32 @@ u_short attrib, ch;
return;
}
- if ((ch >= 0x20) && (ch <= 0x7f)) /* use GL if ch >= 0x20 */
- {
+ if ((ch >= 0x20) && (ch <= 0x7f)) { /* use GL if ch >= 0x20 */
if(!svsp->ss) /* single shift G2/G3 -> GL ? */
- {
*video = attrib | svsp->GL[ch-0x20];
- }
- else
- {
+ else {
*video = attrib | svsp->Gs[ch-0x20];
svsp->ss = 0;
}
}
- else
- {
+ else {
svsp->ss = 0;
- if(ch >= 0x80) /* display controls C1 */
- {
+ if(ch >= 0x80) { /* display controls C1 */
if(ch >= 0xA0) /* use GR if ch >= 0xA0 */
- {
*video = attrib | svsp->GR[ch-0xA0];
- }
- else
- {
+ else {
if(vgacs[svsp->vga_charset].secondloaded)
- {
*video = attrib | ((ch-0x60) | CSH);
- }
- else /* use normal ibm charset for
- control display */
- {
+ else /* use normal ibm charset */
*video = attrib | ch;
- }
}
}
- else /* display controls C0 */
- {
+ else { /* display controls C0 */
if(vgacs[svsp->vga_charset].secondloaded)
- {
*video = attrib | (ch | CSH);
- }
else /* use normal ibm charset for control display*/
- {
*video = attrib | ch;
- }
}
}
}
@@ -489,20 +467,6 @@ sput (u_char *s, U_char kernel, int len, int page)
svsp->state = STATE_HASH;
break;
- case '&': /* ESC & family (HP) */
- if(svsp->vt_pure_mode ==
- M_HPVT)
- {
- svsp->state =
- STATE_AMPSND;
- svsp->hp_state =
- SHP_INIT;
- }
- else
- svsp->state =
- STATE_INIT;
- break;
-
case '(': /* ESC ( family */
svsp->state = STATE_BROPN;
break;
@@ -955,10 +919,6 @@ sput (u_char *s, U_char kernel, int len, int page)
}
break;
- case STATE_AMPSND:
- hp_entry(ch,svsp);
- break;
-
case STATE_DCS:
vt_dcsentry(ch,svsp);
break;
@@ -1156,16 +1116,6 @@ vt_coldinit(void)
svsp->m_awm = 1; /* enable auto wrap mode */
svsp->m_om = 0; /* origin mode = absolute */
svsp->sc_flag = 0; /* init saved cursor flag */
- svsp->which_fkl = SYS_FKL; /* display system fkey-labels */
- svsp->labels_on = 1; /* if in HP-mode, display */
- /* fkey-labels */
- svsp->attribute = 0; /* HP mode init */
- svsp->key = 0; /* HP mode init */
- svsp->l_len = 0; /* HP mode init */
- svsp->s_len = 0; /* HP mode init */
- svsp->m_len = 0; /* HP mode init */
- svsp->i = 0; /* HP mode init */
- svsp->vt_pure_mode = M_PUREVT; /* initial mode: pure VT220*/
svsp->vga_charset = CH_SET0; /* use bios default charset */
#if PCVT_24LINESDEF /* true compatibility */
@@ -1221,8 +1171,6 @@ vt_coldinit(void)
svsp->GR = svsp->G2; /* GR = G2 */
svsp->whichi = 0; /* char set designate init */
svsp->which[0] = '\0'; /* char set designate init */
- svsp->hp_state = SHP_INIT; /* init HP mode state machine*/
- svsp->dcs_state = DCS_INIT; /* init DCS mode state machine*/
svsp->ss = 0; /* init single shift 2/3 */
svsp->Gs = NULL; /* Gs single shift 2/3 */
svsp->maxcol = SCR_COL80; /* 80 columns now (MUST!!!) */
@@ -1502,440 +1450,6 @@ check_scrollback(struct video_state *svsp)
}
/*---------------------------------------------------------------------------*
- * write to one user function key label
- *---------------------------------------------------------------------------*/
-static void
-writefkl(int num, u_char *string, struct video_state *svsp)
-{
- if((num < 0) || (num > 7)) /* range ok ? */
- return;
-
- strncpy(svsp->ufkl[num], string, 16); /* save string in static array */
-
- if(svsp->which_fkl == USR_FKL)
- wrfkl(num,string,svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * write to one system function key label
- *---------------------------------------------------------------------------*/
-void
-swritefkl(int num, u_char *string, struct video_state *svsp)
-{
- if((num < 0) || (num > 7)) /* range ok ? */
- return;
-
- strncpy(svsp->sfkl[num], string, 16); /* save string in static array */
-
- if(svsp->which_fkl == SYS_FKL)
- wrfkl(num,string,svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * write function key label onto screen
- *---------------------------------------------------------------------------*/
-static void
-wrfkl(int num, u_char *string, struct video_state *svsp)
-{
- register u_short *p;
- register u_short *p1;
- register int cnt = 0;
-
- if(!svsp->labels_on || (svsp->vt_pure_mode == M_PUREVT))
- return;
-
- p = (svsp->Crtat
- + (svsp->screen_rows * svsp->maxcol)); /* screen_rows+1 line */
-
- if(svsp->maxcol == SCR_COL80)
- {
- if(num < 4) /* labels 1 .. 4 */
- p += (num * LABEL_LEN);
- else /* labels 5 .. 8 */
- p += ((num * LABEL_LEN) + LABEL_MID + 1);
- }
- else
- {
- if(num < 4) /* labels 1 .. 4 */
- p += (num * (LABEL_LEN + 6));
- else /* labels 5 .. 8 */
- p += ((num * (LABEL_LEN + 6)) + LABEL_MID + 11);
-
- }
- p1 = p + svsp->maxcol; /* second label line */
-
- while((*string != '\0') && (cnt < 8))
- {
- *p = ((0x70 << 8) + (*string & 0xff));
- p++;
- string++;
- cnt++;
- }
- while(cnt < 8)
- {
- *p = ((0x70 << 8) + ' ');
- p++;
- cnt++;
- }
-
- while((*string != '\0') && (cnt < 16))
- {
- *p1 = ((0x70 << 8) + (*string & 0xff));
- p1++;
- string++;
- cnt++;
- }
- while(cnt < 16)
- {
- *p1 = ((0x70 << 8) + ' ');
- p1++;
- cnt++;
- }
-}
-
-/*---------------------------------------------------------------------------*
- * remove (=blank) function key labels, row/col and status line
- *---------------------------------------------------------------------------*/
-void
-fkl_off(struct video_state *svsp)
-{
- register u_short *p;
- register int num;
- register int size;
-
- svsp->labels_on = 0;
-
- if((vgacs[svsp->vga_charset].screen_size==SIZ_28ROWS) && svsp->force24)
- size = 4;
- else
- size = 3;
-
- p = (svsp->Crtat + (svsp->screen_rows * svsp->maxcol));
-
- for(num = 0; num < (size * svsp->maxcol); num++)
- *p++ = ' ';
-}
-
-/*---------------------------------------------------------------------------*
- * (re-) display function key labels, row/col and status line
- *---------------------------------------------------------------------------*/
-void
-fkl_on(struct video_state *svsp)
-{
- svsp->labels_on = 1;
-
- if(svsp->which_fkl == SYS_FKL)
- sw_sfkl(svsp);
- else if(svsp->which_fkl == USR_FKL)
- sw_ufkl(svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * set emulation mode, switch between pure VTxxx mode and HP/VTxxx mode
- *---------------------------------------------------------------------------*/
-void
-set_emulation_mode(struct video_state *svsp, int mode)
-{
- if(svsp->vt_pure_mode == mode)
- return;
-
- clr_parms(svsp); /* escape parameter init */
- svsp->state = STATE_INIT; /* initial state */
- svsp->scrr_beg = 0; /* start of scrolling region */
- svsp->sc_flag = 0; /* invalidate saved cursor position */
- svsp->transparent = 0; /* disable control code processing */
-
- if(mode == M_HPVT) /* vt-pure -> hp/vt-mode */
- {
- svsp->screen_rows = svsp->screen_rowsize - 3;
- if (svsp->force24 && svsp->screen_rows == 25)
- svsp->screen_rows = 24;
-
- if (svsp->row >= svsp->screen_rows) {
- /* Scroll up */
- int nscroll = svsp->row + 1 - svsp->screen_rows;
- bcopy (svsp->Crtat + nscroll * svsp->maxcol,
- svsp->Crtat,
- svsp->screen_rows * svsp->maxcol * CHR);
- svsp->row -= nscroll;
- svsp->cur_offset -= nscroll * svsp->maxcol;
- }
-
- svsp->vt_pure_mode = M_HPVT;
-
- if (svsp->vs_tty)
- svsp->vs_tty->t_winsize.ws_row = svsp->screen_rows;
-
- svsp->scrr_len = svsp->screen_rows;
- svsp->scrr_end = svsp->scrr_len - 1;
-
- update_hp(svsp);
- }
- else if(mode == M_PUREVT) /* hp/vt-mode -> vt-pure */
- {
- fillw(user_attr | ' ',
- (caddr_t)(svsp->Crtat + svsp->screen_rows * svsp->maxcol),
- (svsp->screen_rowsize - svsp->screen_rows)
- * svsp->maxcol);
-
- svsp->vt_pure_mode = M_PUREVT;
-
- svsp->screen_rows = svsp->screen_rowsize;
- if (svsp->force24 && svsp->screen_rows == 25)
- svsp->screen_rows = 24;
-
- if (svsp->vs_tty)
- svsp->vs_tty->t_winsize.ws_row = svsp->screen_rows;
-
- svsp->scrr_len = svsp->screen_rows;
- svsp->scrr_end = svsp->scrr_len - 1;
- }
-
-#if PCVT_SIGWINCH
- if (svsp->vs_tty && svsp->vs_tty->t_pgrp)
- pgsignal(svsp->vs_tty->t_pgrp, SIGWINCH, 1);
-#endif /* PCVT_SIGWINCH */
-
-}
-
-/*---------------------------------------------------------------------------*
- * initialize user function key labels
- *---------------------------------------------------------------------------*/
-void
-init_ufkl(struct video_state *svsp)
-{
- writefkl(0,(u_char *)" f1",svsp); /* init fkey labels */
- writefkl(1,(u_char *)" f2",svsp);
- writefkl(2,(u_char *)" f3",svsp);
- writefkl(3,(u_char *)" f4",svsp);
- writefkl(4,(u_char *)" f5",svsp);
- writefkl(5,(u_char *)" f6",svsp);
- writefkl(6,(u_char *)" f7",svsp);
- writefkl(7,(u_char *)" f8",svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * initialize system user function key labels
- *---------------------------------------------------------------------------*/
-void
-init_sfkl(struct video_state *svsp)
-{
- /* 1234567812345678 */
- if(can_do_132col)
- /* 1234567812345678 */
- swritefkl(0,(u_char *)"132 COLUMNS ",svsp);
- else
- swritefkl(0,(u_char *)" ",svsp);
-
- /* 1234567812345678 */
- swritefkl(1,(u_char *)"SOFT-RSTTERMINAL",svsp);
-
- if(svsp->force24)
- swritefkl(2,(u_char *)"FORCE24 ENABLE *",svsp);
- else
- swritefkl(2,(u_char *)"FORCE24 ENABLE ",svsp);
-
-#if PCVT_SHOWKEYS /* 1234567812345678 */
- if(svsp == &vs[0])
- swritefkl(3,(u_char *)"KEYBSCANDISPLAY ",svsp);
- else
- swritefkl(3,(u_char *)" ",svsp);
-#else
- swritefkl(3,(u_char *)" ",svsp);
-#endif /* PCVT_SHOWKEYS */
-
- /* 1234567812345678 */
- if(svsp->bell_on)
- swritefkl(4,(u_char *)"BELL ENABLE *",svsp);
- else
- swritefkl(4,(u_char *)"BELL ENABLE ",svsp);
-
- if(svsp->sevenbit)
- swritefkl(5,(u_char *)"8-BIT ENABLE ",svsp);
- else
- swritefkl(5,(u_char *)"8-BIT ENABLE *",svsp);
-
- swritefkl(6,(u_char *)"DISPLAY FUNCTNS ",svsp);
-
- swritefkl(7,(u_char *)"AUTOWRAPENABLE *",svsp);
- /* 1234567812345678 */
-}
-
-/*---------------------------------------------------------------------------*
- * switch display to user function key labels
- *---------------------------------------------------------------------------*/
-void
-sw_ufkl(struct video_state *svsp)
-{
- int i;
- svsp->which_fkl = USR_FKL;
- for(i = 0; i < 8; i++)
- wrfkl(i,svsp->ufkl[i],svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * switch display to system function key labels
- *---------------------------------------------------------------------------*/
-void
-sw_sfkl(struct video_state *svsp)
-{
- int i;
- svsp->which_fkl = SYS_FKL;
- for(i = 0; i < 8; i++)
- wrfkl(i,svsp->sfkl[i],svsp);
-}
-
-/*---------------------------------------------------------------------------*
- * toggle force 24 lines
- *---------------------------------------------------------------------------*/
-void
-toggl_24l(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->force24)
- {
- svsp->force24 = 0;
- swritefkl(2,(u_char *)"FORCE24 ENABLE ",svsp);
- }
- else
- {
- svsp->force24 = 1;
- swritefkl(2,(u_char *)"FORCE24 ENABLE *",svsp);
- }
- set_screen_size(svsp, vgacs[(svsp->vga_charset)].screen_size);
- }
-}
-
-#if PCVT_SHOWKEYS
-/*---------------------------------------------------------------------------*
- * toggle keyboard scancode display
- *---------------------------------------------------------------------------*/
-void
-toggl_kbddbg(struct video_state *svsp)
-{
- if((svsp->which_fkl == SYS_FKL) && (svsp == &vs[0]))
- {
- if(keyboard_show)
- {
- keyboard_show = 0;
- swritefkl(3,(u_char *)"KEYBSCANDISPLAY ",svsp);
- }
- else
- {
- keyboard_show = 1;
- swritefkl(3,(u_char *)"KEYBSCANDISPLAY*",svsp);
- }
- }
-}
-#endif /* PCVT_SHOWKEYS */
-
-/*---------------------------------------------------------------------------*
- * toggle display functions
- *---------------------------------------------------------------------------*/
-void
-toggl_dspf(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->dis_fnc)
- {
- svsp->dis_fnc = 0;
- swritefkl(6,(u_char *)"DISPLAY FUNCTNS ",svsp);
- }
- else
- {
- svsp->dis_fnc = 1;
- swritefkl(6,(u_char *)"DISPLAY FUNCTNS*",svsp);
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
- * auto wrap on/off
- *---------------------------------------------------------------------------*/
-void
-toggl_awm(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->m_awm)
- {
- svsp->m_awm = 0;
- swritefkl(7,(u_char *)"AUTOWRAPENABLE ",svsp);
- }
- else
- {
- svsp->m_awm = 1;
- swritefkl(7,(u_char *)"AUTOWRAPENABLE *",svsp);
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
- * bell on/off
- *---------------------------------------------------------------------------*/
-void
-toggl_bell(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->bell_on)
- {
- svsp->bell_on = 0;
- swritefkl(4,(u_char *)"BELL ENABLE ",svsp);
- }
- else
- {
- svsp->bell_on = 1;
- swritefkl(4,(u_char *)"BELL ENABLE *",svsp);
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
- * 7/8 bit usage
- *---------------------------------------------------------------------------*/
-void
-toggl_sevenbit(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->sevenbit)
- {
- svsp->sevenbit = 0;
- swritefkl(5,(u_char *)"8-BIT ENABLE *",svsp);
- }
- else
- {
- svsp->sevenbit = 1;
- swritefkl(5,(u_char *)"8-BIT ENABLE ",svsp);
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
- * 80 / 132 columns
- *---------------------------------------------------------------------------*/
-void
-toggl_columns(struct video_state *svsp)
-{
- if(svsp->which_fkl == SYS_FKL)
- {
- if(svsp->maxcol == SCR_COL132)
- {
- if(vt_col(svsp, SCR_COL80))
- svsp->maxcol = 80;
- }
- else
- {
- if(vt_col(svsp, SCR_COL132))
- svsp->maxcol = 132;
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
* toggle vga 80/132 column operation
*---------------------------------------------------------------------------*/
int
@@ -1944,11 +1458,6 @@ vt_col(struct video_state *svsp, int cols)
if(vga_col(svsp, cols) == 0)
return(0);
- if(cols == SCR_COL80)
- swritefkl(0,(u_char *)"132 COLUMNS ",svsp);
- else
- swritefkl(0,(u_char *)"132 COLUMNS*",svsp);
-
fillw(user_attr | ' ',
(caddr_t)(svsp->Crtat),
svsp->maxcol * svsp->screen_rowsize);
@@ -1966,8 +1475,6 @@ vt_col(struct video_state *svsp, int cols)
svsp->selchar = 0; /* selective attr off */
vt_initsel(svsp); /* re-init sel attr */
- update_hp(svsp); /* update labels, row/col, page ind */
-
/* Update winsize struct to reflect screen size */
if(svsp->vs_tty)
@@ -1989,40 +1496,6 @@ vt_col(struct video_state *svsp, int cols)
}
/*---------------------------------------------------------------------------*
- * update HP stuff on screen
- *---------------------------------------------------------------------------*/
-void
-update_hp(struct video_state *svsp)
-{
- if(svsp->vt_pure_mode != M_HPVT)
- return;
-
- fillw (user_attr | ' ',
- (caddr_t)(svsp->Crtat + svsp->screen_rows * svsp->maxcol),
- (svsp->screen_rowsize - svsp->screen_rows) * svsp->maxcol);
-
- if (!svsp->labels_on)
- return;
-
- /* update fkey labels */
-
- fkl_off(svsp);
- fkl_on(svsp);
-
- if(vsp == svsp)
- {
- /* update current displayed screen indicator */
-
- *((svsp->Crtat + ((svsp->screen_rows + 2) * svsp->maxcol))
- + svsp->maxcol - 3) = user_attr | '[';
- *((svsp->Crtat + ((svsp->screen_rows + 2) * svsp->maxcol))
- + svsp->maxcol - 2) = user_attr | (current_video_screen + '0');
- *((svsp->Crtat + ((svsp->screen_rows + 2) * svsp->maxcol))
- + svsp->maxcol - 1) = user_attr | ']';
- }
-}
-
-/*---------------------------------------------------------------------------*
* initialize ANSI escape sequence parameter buffers
*---------------------------------------------------------------------------*/
void
@@ -2034,302 +1507,6 @@ clr_parms(struct video_state *svsp)
svsp->parmi = 0;
}
-
-/*---------------------------------------------------------------------------*
- *
- * partial HP 2392 ANSI mode Emulator
- * ==================================
- *
- * this part tooks over the emulation of some escape sequences
- * needed to handle the function key labels
- *
- * They are modeled after the corresponding escape sequences
- * introduced with the HP2392 terminals from Hewlett-Packard.
- *
- * see:
- * "HP2392A, Display Terminal Reference Manual",
- * HP Manual Part Number 02390-90001
- * and:
- * Reference Manual Supplement
- * "2392A Display Terminal Option 049, ANSI Operation"
- * HP Manual Part Number 02390-90023EN
- *
- *---------------------------------------------------------------------------*/
-
-static void
-hp_entry(U_char ch, struct video_state *svsp)
-{
- switch(svsp->hp_state)
- {
- case SHP_INIT:
- switch(ch)
- {
- case 'f':
- svsp->hp_state = SHP_AND_F;
- svsp->attribute = 0;
- svsp->key = 0;
- svsp->l_len = 0;
- svsp->s_len = 0;
- svsp->i = 0;
- break;
-
- case 'j':
- svsp->m_len = 0;
- svsp->hp_state = SHP_AND_J;
- break;
-
- case 's':
- svsp->hp_state = SHP_AND_ETE;
- break;
-
- default:
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- break;
- }
- break;
-
- case SHP_AND_F:
- if((ch >= '0') && (ch <= '8'))
- {
- svsp->attribute = ch;
- svsp->hp_state = SHP_AND_Fa;
- }
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_Fa:
- if(ch == 'a')
- svsp->hp_state = SHP_AND_Fak;
- else if(ch == 'k')
- {
- svsp->key = svsp->attribute;
- svsp->hp_state = SHP_AND_Fakd;
- }
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_Fak:
- if((ch >= '1') && (ch <= '8'))
- {
- svsp->key = ch;
- svsp->hp_state = SHP_AND_Fak1;
- }
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_Fak1:
- if(ch == 'k')
- svsp->hp_state = SHP_AND_Fakd;
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_Fakd:
- if(svsp->l_len > 16)
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- else if(ch >= '0' && ch <= '9')
- {
- svsp->l_len *= 10;
- svsp->l_len += (ch -'0');
- }
- else if(ch == 'd')
- svsp->hp_state = SHP_AND_FakdL;
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_FakdL:
- if(svsp->s_len > 80)
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- else if(ch >= '0' && ch <= '9')
- {
- svsp->s_len *= 10;
- svsp->s_len += (ch -'0');
- }
- else if(ch == 'L')
- {
- svsp->hp_state = SHP_AND_FakdLl;
- svsp->transparent = 1;
- }
- else
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- }
- break;
-
- case SHP_AND_FakdLl:
- svsp->l_buf[svsp->i] = ch;
- if(svsp->i >= svsp->l_len-1)
- {
- svsp->hp_state = SHP_AND_FakdLls;
- svsp->i = 0;
- if(svsp->s_len == 0)
- {
- svsp->state = STATE_INIT;
- svsp->hp_state = SHP_INIT;
- svsp->transparent = 0;
- svsp->i = 0;
- svsp->l_buf[svsp->l_len] = '\0';
- svsp->s_buf[svsp->s_len] = '\0';
- writefkl((svsp->key - '0' -1),
- svsp->l_buf, svsp);
- }
- }
- else
- svsp->i++;
- break;
-
- case SHP_AND_FakdLls:
- svsp->s_buf[svsp->i] = ch;
- if(svsp->i >= svsp->s_len-1)
- {
- svsp->state = STATE_INIT;
- svsp->hp_state = SHP_INIT;
- svsp->transparent = 0;
- svsp->i = 0;
- svsp->l_buf[svsp->l_len] = '\0';
- svsp->s_buf[svsp->s_len] = '\0';
- writefkl((svsp->key - '0' -1), svsp->l_buf,
- svsp);
- }
- else
- svsp->i++;
- break;
-
- case SHP_AND_J:
- switch(ch)
- {
- case '@': /* enable user keys, remove */
- /* all labels & status from */
- /* screen */
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- fkl_off(svsp);
- break;
-
- case 'A': /* enable & display "modes" */
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- fkl_on(svsp);
- sw_sfkl(svsp);
- break;
-
- case 'B': /* enable & display "user" */
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- fkl_on(svsp);
- sw_ufkl(svsp);
- break;
-
- case 'C': /* remove (clear) status line*/
- /* and restore current labels*/
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- fkl_on(svsp);
- break;
-
- case 'R': /* enable usr/menu keys */
- /* and fkey label modes */
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- break;
-
- case 'S': /* disable usr/menu keys */
- /* and fkey label modes */
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': /* parameters for esc & j xx L mm */
- svsp->m_len *= 10;
- svsp->m_len += (ch -'0');
- break;
-
- case 'L':
- svsp->hp_state = SHP_AND_JL;
- svsp->i = 0;
- svsp->transparent = 1;
- break;
-
- default:
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- break;
-
- }
- break;
-
-
- case SHP_AND_JL:
- svsp->m_buf[svsp->i] = ch;
- if(svsp->i >= svsp->m_len-1)
- {
- svsp->state = STATE_INIT;
- svsp->hp_state = SHP_INIT;
- svsp->transparent = 0;
- svsp->i = 0;
- svsp->m_buf[svsp->m_len] = '\0';
- /* display status line */
- /* needs to be implemented */
- /* see 2392 man, 3-14 */
-
- }
- else
- svsp->i++;
- break;
-
- case SHP_AND_ETE: /* eat chars until uppercase */
- if(ch >= '@' && ch <= 'Z')
- {
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- svsp->transparent = 0;
- }
- break;
-
- default:
- svsp->hp_state = SHP_INIT;
- svsp->state = STATE_INIT;
- svsp->transparent = 0;
- break;
- }
-}
-
#endif /* NVT > 0 */
/* ------------------------- E O F ------------------------------------------*/
diff --git a/sys/arch/i386/isa/pcvt/pcvt_sup.c b/sys/arch/i386/isa/pcvt/pcvt_sup.c
index ddaba8d60ae..fe1b797e7b9 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_sup.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_sup.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_sup.c,v 1.12 1999/11/20 18:52:00 espie Exp $ */
+/* $OpenBSD: pcvt_sup.c,v 1.13 1999/11/25 20:24:22 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -109,7 +109,7 @@ static u_short getrand ( void );
* execute vga ioctls
*---------------------------------------------------------------------------*/
int
-vgaioctl(Dev_t dev, u_long cmd, caddr_t data, int flag)
+vgaioctl(Dev_t dev, int cmd, caddr_t data, int flag)
{
if(minor(dev) >= PCVT_NSCREENS)
return -1;
@@ -307,12 +307,6 @@ vgapcvtinfo(struct pcvtinfo *data)
#if PCVT_24LINESDEF
| CONF_24LINESDEF
#endif
-#if PCVT_EMU_MOUSE
- | CONF_EMU_MOUSE
-#endif
-#if PCVT_SHOWKEYS
- | CONF_SHOWKEYS
-#endif
#if PCVT_KEYBDID
| CONF_KEYBDID
#endif
@@ -612,7 +606,6 @@ vid_getscreen(struct screeninfo *data, Dev_t dev)
/* screen size */
data->screen_size = vgacs[(vs[device].vga_charset)].screen_size;
/* pure VT mode or HP/VT mode */
- data->pure_vt_mode = vs[device].vt_pure_mode;
data->vga_family = vga_family; /* manufacturer, family */
data->vga_type = vga_type; /* detected chipset type */
data->vga_132 = can_do_132col; /* 132 column support */
@@ -656,35 +649,20 @@ vid_setscreen(struct screeninfo *data, Dev_t dev)
if(screen != current_video_screen)
return; /* XXX should say "EAGAIN" here */
- if((data->screen_size != -1) || (data->force_24lines != -1))
- {
+ if((data->screen_size != -1) || (data->force_24lines != -1)) {
if(data->screen_size == -1)
data->screen_size =
vgacs[(vs[screen].vga_charset)].screen_size;
if(data->force_24lines != -1)
- {
vs[screen].force24 = data->force_24lines;
- if(vs[screen].force24)
- {
- swritefkl(2,(u_char *)"FORCE24 ENABLE *",
- &vs[screen]);
- }
- else
- {
- swritefkl(2,(u_char *)"FORCE24 ENABLE ",
- &vs[screen]);
- }
- }
-
if((data->screen_size == SIZ_25ROWS) ||
(data->screen_size == SIZ_28ROWS) ||
(data->screen_size == SIZ_35ROWS) ||
(data->screen_size == SIZ_40ROWS) ||
(data->screen_size == SIZ_43ROWS) ||
- (data->screen_size == SIZ_50ROWS))
- {
+ (data->screen_size == SIZ_50ROWS)) {
if(data->screen_no == -1)
set_screen_size(vsp, data->screen_size);
else
@@ -692,19 +670,6 @@ vid_setscreen(struct screeninfo *data, Dev_t dev)
data->screen_size);
}
}
-
- if(data->pure_vt_mode != -1)
- {
- if((data->pure_vt_mode == M_HPVT) ||
- (data->pure_vt_mode == M_PUREVT))
- {
- if(data->screen_no == -1)
- set_emulation_mode(vsp, data->pure_vt_mode);
- else
- set_emulation_mode(&vs[minor(dev)],
- data->pure_vt_mode);
- }
- }
}
/*---------------------------------------------------------------------------*
@@ -742,15 +707,6 @@ set_screen_size(struct video_state *svsp, int size)
svsp->screen_rows;
}
- /* screen_rows already calculated in set_charset() */
- if(svsp->vt_pure_mode == M_HPVT && svsp->labels_on)
- {
- if(svsp->which_fkl == SYS_FKL)
- sw_sfkl(svsp);
- else if(svsp->which_fkl == USR_FKL)
- sw_ufkl(svsp);
- }
-
svsp->scrr_len = svsp->screen_rows;
svsp->scrr_end = svsp->scrr_len - 1;
@@ -956,136 +912,6 @@ async_update()
outb(addr_6845+1, (lastpos));
}
}
-
- /*-------------------------------------------------------------------*/
- /* this takes place ONLY on screen 0 if in HP mode, labels on, !X */
- /*-------------------------------------------------------------------*/
-
- /* additional processing for HP necessary ? */
-
- if((vs[0].vt_pure_mode == M_HPVT) && (vs[0].labels_on))
- {
- static volatile u_char buffer[] =
- "System Load: 1min: 0.00 5min: 0.00 15min: 0.00";
- register int tmp, i;
-#if PCVT_SHOWKEYS
- extern u_char rawkeybuf[80];
-
- if(keyboard_show)
- {
- for(i = 0; i < 80; i++)
- {
- *((vs[0].Crtat+((vs[0].screen_rows+2)
- * vs[0].maxcol))+i) =
- user_attr | rawkeybuf[i];
- }
- }
- else
- {
-#endif /* PCVT_SHOWKEYS */
-
- /* display load averages in last line (taken from tty.c) */
- i = 18;
-#ifdef NEW_AVERUNNABLE
- tmp = (averunnable.ldavg[0] * 100 + FSCALE / 2)
- >> FSHIFT;
-#else
- tmp = (averunnable[0] * 100 + FSCALE / 2) >> FSHIFT;
-#endif
-
- buffer[i++] =
- ((((tmp/100)/10) == 0) ?
- ' ' :
- ((tmp/100)/10) + '0');
- buffer[i++] = ((tmp/100)%10) + '0';
- buffer[i++] = '.';
- buffer[i++] = ((tmp%100)/10) + '0';
- buffer[i++] = ((tmp%100)%10) + '0';
- i += 6;
-#ifdef NEW_AVERUNNABLE
- tmp = (averunnable.ldavg[1] * 100 + FSCALE / 2)
- >> FSHIFT;
-#else
- tmp = (averunnable[1] * 100 + FSCALE / 2) >> FSHIFT;
-#endif
- buffer[i++] = ((((tmp/100)/10) == 0) ?
- ' ' :
- ((tmp/100)/10) + '0');
- buffer[i++] = ((tmp/100)%10) + '0';
- buffer[i++] = '.';
- buffer[i++] = ((tmp%100)/10) + '0';
- buffer[i++] = ((tmp%100)%10) + '0';
- i += 7;
-#ifdef NEW_AVERUNNABLE
- tmp = (averunnable.ldavg[2] * 100 + FSCALE / 2)
- >> FSHIFT;
-#else
- tmp = (averunnable[2] * 100 + FSCALE / 2) >> FSHIFT;
-#endif
- buffer[i++] = ((((tmp/100)/10) == 0) ?
- ' ' :
- ((tmp/100)/10) + '0');
- buffer[i++] = ((tmp/100)%10) + '0';
- buffer[i++] = '.';
- buffer[i++] = ((tmp%100)/10) + '0';
- buffer[i++] = ((tmp%100)%10) + '0';
- buffer[i] = '\0';
-
- for(i = 0; buffer[i]; i++)
- {
- *((vs[0].Crtat +
- ((vs[0].screen_rows + 2) * vs[0].maxcol)
- ) + i
- ) = user_attr | buffer[i];
- }
-
-#if PCVT_SHOWKEYS
- for(; i < 77; i++)
- {
- *((vs[0].Crtat +
- ((vs[0].screen_rows + 2) * vs[0].maxcol)
- ) + i
- ) = user_attr | ' ';
- }
-
- }
-#endif /* PCVT_SHOWKEYS */
- }
-
- /*-------------------------------------------------------------------*/
- /* this takes place on EVERY screen which is in HP mode, labels on,!X*/
- /*-------------------------------------------------------------------*/
-
- if((vsp->vt_pure_mode == M_HPVT) && (vsp->labels_on))
- {
- register int col = vsp->col+1;
- register u_short *p = vsp->Crtat +
- (vsp->screen_rows * vsp->maxcol);
-
- /* update column display between labels */
-
- if(vsp->maxcol == SCR_COL132)
- {
- p += (SCR_COL132 - SCR_COL80)/2;
-
- if(col >= 100)
- {
- *(p + LABEL_COLU) = user_attr | '1';
- col -= 100;
- }
- else
- {
- *(p + LABEL_COLU) = user_attr | '0';
- }
- }
- *(p + LABEL_COLH) = user_attr | ((col/10) + '0');
- *(p + LABEL_COLL) = user_attr | ((col%10) + '0');
-
- /* update row display between labels */
-
- *(p + LABEL_ROWH) = (user_attr | (((vsp->row+1)/10) + '0'));
- *(p + LABEL_ROWL) = (user_attr | (((vsp->row+1)%10) + '0'));
- }
}
/*---------------------------------------------------------------------------*
@@ -1108,8 +934,6 @@ set_charset(struct video_state *svsp, int curvgacs)
oldrows = svsp->screen_rows;
newsize = sizetab[(vgacs[curvgacs].screen_size)];
newrows = newsize;
- if (svsp->vt_pure_mode == M_HPVT)
- newrows -= 3;
if (newrows == 25 && svsp->force24)
newrows = 24;
if (newrows < oldrows) {
diff --git a/sys/arch/i386/isa/pcvt/pcvt_vtf.c b/sys/arch/i386/isa/pcvt/pcvt_vtf.c
index 48cce2a1de1..4300c2d7a94 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_vtf.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_vtf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_vtf.c,v 1.9 1999/11/16 21:57:49 aaron Exp $ */
+/* $OpenBSD: pcvt_vtf.c,v 1.10 1999/11/25 20:24:22 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -566,9 +566,6 @@ vt_str(struct video_state *svsp)
svsp->selchar = 0; /* selective attribute off */
vt_initsel(svsp);
- init_ufkl(svsp); /* init user fkey labels */
- init_sfkl(svsp); /* init system fkey labels */
-
update_led(); /* update keyboard LED's */
}
@@ -645,7 +642,6 @@ vt_set_dec_priv_qm(struct video_state *svsp)
case 7: /* AWM - auto wrap mode */
svsp->m_awm = 1;
- swritefkl(7,(u_char *)"AUTOWRAPENABLE *",svsp);
break;
case 8: /* ARM - auto repeat mode */
@@ -703,7 +699,6 @@ vt_reset_dec_priv_qm(struct video_state *svsp)
case 7: /* AWM - auto wrap mode */
svsp->m_awm = 0;
- swritefkl(7,(u_char *)"AUTOWRAPENABLE ",svsp);
break;
case 8: /* ARM - auto repeat mode */