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: };