1 1.5 chopps /* 2 1.5 chopps * $Id: kbdmap.h,v 1.5 1994/02/11 07:01:57 chopps Exp $ 3 1.5 chopps */ 4 1.5 chopps 5 1.1 mw #define NUL 0 6 1.1 mw #define SOH 1 7 1.1 mw #define STX 2 8 1.1 mw #define ETX 3 9 1.1 mw #define EOT 4 10 1.1 mw #define ENQ 5 11 1.1 mw #define ACK 6 12 1.1 mw #define BEL 7 13 1.1 mw #define BS 8 14 1.1 mw #define HT 9 15 1.1 mw #define LF 10 16 1.1 mw #define VT 11 17 1.1 mw #define FF 12 18 1.1 mw #define CR 13 19 1.1 mw #define SO 14 20 1.1 mw #define SI 15 21 1.1 mw #define DLE 16 22 1.1 mw #define DC1 17 23 1.1 mw #define DC2 18 24 1.1 mw #define DC3 19 25 1.1 mw #define DC4 20 26 1.1 mw #define NAK 21 27 1.1 mw #define SYN 22 28 1.1 mw #define ETB 23 29 1.1 mw #define CAN 24 30 1.1 mw #define EM 25 31 1.1 mw #define SUB 26 32 1.1 mw #define ESC 27 33 1.1 mw #define FS 28 34 1.1 mw #define GS 29 35 1.1 mw #define RS 30 36 1.1 mw #define US 31 37 1.1 mw #define DEL 127 38 1.1 mw #define IND 132 39 1.1 mw #define NEL 133 40 1.1 mw #define SSA 134 41 1.1 mw #define ESA 135 42 1.1 mw #define HTS 136 43 1.1 mw #define HTJ 137 44 1.1 mw #define VTS 138 45 1.1 mw #define PLD 139 46 1.1 mw #define PLU 140 47 1.1 mw #define RI 141 48 1.1 mw #define SS2 142 49 1.1 mw #define SS3 143 50 1.1 mw #define DCS 144 51 1.1 mw #define PU1 145 52 1.1 mw #define PU2 146 53 1.1 mw #define STS 147 54 1.1 mw #define CCH 148 55 1.1 mw #define MW 149 56 1.1 mw #define SPA 150 57 1.1 mw #define EPA 151 58 1.1 mw #define CSI 155 59 1.1 mw #define ST 156 60 1.1 mw #define OSC 157 61 1.1 mw #define PM 158 62 1.1 mw #define APC 159 63 1.1 mw 64 1.1 mw 65 1.1 mw /* a normal Amiga keyboard has 0x60 `normal' keys, plus modifier keys that 66 1.1 mw don't appear in the keymap */ 67 1.1 mw #define KBD_NUM_KEYS 0x60 68 1.1 mw 69 1.1 mw /* size of string table */ 70 1.1 mw #define KBD_STRTAB_SIZE 255 71 1.1 mw 72 1.1 mw /* for dead keys, index into acctable */ 73 1.1 mw #define KBD_ACC_GRAVE 0 74 1.1 mw #define KBD_ACC_ACUTE 1 75 1.1 mw #define KBD_ACC_CIRC 2 76 1.1 mw #define KBD_ACC_TILDE 3 77 1.1 mw #define KBD_ACC_DIER 4 78 1.1 mw #define KBD_NUM_ACC 5 79 1.1 mw 80 1.1 mw 81 1.1 mw struct key { 82 1.1 mw unsigned char mode; /* see possible values below */ 83 1.1 mw unsigned char code; 84 1.1 mw }; 85 1.1 mw 86 1.1 mw #define KBD_MODE_STRING (1<<0) /* code is index into strings[] */ 87 1.1 mw #define KBD_MODE_DEAD (1<<1) /* acc-index in upper nibble, code = plain acc */ 88 1.1 mw #define KBD_MODE_CAPS (1<<2) /* key is capsable. Only used in non-shifted maps */ 89 1.1 mw #define KBD_MODE_KPAD (1<<3) /* key is on keypad */ 90 1.1 mw #define KBD_MODE_GRAVE (KBD_ACC_GRAVE << 4) 91 1.1 mw #define KBD_MODE_ACUTE (KBD_ACC_ACUTE << 4) 92 1.1 mw #define KBD_MODE_CIRC (KBD_ACC_CIRC << 4) 93 1.1 mw #define KBD_MODE_TILDE (KBD_ACC_TILDE << 4) 94 1.1 mw #define KBD_MODE_DIER (KBD_ACC_DIER << 4) 95 1.1 mw #define KBD_MODE_ACCENT(m) ((m) >> 4) /* get accent from mode */ 96 1.1 mw #define KBD_MODE_ACCMASK (0xf0) 97 1.1 mw 98 1.1 mw struct kbdmap { 99 1.1 mw struct key keys[KBD_NUM_KEYS], 100 1.1 mw shift_keys[KBD_NUM_KEYS], 101 1.1 mw alt_keys[KBD_NUM_KEYS], 102 1.1 mw alt_shift_keys[KBD_NUM_KEYS]; 103 1.1 mw unsigned char strings[KBD_STRTAB_SIZE]; 104 1.1 mw }; 105 1.1 mw 106 1.1 mw 107 1.1 mw #ifdef KERNEL 108 1.1 mw /* XXX: ITE interface */ 109 1.3 mw extern struct kbdmap kbdmap, ascii_kbdmap; 110 1.1 mw extern unsigned char acctable[KBD_NUM_ACC][64]; 111 1.1 mw #endif 112