|
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 - 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[];