DataMuseum.dk

Presents historical artifacts from the history of:

Commodore CBM-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Commodore CBM-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦790b34aea⟧ TextFile

    Length: 1652 (0x674)
    Types: TextFile
    Notes: UNIX file
    Names: »kbtab.h«

Derivation

└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
    └─⟦f4b8d8c84⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »hrtty/src/kbtab.h« 

TextFile

/* 
 * Commodore 900 Keyboard driver.
 * This header file is used only by the
 * driver and defines the interface between
 * the keyboard driver and the table for
 * the particular keyboard.  This method enables
 * different keyboards to be supported by the same
 * source code.
 */

/*
 * Flags in the keyboard table.
 * KLOCK is needed only by keyboard in which the
 * keys don't look (i.e. send an up and down transition for
 * the shifting action).
 */
#define	KDUP	0x01		/* Duplicate key (used for `00') */
#define	KCAP	0x02		/* Use upper entry in CAPS LOCK mode */
#define	KP	0x04		/* This key is affected by keypad mode flag */
#define	KLOCK	0x08		/* Locking shift (done in software) */
#define	KINV	0x10		/* Disabled key */
#define	KC	0x20		/* Control key allowed */
#define	KSHIFT	0x40		/* A shift key (e.g. cntrl, ALT, SHIFT */
#define	KNL	0x80		/* Num lock - use upper entry */

/* Bits in k_control when KSHIFT is in effect */
#define	SS1	0x01		/* Shift key #1 (left) */
#define	SS2	0x02		/* Shift key #2 (right) */
#define	SNL	0x04		/* Num lock key */
#define	SCL	0x08		/* Caps lock key */
#define	SCT	0x10		/* Control key */
#define	SAL	0x20		/* ALT (or meta) key */

/* Character codes that are used from ascii */
#define	CESC	0033
#define	CDEL	0177
#define	ct(c)	((c)&~0140)

/* Extended character codes */
#include <kbchar.h>

/*
 * This structure is indexed by scan code.
 * It contains all information needed by the
 * keyboard driver state machine (see kbtab.h
 * for definitions).
 */
typedef	struct	KEY		{
	unsigned	char	k_flag;
	unsigned	char	k_lower;
	unsigned	char	k_upper;
	unsigned	char	k_control;
}	KEY;

extern	KEY	ktab[];