diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1999-10-20 19:15:53 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1999-10-20 19:15:53 +0000 |
commit | c9b28bc5ec64a37a66cba709abc753cb0c995489 (patch) | |
tree | c9cb82b8f2a0ab628e8c9913fd5987e737e383c7 /sys/arch/i386/isa | |
parent | 65c460045ebb36ca62a8a4570ebbcb05b7797754 (diff) |
special character handling; aaron
Diffstat (limited to 'sys/arch/i386/isa')
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_hdr.h | 3 | ||||
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_out.c | 5 | ||||
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_vtf.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/sys/arch/i386/isa/pcvt/pcvt_hdr.h b/sys/arch/i386/isa/pcvt/pcvt_hdr.h index 8973098a469..248c5f62db2 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.26 1999/10/16 18:56:35 aaron Exp $ */ +/* $OpenBSD: pcvt_hdr.h,v 1.27 1999/10/20 19:15:51 deraadt Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -618,6 +618,7 @@ EXTERN u_char *more_chars; /* response buffer via kbd */ EXTERN int char_count; /* response char count */ EXTERN u_char color; /* color or mono display */ EXTERN u_char pcdisp; /* vt220 or traditional pc features */ +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 */ diff --git a/sys/arch/i386/isa/pcvt/pcvt_out.c b/sys/arch/i386/isa/pcvt/pcvt_out.c index 3811612ca01..6143ec8444e 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.13 1999/10/16 18:56:36 aaron Exp $ */ +/* $OpenBSD: pcvt_out.c,v 1.14 1999/10/20 19:15:51 deraadt Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -92,7 +92,7 @@ static __inline void write_char (svsp, attrib, ch) struct video_state *svsp; u_short attrib, ch; { - if (pcdisp) { + if (pcdisp && pcdisp_special == 0) { *video = attrib | ch; return; } @@ -1023,6 +1023,7 @@ vt_coldinit(void) do_initialization = 0; /* reset init necessary flag */ pcdisp = 1; /* turn on traditional pc colors/font */ + pcdisp_special = 0; /* get the equipment byte from the RTC chip */ diff --git a/sys/arch/i386/isa/pcvt/pcvt_vtf.c b/sys/arch/i386/isa/pcvt/pcvt_vtf.c index 37e24c64752..690b7b7eb3b 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.7 1999/10/16 18:56:36 aaron Exp $ */ +/* $OpenBSD: pcvt_vtf.c,v 1.8 1999/10/20 19:15:52 deraadt Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -1089,6 +1089,7 @@ vt_designate(struct video_state *svsp) case 'B': /* USASCII */ #ifdef HAVECSD_ASCII ctp = csd_ascii; + pcdisp_special = 0; #endif break; @@ -1152,6 +1153,7 @@ vt_designate(struct video_state *svsp) case '0': /* special graphics */ #ifdef HAVECSD_SPECIAL ctp = csd_special; + pcdisp_special = 1; #endif break; @@ -1182,6 +1184,7 @@ vt_designate(struct video_state *svsp) case '<': /* DEC Supplemental */ #ifdef HAVECSD_SUPPLEMENTAL ctp = csd_supplemental; + pcdisp_special = 1; #endif break; @@ -1194,6 +1197,7 @@ vt_designate(struct video_state *svsp) case '>': /* DEC Technical */ #ifdef HAVECSD_TECHNICAL ctp = csd_technical; + pcdisp_special = 1; #endif break; |