Annotation of Net2/arch/amiga/dev/kbdmap.c, revision 1.1.1.1

1.1       root        1: #include "kbdmap.h"
                      2: 
                      3: /* define a default keymap. This can be changed by keyboard ioctl's 
                      4:    (later at least..) */
                      5: 
                      6: /* mode shortcuts: */
                      7: #define        S KBD_MODE_STRING
                      8: #define DG (KBD_MODE_DEAD | KBD_MODE_GRAVE)
                      9: #define DA (KBD_MODE_DEAD | KBD_MODE_ACUTE)
                     10: #define DC (KBD_MODE_DEAD | KBD_MODE_CIRC)
                     11: #define DT (KBD_MODE_DEAD | KBD_MODE_TILDE)
                     12: #define DD (KBD_MODE_DEAD | KBD_MODE_DIER)
                     13: #define C KBD_MODE_CAPS
                     14: #define K KBD_MODE_KPAD
                     15: 
                     16: struct kbdmap kbdmap = {
                     17:        /* normal map */
                     18:        {
                     19:           0, '`',      /* 0x00 */
                     20:           0, '1',
                     21:           0, '2',
                     22:           0, '3',
                     23:           0, '4',
                     24:           0, '5',
                     25:           0, '6',
                     26:           0, '7',
                     27:           0, '8',      /* 0x08 */
                     28:           0, '9',
                     29:           0, '0',
                     30:           0, '-',
                     31:           0, '=',
                     32:           0, '\\',
                     33:           0, 0,
                     34:           K, '0',
                     35:           C, 'q',      /* 0x10 */
                     36:           C, 'w',
                     37:           C, 'e',
                     38:           C, 'r',
                     39:           C, 't',
                     40:           C, 'y',
                     41:           C, 'u',
                     42:           C, 'i',
                     43:           C, 'o',      /* 0x18 */
                     44:           C, 'p',
                     45:           0, '[',
                     46:           0, ']',
                     47:           0, 0,
                     48:           K, '1',
                     49:           K, '2',
                     50:           K, '3',
                     51:           C, 'a',      /* 0x20 */
                     52:           C, 's',
                     53:           C, 'd',
                     54:           C, 'f',
                     55:           C, 'g',
                     56:           C, 'h',
                     57:           C, 'j',
                     58:           C, 'k',
                     59:           C, 'l',      /* 0x28 */
                     60:           0, ';',
                     61:           0, '\'',
                     62:           0, 0,
                     63:           0, 0,
                     64:           K, '4',
                     65:           K, '5',
                     66:           K, '6',
                     67:           0, 0,        /* 0x30 */
                     68:           C, 'z',      
                     69:           C, 'x',
                     70:           C, 'c',
                     71:           C, 'v',
                     72:           C, 'b',
                     73:           C, 'n',
                     74:           C, 'm',
                     75:           0, ',',      /* 0x38 */
                     76:           0, '.',
                     77:           0, '/',
                     78:           0, 0,
                     79:           K, '.',
                     80:           K, '7',
                     81:           K, '8',
                     82:           K, '9',
                     83:           0, ' ',      /* 0x40 */
                     84:           0, DEL,      /* really BS, DEL & BS swapped */
                     85:           0, '\t',
                     86:           K, '\r',     /* enter */
                     87:           0, '\r',     /* return */
                     88:           0, ESC,
                     89:           0, '\b',     /* really DEL, BS & DEL swapped */
                     90:           0, 0,
                     91:           0, 0,        /* 0x48 */
                     92:           0, 0,
                     93:           K, '-',
                     94:           0, 0,
                     95:           S, 0x00,     /* now it gets hairy.. CRSR UP */
                     96:           S, 0x04,     /* CRSR DOWN */
                     97:           S, 0x08,     /* CRSR RIGHT */
                     98:           S, 0x0C,     /* CRSR LEFT */
                     99:           S, 0x10,     /* 0x50 F1 */
                    100:           S, 0x15,     /* F2 */
                    101:           S, 0x1A,     /* F3 */
                    102:           S, 0x1F,     /* F4 */
                    103:           S, 0x24,     /* F5 */
                    104:           S, 0x29,     /* F6 */
                    105:           S, 0x2E,     /* F7 */
                    106:           S, 0x33,     /* 0x58 F8 */
                    107:           S, 0x38,     /* F9 */
                    108:           S, 0x3D,     /* F10 */
                    109:           K, '(',
                    110:           K, ')',
                    111:           K, '/',
                    112:           K, '*',
                    113:           S, 0x42,     /* HELP */
                    114:        },
                    115: 
                    116:        /* shifted map */
                    117:        {
                    118:           0, '~',      /* 0x00 */
                    119:           0, '!',
                    120:           0, '@',
                    121:           0, '#',
                    122:           0, '$',
                    123:           0, '%',
                    124:           0, '^',
                    125:           0, '&',
                    126:           0, '*',      /* 0x08 */
                    127:           0, '(',
                    128:           0, ')',
                    129:           0, '_',
                    130:           0, '+',
                    131:           0, '|',
                    132:           0, 0,
                    133:           K, '0',
                    134:           C, 'Q',      /* 0x10 */
                    135:           C, 'W',
                    136:           C, 'E',
                    137:           C, 'R',
                    138:           C, 'T',
                    139:           C, 'Y',
                    140:           C, 'U',
                    141:           C, 'I',
                    142:           C, 'O',      /* 0x18 */
                    143:           C, 'P',
                    144:           0, '{',
                    145:           0, '}',
                    146:           0, 0,
                    147:           K, '1',
                    148:           K, '2',
                    149:           K, '3',
                    150:           C, 'A',      /* 0x20 */
                    151:           C, 'S',
                    152:           C, 'D',
                    153:           C, 'F',
                    154:           C, 'G',
                    155:           C, 'H',
                    156:           C, 'J',
                    157:           C, 'K',
                    158:           C, 'L',      /* 0x28 */
                    159:           0, ':',
                    160:           0, '\"',
                    161:           0, 0,
                    162:           0, 0,
                    163:           K, '4',
                    164:           K, '5',
                    165:           K, '6',
                    166:           0, 0,        /* 0x30 */
                    167:           C, 'Z',      
                    168:           C, 'X',
                    169:           C, 'C',
                    170:           C, 'V',
                    171:           C, 'B',
                    172:           C, 'N',
                    173:           C, 'M',
                    174:           0, '<',      /* 0x38 */
                    175:           0, '>',
                    176:           0, '?',
                    177:           0, 0,
                    178:           K, '.',
                    179:           K, '7',
                    180:           K, '8',
                    181:           K, '9',
                    182:           0, ' ',      /* 0x40 */
                    183:           0, DEL,      /* really BS, DEL & BS swapped */
                    184:           S, 0x99,     /* shift TAB */
                    185:           K, '\n',     /* enter */
                    186:           0, '\n',     /* return */
                    187:           0, ESC,
                    188:           0, '\b',     /* really DEL, BS & DEL swapped */
                    189:           0, 0,
                    190:           0, 0,        /* 0x48 */
                    191:           0, 0,
                    192:           K, '-',
                    193:           0, 0,
                    194:           S, 0x47,     /* shift CRSR UP */
                    195:           S, 0x4C,     /* shift CRSR DOWN */
                    196:           S, 0x51,     /* shift CRSR RIGHT */
                    197:           S, 0x57,     /* shift CRSR LEFT */
                    198:           S, 0x5D,     /* 0x50 shift F1 */
                    199:           S, 0x63,     /* shift F2 */
                    200:           S, 0x69,     /* shift F3 */
                    201:           S, 0x6F,     /* shift F4 */
                    202:           S, 0x75,     /* shift F5 */
                    203:           S, 0x7B,     /* shift F6 */
                    204:           S, 0x81,     /* shift F7 */
                    205:           S, 0x87,     /* 0x58 shift F8 */
                    206:           S, 0x8D,     /* shift F9 */
                    207:           S, 0x93,     /* shift F10 */
                    208:           K, '(',
                    209:           K, ')',
                    210:           K, '/',
                    211:           K, '*',
                    212:           S, 0x42,     /* HELP (no special shift code) */
                    213:        },
                    214: 
                    215: 
                    216:        /* alt map */
                    217:        {
                    218:           0, '`',      /* 0x00 */
                    219:           0, '�',
                    220:           0, '�',
                    221:           0, '�',
                    222:           0, '�',
                    223:           0, '�',
                    224:           0, '�',
                    225:           0, '�',
                    226:           0, '�',      /* 0x08 */
                    227:           0, '�',
                    228:           0, '�',
                    229:           0, '-',
                    230:           0, '=',
                    231:           0, '\\',
                    232:           0, 0,
                    233:           K, '0',
                    234:           C, '�',      /* 0x10 */
                    235:           0, '�',
                    236:           0, '�',
                    237:           0, '�',
                    238:           C, '�',
                    239:           0, '�',
                    240:           0, '�',
                    241:           0, '�',
                    242:           C, '�',      /* 0x18 */
                    243:           0, '�',
                    244:           0, '[',
                    245:           0, ']',
                    246:           0, 0,
                    247:           K, '1',
                    248:           K, '2',
                    249:           K, '3',
                    250:           C, '�',      /* 0x20 */
                    251:           0, '�',
                    252:           C, '�',
                    253:           DA, '�',
                    254:           DG, '`',
                    255:           DC, '^',
                    256:           DT, '~',
                    257:           DD, '�',
                    258:           0, '�',      /* 0x28 */
                    259:           0, ';',
                    260:           0, '\'',
                    261:           0, 0,
                    262:           0, 0,
                    263:           K, '4',
                    264:           K, '5',
                    265:           K, '6',
                    266:           0, 0,        /* 0x30 */
                    267:           0, '�',      
                    268:           0, '�',
                    269:           C, '�',
                    270:           0, '�',
                    271:           0, '�',
                    272:           0, '�',
                    273:           0, '�',
                    274:           0, ',',      /* 0x38 */
                    275:           0, '.',
                    276:           0, '/',
                    277:           0, 0,
                    278:           K, '.',
                    279:           K, '7',
                    280:           K, '8',
                    281:           K, '9',
                    282:           0, ' ',      /* 0x40 */
                    283:           0, DEL,      /* really BS, DEL & BS swapped */
                    284:           0, '\t',
                    285:           K, '\n',     /* enter */
                    286:           0, '\n',     /* return */
                    287:           S, 0x9d,     /* CSI */
                    288:           0, '\b',     /* really DEL, BS & DEL swapped */
                    289:           0, 0,
                    290:           0, 0,        /* 0x48 */
                    291:           0, 0,
                    292:           K, '-',
                    293:           0, 0,
                    294:           S, 0x00,     /* now it gets hairy.. CRSR UP */
                    295:           S, 0x04,     /* CRSR DOWN */
                    296:           S, 0x08,     /* CRSR RIGHT */
                    297:           S, 0x0C,     /* CRSR LEFT */
                    298:           S, 0x10,     /* 0x50 F1 */
                    299:           S, 0x15,     /* F2 */
                    300:           S, 0x1A,     /* F3 */
                    301:           S, 0x1F,     /* F4 */
                    302:           S, 0x24,     /* F5 */
                    303:           S, 0x29,     /* F6 */
                    304:           S, 0x2E,     /* F7 */
                    305:           S, 0x33,     /* 0x58 F8 */
                    306:           S, 0x38,     /* F9 */
                    307:           S, 0x3D,     /* F10 */
                    308:           K, '(',
                    309:           K, ')',
                    310:           K, '/',
                    311:           K, '*',
                    312:           S, 0x42,     /* HELP */
                    313:        },
                    314: 
                    315:        /* shift alt map */
                    316:        {
                    317:           0, '~',      /* 0x00 */
                    318:           0, '!',
                    319:           0, '@',
                    320:           0, '#',
                    321:           0, '$',
                    322:           0, '%',
                    323:           0, '^',
                    324:           0, '&',
                    325:           0, '*',      /* 0x08 */
                    326:           0, '(',
                    327:           0, ')',
                    328:           0, '_',
                    329:           0, '+',
                    330:           0, '|',
                    331:           0, 0,
                    332:           K, '0',
                    333:           C, '�',      /* 0x10 */
                    334:           0, '�',
                    335:           0, '�',
                    336:           0, '�',
                    337:           C, '�',
                    338:           0, '�',
                    339:           0, '�',
                    340:           0, '�',
                    341:           C, '�',      /* 0x18 */
                    342:           0, '�',
                    343:           0, '[',
                    344:           0, ']',
                    345:           0, 0,
                    346:           K, '1',
                    347:           K, '2',
                    348:           K, '3',
                    349:           C, '�',      /* 0x20 */
                    350:           0, '�',
                    351:           C, '�',
                    352:           DA, '�',
                    353:           DG, '`',
                    354:           DC, '^',
                    355:           DT, '~',
                    356:           DD, '�',
                    357:           0, '�',      /* 0x28 */
                    358:           0, ';',
                    359:           0, '\'',
                    360:           0, 0,
                    361:           0, 0,
                    362:           K, '4',
                    363:           K, '5',
                    364:           K, '6',
                    365:           0, 0,        /* 0x30 */
                    366:           0, '�',      
                    367:           0, '�',
                    368:           C, '�',
                    369:           0, '�',
                    370:           0, '�',
                    371:           0, '�',
                    372:           0, '�',
                    373:           0, ',',      /* 0x38 */
                    374:           0, '.',
                    375:           0, '/',
                    376:           0, 0,
                    377:           K, '.',
                    378:           K, '7',
                    379:           K, '8',
                    380:           K, '9',
                    381:           0, ' ',      /* 0x40 */
                    382:           0, DEL,      /* really BS, DEL & BS swapped */
                    383:           0, '\t',
                    384:           K, '\n',     /* enter */
                    385:           0, '\n',     /* return */
                    386:           S, 0x9d,     /* CSI */
                    387:           0, '\b',     /* really DEL, BS & DEL swapped */
                    388:           0, 0,
                    389:           0, 0,        /* 0x48 */
                    390:           0, 0,
                    391:           K, '-',
                    392:           0, 0,
                    393:           S, 0x00,     /* now it gets hairy.. CRSR UP */
                    394:           S, 0x04,     /* CRSR DOWN */
                    395:           S, 0x08,     /* CRSR RIGHT */
                    396:           S, 0x0C,     /* CRSR LEFT */
                    397:           S, 0x10,     /* 0x50 F1 */
                    398:           S, 0x15,     /* F2 */
                    399:           S, 0x1A,     /* F3 */
                    400:           S, 0x1F,     /* F4 */
                    401:           S, 0x24,     /* F5 */
                    402:           S, 0x29,     /* F6 */
                    403:           S, 0x2E,     /* F7 */
                    404:           S, 0x33,     /* 0x58 F8 */
                    405:           S, 0x38,     /* F9 */
                    406:           S, 0x3D,     /* F10 */
                    407:           K, '(',
                    408:           K, ')',
                    409:           K, '/',
                    410:           K, '*',
                    411:           S, 0x42,     /* HELP */
                    412:        },
                    413: 
                    414:        {          
                    415:          /* string table. If there's a better way to get the offsets into the
                    416:             above table, please tell me..
                    417:             
                    418:             NOTE: save yourself and others a lot of grief by *not* using
                    419:                   CSI == 0x9b, using the two-character sequence gives
                    420:                   much less trouble, especially in GNU-Emacs.. */
                    421:          
                    422:          3, ESC, '[', 'A',             /* 0x00: CRSR UP */
                    423:          3, ESC, '[', 'B',             /* 0x04: CRSR DOWN */
                    424:          3, ESC, '[', 'C',             /* 0x08: CRSR RIGHT */
                    425:          3, ESC, '[', 'D',             /* 0x0C: CRSR LEFT */
                    426:          4, ESC, '[', '0', '~',        /* 0x10: F1 */
                    427:          4, ESC, '[', '1', '~',        /* 0x15: F2 */
                    428:          4, ESC, '[', '2', '~',        /* 0x1A: F3 */
                    429:          4, ESC, '[', '3', '~',        /* 0x1F: F4 */
                    430:          4, ESC, '[', '4', '~',        /* 0x24: F5 */
                    431:          4, ESC, '[', '5', '~',        /* 0x29: F6 */
                    432:          4, ESC, '[', '6', '~',        /* 0x2E: F7 */
                    433:          4, ESC, '[', '7', '~',        /* 0x33: F8 */
                    434:          4, ESC, '[', '8', '~',        /* 0x38: F9 */
                    435:          4, ESC, '[', '9', '~',        /* 0x3D: F10 */
                    436:          4, ESC, '[', '?', '~',        /* 0x42: HELP */
                    437: 
                    438:          4, ESC, '[', 'T', '~',        /* 0x47: shift CRSR UP */
                    439:          4, ESC, '[', 'S', '~',        /* 0x4C: shift CRSR DOWN */
                    440:          5, ESC, '[', ' ', '@', '~',   /* 0x51: shift CRSR RIGHT */
                    441:          5, ESC, '[', ' ', 'A', '~',   /* 0x57: shift CRSR LEFT */
                    442:          5, ESC, '[', '1', '0', '~',   /* 0x5D: shift F1 */
                    443:          5, ESC, '[', '1', '1', '~',   /* 0x63: shift F2 */
                    444:          5, ESC, '[', '1', '2', '~',   /* 0x69: shift F3 */
                    445:          5, ESC, '[', '1', '3', '~',   /* 0x6F: shift F4 */
                    446:          5, ESC, '[', '1', '4', '~',   /* 0x75: shift F5 */
                    447:          5, ESC, '[', '1', '5', '~',   /* 0x7B: shift F6 */
                    448:          5, ESC, '[', '1', '6', '~',   /* 0x81: shift F7 */
                    449:          5, ESC, '[', '1', '7', '~',   /* 0x87: shift F8 */
                    450:          5, ESC, '[', '1', '8', '~',   /* 0x8D: shift F9 */
                    451:          5, ESC, '[', '1', '9', '~',   /* 0x93: shift F10 */
                    452:          3, ESC, '[', 'Z',             /* 0x99: shift TAB */
                    453:          2, ESC, '[',                  /* 0x9D: alt ESC == CSI */
                    454:        },
                    455: };
                    456: 
                    457: unsigned char acctable[KBD_NUM_ACC][64] = {
                    458:   {    "@�BCD�FGH�JKLMN�PQRST�VWXYZ[\\]^_"
                    459:        "`�bcd�fgh�jklmn�pqrst�vwxyz{|}~\177"}, /* KBD_ACC_GRAVE */
                    460:        
                    461:   {    "@�BCD�FGH�JKLMN�PQRST�VWXYZ[\\]^_"
                    462:        "`�bcd�fgh�jklmn�pqrst�vwxyz{|}~\177"}, /* KBD_ACC_ACUTE */
                    463:        
                    464:   {    "@�BCD�FGH�JKLMN�PQRST�VWXYZ[\\]^_"
                    465:        "`�bcd�fgh�jklmn�pqrst�vwxyz{|}~\177"}, /* KBD_ACC_CIRC */
                    466: 
                    467:   {    "@�BCDEFGHIJKLM��PQRSTUVWXYZ[\\]^_"
                    468:        "`�bcdefghijklm��pqrstuvwxyz{|}~\177"}, /* KBD_ACC_TILDE */
                    469:        
                    470:   {    "@�BCD�FGH�JKLMN�PQRST�VWXYZ[\\]^_"
                    471:        "`�bcd�fgh�jklmn�pqrst�vwxyz{|}~\177"}, /* KBD_ACC_DIER */
                    472: };
                    473: 
                    474:        

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.