*BSD News Article 7418


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!sdd.hp.com!cs.utexas.edu!uunet!mcsun!Germany.EU.net!unidui!du9ds3!veit
From: veit@du9ds3.uni-duisburg.de (Holger Veit)
Newsgroups: comp.unix.bsd
Subject: [386bsd] Announcement codrv
Date: 4 Nov 92 13:27:57 GMT
Organization: Uni-Duisburg FB9 Datenverarbeitung
Lines: 170
Message-ID: <veit.720883677@du9ds3>
Reply-To: veit@du9ds3.uni-duisburg.de
NNTP-Posting-Host: du9ds3.uni-duisburg.de
Keywords: codrv, keycap-0.1.1

The new, improved console driver 'codrv' is available now
(was keycap-0.1.0 before). See the enclosed man page below for details.

The code is available from

ftp.uni-duisburg.de (134.91.4.132, will change to 134.91.100.14 soon)
in /pub/unix/386bsd-0.1/unofficial/keycap/keycap-0.1.1.tar.Z

In the same location, there is a precompiled up-to-date kernel and
XFree86-1.1 X386/X386mono servers. There is also a FAQ which will hopefully
answer many arising questions.

This server will likely be part of 386bsd-0.2 (no, I don't know anything
about release date), the xserver modifications will be integrated into
Xfree86-1.2 (again, no info).

Holger

--
|  |   / Dr. Holger Veit         | INTERNET: veit@du9ds3.uni-duisburg.de
|__|  /  University of Duisburg  | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|  | /   Dept. of Electr. Eng.   |   Sorry, the above really good fortune has
|  |/    Inst. f. Dataprocessing |      been CENSORED because of obscenity"

---------------------

October 25, 1992		386bsd 0.2			CONSOLE(4)


NAME
	co - new console driver

SYNOPSIS

	device co0 at isa? port 0x60 tty "irq 1 vector cointr"

	#include <sys/ioctl.h>
	#include <sys/ioctl_pc.h>

DESCRIPTION

	The "co" console driver (also called codrv) replaces the old outdated
	"pccons" console driver. Several features and improvements have been 
	built in:

*	IBM AT key numbering scheme, not the incompatible and complex 
	scan code handling
*	/dev/kbd raw device
*	XFree86 1.2 and greater support
	(1.1 needs special fixes)
*	working xconsole/xdm with clean return to textmode
*	National language keyboard support (see keycap(5))
	including overloadable keys (any key, not only function keys)
*	Programmable keyboard repetition rate ("typematic")
*	Programmable keyboard LEDs
*	Programmable Beep (pitch and duration)
*	Recognition of several SVGA cards, recognition of MDA/CGA/EGA/VGA
*	Programmable cursor shape
*	Standard ISO-Latin 1 character set
*	Loadable national font (in addition to standard Latin 1)
*	compatible to *.bdf (X11R5) fonts
*	Programmable screen blanking

	The console driver is a single interrupt driver which is 
	divided into a number of logical and physical devices:

	/dev/pccons	The console interface. This device behaves like a 
			tty device, and delivers 7/8 bit ASCII characters 
			on request.
	/dev/console	The console redirector. This is the console switcher 
			in the closer sense. When the keyboard/video is 
			present, it redirects console requests to the 
			/dev/pccons device, otherwise to the first available 
			serial interface. The /dev/pccons and /dev/console
			devices should not be confused, the first is a 
			physically existing unit, the second one is a 
			logical redirecting device. When accessing the 
			console, use /dev/console only.
	/dev/kbd	The raw keynum device. This device is normally 
			opened by the XServer (see X(1)) only; this device 
			is exclusive and suppresses input from /dev/console
			when opened.
	/dev/vga	The video device. In the current version of
			codrv, /dev/kbd and /dev/vga are basically the same 
			device, however, /dev/vga is not exclusive, but does 
			not allow reading keystrokes from the keyboard.

	All devices share the same set of ioctl functions as described below, 
	but this may change in the future. For compatibility, tty related 
	ioctls (e.g. TIOC*, CONS*) should be applied to /dev/console only, 
	keyboard related ioctls (KBD*, CONS*) to /dev/kbd, and video 
	related ones (VGA*, CONS*) to /dev/vga .

	The following set of ioctls is understood. For the exact calling 
	convention see /usr/include/sys/ioctl_pc.h .
	Ioctls marked with # are not recommended for general use and may
	lead to unexpected effects.

	CONSGINFO	Get console capabilities flags
	KBDRESET	Reset the keyboard (default keymap, default repeat rate)
	#KBDRESET8042	Reset the keyboard controller only (not general use)
	#KBDFORCEASCII	Temporarily remove precedence of /dev/kbd (not 
			general use)
	KBDGTPMAT	Get current key repetition rate information
	KBDSTPMAT	Set new key repetition rate
	KBDGREPSW	Get current key repetition flag (allows entirely 
			disabling repetition)
	KBDSREPSW	Set new key repetition flag (allows entirely disabling 
			repetition)
	KBDGLEDS	Get keyboard LED status (NumLock, CapsLock, ScrollLock)
	KBDSLEDS	Set keyboard LED status (NumLock, CapsLock, ScrollLock)
	KBDGLOCK	Get keyboard lock key status (NumLock, CapsLock, 
			ScrollLock)
	KBDSLOCK	Set keyboard lock key status (NumLock, CapsLock, 
			ScrollLock)
	KBDGCKEY	Get current keymap for a single key
	KBDSCKEY	Set new keymap for a single key
	KBDGOKEY	Get original (default) keymap for a single key
	KBDRMKEY	Remove a single key assignment
	KBDDEFAULT	Remove all key assignments
	KBDSETBELL	Play a tone of given pitch and duration

	#CONSOLE_X_MODE	Set XServer mode (privileged and not for general use)
	#CONSOLE_X_MODE_ON	Set XServer mode (privileged, compatibility, 
			may disappear in future)
	#CONSOLE_X_MODE_OFF	Set XServer mode (privileged, compatibility, 
			may disappear in future)

	VGASCURSOR	Set cursor shape
	VGAGCURSOR	Get current cursor shape
	VGAGINFO	Get video information
	VGASFNTMAP	Load a font into video memory (EGA or better only)
	VGAGFNTMAP	Read a font from video memory (EGA or better only)
	VGASFNTCHAR	Load a single fontchar into video memory 
			(EGA or better only)
	VGAGFNTCHAR	Read a single fontchar from video memory 
			(EGA or better only)
	VGAGPAGE	Read text page directly
	VGASPAGE	Write text page directly
	VGAMISCFCNS	Miscellaneous video support functions

FILES
	/sys/i386/isa/co_cons.c	Console tty support kernel routines
	/sys/i386/isa/co_kbd.c	Keyboard kernel routines
	/sys/i386/isa/co_vga.c	Video kernel routines
	/usr/share/misc/keycap	standard keyboard capability data base

SEE ALSO
	keycap(5)

HISTORY
	The codrv driver was derived from the pccons driver and was heavily 
	modified since then.

BUGS
	The terminal emulation is still "pc3", for compatibility issues, and
	may be changed in future.

	The naming convention VGA* is misleading. Most calls work for
	any card, including MDA/CGA/EGA, although VGA cards have become
	cheap enough to be standard even in low cost systems.

	Much is still under construction.

--------------
-- 
|  |   / Dr. Holger Veit         | INTERNET: veit@du9ds3.uni-duisburg.de
|__|  /  University of Duisburg  | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|  | /   Dept. of Electr. Eng.   |   Sorry, the above really good fortune has
|  |/    Inst. f. Dataprocessing |      been CENSORED because of obscenity"