/* Copyright 1995 by Abacus Research and * Development, Inc. All rights reserved. */ #if !defined (OMIT_RCSID_STRINGS) char ROMlib_rcsid_ibm_keycodes[] = "$Id: ibm_keycodes.c 63 2004-12-24 18:19:43Z ctm $"; #endif #include "rsys/common.h" #include "rsys/keyboard.h" #if defined (MSDOS) || defined (EVENT_SVGALIB) || defined (CYGWIN32) || (defined (SDL) && (defined (LINUX) || defined (MACOSX))) unsigned char ibm_virt_to_mac_virt[] = { 0xFF, /* unused 0x00 */ 0x35, /* ESC 0x01 */ 0x12, /* '1' 0x02 */ 0x13, /* '2' 0x03 */ 0x14, /* '3' 0x04 */ 0x15, /* '4' 0x05 */ 0x17, /* '5' 0x06 */ 0x16, /* '6' 0x07 */ 0x1A, /* '7' 0x08 */ 0x1C, /* '8' 0x09 */ 0x19, /* '9' 0x0a */ 0x1D, /* '0' 0x0b */ 0x1B, /* '-' 0x0c */ 0x18, /* '=' 0x0d */ 0x33, /* BACKSPACE 0x0e */ 0x30, /* TAB 0x0f */ 0x0C, /* 'Q' 0x10 */ 0x0D, /* 'W' 0x11 */ 0x0E, /* 'E' 0x12 */ 0x0F, /* 'R' 0x13 */ 0x11, /* 'T' 0x14 */ 0x10, /* 'Y' 0x15 */ 0x20, /* 'U' 0x16 */ 0x22, /* 'I' 0x17 */ 0x1F, /* 'O' 0x18 */ 0x23, /* 'P' 0x19 */ 0x21, /* '[' 0x1a */ 0x1E, /* ']' 0x1b */ 0x24, /* ENTER 0x1c */ MKV_LEFTCNTL, /* 0x1d */ 0x00, /* 'A' 0x1e */ 0x01, /* 'S' 0x1f */ 0x02, /* 'D' 0x20 */ 0x03, /* 'F' 0x21 */ 0x05, /* 'G' 0x22 */ 0x04, /* 'H' 0x23 */ 0x26, /* 'J' 0x24 */ 0x28, /* 'K' 0x25 */ 0x25, /* 'L' 0x26 */ 0x29, /* ';' 0x27 */ 0x27, /* ''' 0x28 */ 0x32, /* '`' 0x29 */ MKV_LEFTSHIFT,/* 0x2a */ 0x2A, /* '\' 0x2b */ 0x06, /* 'Z' 0x2c */ 0x07, /* 'X' 0x2d */ 0x08, /* 'C' 0x2e */ 0x09, /* 'V' 0x2f */ 0x0B, /* 'B' 0x30 */ 0x2D, /* 'N' 0x31 */ 0x2E, /* 'M' 0x32 */ 0x2B, /* ',' 0x33 */ 0x2F, /* '.' 0x34 */ 0x2C, /* '/' 0x35 */ MKV_RIGHTSHIFT, /* 0x36 */ 0x4B, /* '*' 0x37 NUMERIC KEYPAD NOTE: '/' on Mac Keyboard*/ MKV_CLOVER, /* unused 0x38 */ 0x31, /* ' ' 0x39 */ MKV_CAPS, /* 0x3a */ MKV_F1, /* unused 0x3b */ MKV_F2, /* unused 0x3c */ MKV_F3, /* unused 0x3d */ MKV_F4, /* unused 0x3e */ MKV_F5, /* unused 0x3f */ MKV_F6, /* unused 0x40 */ MKV_F7, /* unused 0x41 */ MKV_F8, /* unused 0x42 */ MKV_F9, /* unused 0x43 */ MKV_F10, /* unused 0x44 */ 0x47, /* NUM-LOCK 0x45 NUMERIC KEYPAD NOTE: CLEAR on Mac Keyboard */ MKV_SCROLL_LOCK, /* 0x46 */ 0x59, /* '7' 0x47 NUMERIC KEYPAD */ 0x5B, /* '8' 0x48 NUMERIC KEYPAD */ 0x5C, /* '9' 0x49 NUMERIC KEYPAD */ 0x43, /* '-' 0x4a NUMERIC KEYPAD NOTE: '*' on Mac Keyboard */ 0x56, /* '4' 0x4b NUMERIC KEYPAD */ 0x57, /* '5' 0x4c NUMERIC KEYPAD */ 0x58, /* '6' 0x4d NUMERIC KEYPAD */ 0x4E, /* '+' 0x4e NUMERIC KEYPAD NOTE: '-' on Mac Keyboard */ 0x53, /* '1' 0x4f NUMERIC KEYPAD */ 0x54, /* '2' 0x50 NUMERIC KEYPAD */ 0x55, /* '3' 0x51 NUMERIC KEYPAD */ 0x52, /* '0' 0x52 NUMERIC KEYPAD */ 0x41, /* '.' 0x53 NUMERIC KEYPAD */ 0xFF, /* unused 0x54 */ 0xFF, /* unused 0x55 */ 0xFF, /* unused 0x56 */ MKV_F11, /* unused 0x57 */ MKV_F12, /* unused 0x58 */ 0xFF, /* unused 0x59 */ 0xFF, /* unused 0x5A */ 0xFF, /* unused 0x5B */ 0xFF, /* unused 0x5C */ 0xFF, /* unused 0x5D */ 0xFF, /* unused 0x5E */ 0xFF, /* unused 0x5F */ MKV_NUMENTER, /* 0x60 */ MKV_RIGHTCNTL, /* unused 0x61 */ MKV_NUMEQUAL, /* 0x62 */ MKV_PRINT_SCREEN, /* 0x63 */ MKV_LEFTOPTION, /* 0x64 */ 0x7D, /* down arrow 0x65 NUMERIC KEYPAD */ MKV_HOME, /* 0x66 */ MKV_UPARROW, /* 0x67 */ MKV_PAGEUP,/* 0x68 */ MKV_LEFTARROW, /* unused 0x69 */ MKV_RIGHTARROW, /* unused 0x6A */ MKV_END, /* unused 0x6B */ MKV_DOWNARROW, /* 0x6C */ MKV_PAGEDOWN, /* 0x6D (SVGAlib) */ MKV_HELP, /* 0x6E */ MKV_DELFORWARD, /* 0x6F */ 0xFF, /* unused 0x70 */ 0xFF, /* unused 0x71 */ 0xFF, /* unused 0x72 */ 0xFF, /* unused 0x73 */ 0xFF, /* unused 0x74 */ 0xFF, /* unused 0x75 */ MKV_PAGEDOWN, /* 0x76 (remapped in dosevents.c) */ MKV_PAUSE, /* 0x77 */ }; #endif