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"