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