1: /* Keymap for US MF-2 keyboard. */ 2: 3: u16_t keymap[NR_SCAN_CODES * MAP_COLS] = { 4: 5: /* scan-code !Shift Shift Alt1 Alt2 Alt+Sh Ctrl */ 6: /* ==================================================================== */ 7: /* 00 - none */ 0, 0, 0, 0, 0, 0, 8: /* 01 - ESC */ C('['), C('['), CA('['),CA('['),CA('['),C('['), 9: /* 02 - '1' */ '1', '!', A('1'), A('1'), A('!'), C('A'), 10: /* 03 - '2' */ '2', '@', A('2'), A('2'), A('@'), C('@'), 11: /* 04 - '3' */ '3', '#', A('3'), A('3'), A('#'), C('C'), 12: /* 05 - '4' */ '4', '$', A('4'), A('4'), A('$'), C('D'), 13: /* 06 - '5' */ '5', '%', A('5'), A('5'), A('%'), C('E'), 14: /* 07 - '6' */ '6', '^', A('6'), A('6'), A('^'), C('^'), 15: /* 08 - '7' */ '7', '&', A('7'), A('7'), A('&'), C('G'), 16: /* 09 - '8' */ '8', '*', A('8'), A('8'), A('*'), C('H'), 17: /* 10 - '9' */ '9', '(', A('9'), A('9'), A('('), C('I'), 18: /* 11 - '0' */ '0', ')', A('0'), A('0'), A(')'), C('@'), 19: /* 12 - '-' */ '-', '_', A('-'), A('-'), A('_'), C('_'), 20: /* 13 - '=' */ '=', '+', A('='), A('='), A('+'), C('@'), 21: /* 14 - BS */ C('H'), C('H'), CA('H'),CA('H'),CA('H'),0177, 22: /* 15 - TAB */ C('I'), C('I'), CA('I'),CA('I'),CA('I'),C('I'), 23: /* 16 - 'q' */ L('q'), 'Q', A('q'), A('q'), A('Q'), C('Q'), 24: /* 17 - 'w' */ L('w'), 'W', A('w'), A('w'), A('W'), C('W'), 25: /* 18 - 'e' */ L('e'), 'E', A('e'), A('e'), A('E'), C('E'), 26: /* 19 - 'r' */ L('r'), 'R', A('r'), A('r'), A('R'), C('R'), 27: /* 20 - 't' */ L('t'), 'T', A('t'), A('t'), A('T'), C('T'), 28: /* 21 - 'y' */ L('y'), 'Y', A('y'), A('y'), A('Y'), C('Y'), 29: /* 22 - 'u' */ L('u'), 'U', A('u'), A('u'), A('U'), C('U'), 30: /* 23 - 'i' */ L('i'), 'I', A('i'), A('i'), A('I'), C('I'), 31: /* 24 - 'o' */ L('o'), 'O', A('o'), A('o'), A('O'), C('O'), 32: /* 25 - 'p' */ L('p'), 'P', A('p'), A('p'), A('P'), C('P'), 33: /* 26 - '[' */ '[', '{', A('['), A('['), A('{'), C('['), 34: /* 27 - ']' */ ']', '}', A(']'), A(']'), A('}'), C(']'), 35: /* 28 - CR/LF */ C('M'), C('M'), CA('M'),CA('M'),CA('M'),C('J'), 36: /* 29 - Ctrl */ CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, 37: /* 30 - 'a' */ L('a'), 'A', A('a'), A('a'), A('A'), C('A'), 38: /* 31 - 's' */ L('s'), 'S', A('s'), A('s'), A('S'), C('S'), 39: /* 32 - 'd' */ L('d'), 'D', A('d'), A('d'), A('D'), C('D'), 40: /* 33 - 'f' */ L('f'), 'F', A('f'), A('f'), A('F'), C('F'), 41: /* 34 - 'g' */ L('g'), 'G', A('g'), A('g'), A('G'), C('G'), 42: /* 35 - 'h' */ L('h'), 'H', A('h'), A('h'), A('H'), C('H'), 43: /* 36 - 'j' */ L('j'), 'J', A('j'), A('j'), A('J'), C('J'), 44: /* 37 - 'k' */ L('k'), 'K', A('k'), A('k'), A('K'), C('K'), 45: /* 38 - 'l' */ L('l'), 'L', A('l'), A('l'), A('L'), C('L'), 46: /* 39 - ';' */ ';', ':', A(';'), A(';'), A(':'), C('@'), 47: /* 40 - '\'' */ '\'', '"', A('\''),A('\''),A('"'), C('@'), 48: /* 41 - '`' */ '`', '~', A('`'), A('`'), A('~'), C('@'), 49: /* 42 - l. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, 50: /* 43 - '\\' */ '\\', '|', A('\\'),A('\\'),A('|'), C('\\'), 51: /* 44 - 'z' */ L('z'), 'Z', A('z'), A('z'), A('Z'), C('Z'), 52: /* 45 - 'x' */ L('x'), 'X', A('x'), A('x'), A('X'), C('X'), 53: /* 46 - 'c' */ L('c'), 'C', A('c'), A('c'), A('C'), C('C'), 54: /* 47 - 'v' */ L('v'), 'V', A('v'), A('v'), A('V'), C('V'), 55: /* 48 - 'b' */ L('b'), 'B', A('b'), A('b'), A('B'), C('B'), 56: /* 49 - 'n' */ L('n'), 'N', A('n'), A('n'), A('N'), C('N'), 57: /* 50 - 'm' */ L('m'), 'M', A('m'), A('m'), A('M'), C('M'), 58: /* 51 - ',' */ ',', '<', A(','), A(','), A('<'), C('@'), 59: /* 52 - '.' */ '.', '>', A('.'), A('.'), A('>'), C('@'), 60: /* 53 - '/' */ '/', '?', A('/'), A('/'), A('?'), C('@'), 61: /* 54 - r. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, 62: /* 55 - '*' */ '*', '*', A('*'), A('*'), A('*'), C('@'), 63: /* 56 - ALT */ ALT, ALT, ALT, ALT, ALT, ALT, 64: /* 57 - ' ' */ ' ', ' ', A(' '), A(' '), A(' '), C('@'), 65: /* 58 - CapsLck */ CALOCK, CALOCK, CALOCK, CALOCK, CALOCK, CALOCK, 66: /* 59 - F1 */ F1, SF1, AF1, AF1, ASF1, CF1, 67: /* 60 - F2 */ F2, SF2, AF2, AF2, ASF2, CF2, 68: /* 61 - F3 */ F3, SF3, AF3, AF3, ASF3, CF3, 69: /* 62 - F4 */ F4, SF4, AF4, AF4, ASF4, CF4, 70: /* 63 - F5 */ F5, SF5, AF5, AF5, ASF5, CF5, 71: /* 64 - F6 */ F6, SF6, AF6, AF6, ASF6, CF6, 72: /* 65 - F7 */ F7, SF7, AF7, AF7, ASF7, CF7, 73: /* 66 - F8 */ F8, SF8, AF8, AF8, ASF8, CF8, 74: /* 67 - F9 */ F9, SF9, AF9, AF9, ASF9, CF9, 75: /* 68 - F10 */ F10, SF10, AF10, AF10, ASF10, CF10, 76: /* 69 - NumLock */ NLOCK, NLOCK, NLOCK, NLOCK, NLOCK, NLOCK, 77: /* 70 - ScrLock */ SLOCK, SLOCK, SLOCK, SLOCK, SLOCK, SLOCK, 78: /* 71 - Home */ HOME, '7', AHOME, AHOME, A('7'), CHOME, 79: /* 72 - CurUp */ UP, '8', AUP, AUP, A('8'), CUP, 80: /* 73 - PgUp */ PGUP, '9', APGUP, APGUP, A('9'), CPGUP, 81: /* 74 - '-' */ NMIN, '-', ANMIN, ANMIN, A('-'), CNMIN, 82: /* 75 - Left */ LEFT, '4', ALEFT, ALEFT, A('4'), CLEFT, 83: /* 76 - MID */ MID, '5', AMID, AMID, A('5'), CMID, 84: /* 77 - Right */ RIGHT, '6', ARIGHT, ARIGHT, A('6'), CRIGHT, 85: /* 78 - '+' */ PLUS, '+', APLUS, APLUS, A('+'), CPLUS, 86: /* 79 - End */ END, '1', AEND, AEND, A('1'), CEND, 87: /* 80 - Down */ DOWN, '2', ADOWN, ADOWN, A('2'), CDOWN, 88: /* 81 - PgDown */ PGDN, '3', APGDN, APGDN, A('3'), CPGDN, 89: /* 82 - Insert */ INSRT, '0', AINSRT, AINSRT, A('0'), CINSRT, 90: /* 83 - Delete */ 0177, '.', A(0177),A(0177),A('.'), 0177, 91: /* 84 - Enter */ C('M'), C('M'), CA('M'),CA('M'),CA('M'),C('J'), 92: /* 85 - ??? */ 0, 0, 0, 0, 0, 0, 93: /* 86 - ??? */ '<', '>', A('<'), A('|'), A('>'), C('@'), 94: /* 87 - F11 */ F11, SF11, AF11, AF11, ASF11, CF11, 95: /* 88 - F12 */ F12, SF12, AF12, AF12, ASF12, CF12, 96: /* 89 - ??? */ 0, 0, 0, 0, 0, 0, 97: /* 90 - ??? */ 0, 0, 0, 0, 0, 0, 98: /* 91 - ??? */ 0, 0, 0, 0, 0, 0, 99: /* 92 - ??? */ 0, 0, 0, 0, 0, 0, 100: /* 93 - ??? */ 0, 0, 0, 0, 0, 0, 101: /* 94 - ??? */ 0, 0, 0, 0, 0, 0, 102: /* 95 - ??? */ 0, 0, 0, 0, 0, 0, 103: /* 96 - EXT_KEY */ EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY, 104: /* 97 - ??? */ 0, 0, 0, 0, 0, 0, 105: /* 98 - ??? */ 0, 0, 0, 0, 0, 0, 106: /* 99 - ??? */ 0, 0, 0, 0, 0, 0, 107: /*100 - ??? */ 0, 0, 0, 0, 0, 0, 108: /*101 - ??? */ 0, 0, 0, 0, 0, 0, 109: /*102 - ??? */ 0, 0, 0, 0, 0, 0, 110: /*103 - ??? */ 0, 0, 0, 0, 0, 0, 111: /*104 - ??? */ 0, 0, 0, 0, 0, 0, 112: /*105 - ??? */ 0, 0, 0, 0, 0, 0, 113: /*106 - ??? */ 0, 0, 0, 0, 0, 0, 114: /*107 - ??? */ 0, 0, 0, 0, 0, 0, 115: /*108 - ??? */ 0, 0, 0, 0, 0, 0, 116: /*109 - ??? */ 0, 0, 0, 0, 0, 0, 117: /*110 - ??? */ 0, 0, 0, 0, 0, 0, 118: /*111 - ??? */ 0, 0, 0, 0, 0, 0, 119: /*112 - ??? */ 0, 0, 0, 0, 0, 0, 120: /*113 - ??? */ 0, 0, 0, 0, 0, 0, 121: /*114 - ??? */ 0, 0, 0, 0, 0, 0, 122: /*115 - ??? */ 0, 0, 0, 0, 0, 0, 123: /*116 - ??? */ 0, 0, 0, 0, 0, 0, 124: /*117 - ??? */ 0, 0, 0, 0, 0, 0, 125: /*118 - ??? */ 0, 0, 0, 0, 0, 0, 126: /*119 - ??? */ 0, 0, 0, 0, 0, 0, 127: /*120 - ??? */ 0, 0, 0, 0, 0, 0, 128: /*121 - ??? */ 0, 0, 0, 0, 0, 0, 129: /*122 - ??? */ 0, 0, 0, 0, 0, 0, 130: /*123 - ??? */ 0, 0, 0, 0, 0, 0, 131: /*124 - ??? */ 0, 0, 0, 0, 0, 0, 132: /*125 - ??? */ 0, 0, 0, 0, 0, 0, 133: /*126 - ??? */ 0, 0, 0, 0, 0, 0, 134: /*127 - ??? */ 0, 0, 0, 0, 0, 0 135: };