Annotation of Net2/arch/amiga/dev/kbdmap.c, revision 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.