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"