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