www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/04/16/03:25:39

Xref: news2.mv.net comp.os.msdos.djgpp:2758
From: "Markus F.X.J. Oberhumer" <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>
Newsgroups: comp.os.msdos.djgpp
Subject: ANNOUNCE: libkb -- a low-level keyboard library
Date: Mon, 15 Apr 1996 20:17:49 -0700
Organization: Johannes Kepler University Linz
Lines: 125
Message-ID: <3173115D.2069@jk.uni-linz.ac.at>
NNTP-Posting-Host: pc10.edu.uni-linz.ac.at
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

===============================================================================
Markus F.X.J. Oberhumer <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>

Subject: ANNOUNCE: libkb -- a low-level keyboard library
===============================================================================

Hello,

I'm proud to announce the availability of libkb 0.90,
a free, advanced and portable low-level keyboard library 
ideal for games and all applications that want total
control over the keyboard.

- Allows access to ALL keys and ALL key combinations.
- Also handles Pause key and Control-Break.
- Practical kbhit()/getkey() like interface for textual input.
- Intelligent signal handling and emercency-exit feature
  to achieve a maximum of robustness.
- Easy to use. Written entirely in C without assembler code. 
- Comes with full source, example programs and documentation.
- libkb is known to run on the following platforms:
    Linux 1.2.x with gcc
    MSDOS with Borland C v3.1/v4.0 (16 bit)
    MSDOS with djgpp v1 + gcc (32 bit)
    MSDOS with djgpp v2 + gcc (32 bit)
    MSDOS with Watcom C v10.5 (32 bit)


                                        Have fun,
                                         Markus



Availability
------------

The latest version of libkb should always be available at the
following sites (and their mirrors):

primary MSDOS sites:
  ftp://x2ftp.oulu.fi/pub/msdos/programming/libs/libkb090.zip
  ftp://ftp.coast.net/SimTel/msdos/c/libkb090.zip

primary Linux sites:
  ftp://tsx-11.mit.edu/pub/linux/sources/libs/libkb-0.90.tar.gz
  ftp://sunsite.unc.edu/pub/Linux/libs/libkb-0.90.tar.gz

Note that all distributions contain the same files.
They are just packed with different archivers, zip and tar+gzip respectively.



From the documentation:
-----------------------

libkb is a free, advanced and portable low-level keyboard library
for MSDOS and Linux.

It has the following highlights:

- it's advanced
    Allows access to ALL keys and ALL combinations of them.
    You can individually test left and right Shift and Control,
    Alt and AltGr, cursor keys, the keypad and everything else
    you always wanted. Also handles Pause key and Control-Break.
    Supports virtual terminal switching under Linux.
    Ideal for games and all applications that want
    total control over the keyboard.

- it's practical
    Builtin kbhit()/getkey() like interface that allows you
    to easily read the keyboard for text input, highscore names
    or cheat codes.

- it's portable
    Works under MSDOS and Linux.
    Written entirely in C without assembler code.
    Supports Borland C v3.1 and 4.0 (16 bit), Watcom C v10.5 (32 bit),
    djgpp v1 + v2 (32 bit) and Linux gcc.
    Should port very easy to Microsoft C and other MSDOS compilers.

- it's safe
    The library tries to remove its keyboard handler when a program
    terminates or crashes. For this purpose it installs some intelligent
    signal handlers and uses the atexit() function to achieve
    a maximum of robustness.
    Support for an emergency-exit key sequence is provided - this is 
    really useful during development.
    Interrupt handler memory in virtual memory environments is locked.

- it's easy to use
    The core interface consists of only a handful of functions and variables.
    Care has been taken not to pollute the global namespace.
    Example programs are included as well.

- it's free
    Comes with full source code and documentation. And yes, you can
    use it in your commercial applications (no GPL restrictions).


And the following restrictions:
    
- it's beta
    This means that there may be bugs. Also, I've only access
    to German keyboards with 102 keys, and the library has not
    been tested in a continuous 10 hour arcade game session yet.
    
- it's americanized
    As the library hooks the keyboard interrupt, individual
    keys read with kb_getkey() return hardcoded ASCII values
    for the scancodes. These are valid for American keyboards only,
    e.g. on a German keyboard Y and Z seem exchanged.
    In the beginning I had planned to include support for local key
    mappings, but this soon started to become too complex.
    Most advanced games suffer this problem.
    
- it's software
    Unfortunately the keyboard controller hardware was not
    designed with heavy action in mind. This means that there are
    various key combinations that cannot be pressed at the
    same time - the keyboard controller just won't handle them.
    Nevertheless libkb makes all information the hardware is
    able to generate available to an application and the test
    program shows you when an 'overflow' occurs so that you
    can setup safe default keys for your games.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019