1 /************** Inferno Generic Scan Conversions ************/ 2 3 /* this file needs to be kept in sync with module/keyboard.m */ 4 5 enum { 6 Esc= 0x1b, 7 8 Spec= 0xe000, /* Special Function Keys, mapped to Unicode reserved range (E000-F8FF) */ 9 10 Shift= Spec|0x0, /* Shifter (Held and Toggle) Keys */ 11 View= Spec|0x10, /* View Keys */ 12 PF= Spec|0x20, /* num pad */ 13 KF= Spec|0x40, /* function keys */ 14 15 LShift= Shift|0, 16 RShift= Shift|1, 17 LCtrl= Shift|2, 18 RCtrl= Shift|3, 19 Caps= Shift|4, 20 Num= Shift|5, 21 Meta= Shift|6, 22 LAlt= Shift|7, 23 RAlt= Shift|8, 24 NShifts= 9, 25 26 Home= View|0, 27 End= View|1, 28 Up= View|2, 29 Down= View|3, 30 Left= View|4, 31 Right= View|5, 32 Pgup= View|6, 33 Pgdown= View|7, 34 BackTab= View|8, 35 36 Scroll= Spec|0x62, 37 Ins= Spec|0x63, 38 Del= Spec|0x64, 39 Print= Spec|0x65, 40 Pause= Spec|0x66, 41 Middle= Spec|0x67, 42 Break= Spec|0x66, 43 SysRq= Spec|0x69, 44 PwrOn= Spec|0x6c, 45 PwrOff= Spec|0x6d, 46 PwrLow= Spec|0x6e, 47 Latin= Spec|0x6f, 48 49 /* for German keyboard */ 50 German= Spec|0xf00, 51 52 Grave= German|0x1, 53 Acute= German|0x2, 54 Circumflex= German|0x3, 55 56 APP= Spec|0x200, /* for ALT application keys */ 57 58 No= -1, /* peter */ 59 }; 60 61