|
|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1652 (0x674)
Types: TextFile
Notes: UNIX file
Names: »kbtab.h«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
└─⟦f4b8d8c84⟧ UNIX Filesystem
└─⟦this⟧ »hrtty/src/kbtab.h«
/*
* 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[];