1 /*------------------------------------------------------
2 //		Key translate table
3 //
4 // On modern keyboards it is common for ancillary keys
5 // to generate multi-byte codes.  This header file
6 // describes a table for translating the mult-byte
7 // codes into things understood by CP/M.
8 //
9 //-----------------------------------------------------*/
10 
11 struct _ci
12 {
13     BYTE
14         queue[128];
15     int
16 	size,
17 	index;
18 };
19 
20 extern int keyTrans(ui32 key, struct _ci *ci);
21 
22 extern int ktt_load(char *keyfile);
23 
24 extern char *ktt_name();
25 
26 extern int ktt_elements();
27 
28 enum special_keys
29 {
30     F1 = 0x0200, F2, F3, F4, F5, F6, F7, F8, F9, F10,
31     F11, F12, F13, F14, F15, F16, F17, F18, F19, F20,
32     Insert, Delete, Home, End, PageUp, PageDown,
33     Up, Down, Right, Left, NP5, ReverseTab,
34     SysRq = 0xFF,			/* jrs 2015-01-24 */
35     Ignore = 0xFFFF
36 };
37 
38 /* KT_UNICODE generates a warning.  Nevertheless, the value is correct.
39 // KT_LITERAL is a place-holder.  */
40 
41 enum key_modifiers
42 {
43     KT_UNICODE = 0x08000000,
44     KT_ALT     = 0x40000000,
45     KT_CONTROL = 0x20000000,
46     KT_SHIFT   = 0x10000000,
47     KT_LITERAL = 0x00000000
48 };
49 
50