Annotation of uae/src/keymap/quartz_rawkeys.c, revision 1.1

1.1     ! root        1:  /*
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   *
        !             4:   * Support for mapping Quartz keycodes to platform-independent
        !             5:   * UAE key codes.
        !             6:   *
        !             7:   * Copyright 2004 Richard Drummond
        !             8:   */
        !             9: 
        !            10: #if defined __APPLE__
        !            11: 
        !            12: #include "sysconfig.h"
        !            13: #include "sysdeps.h"
        !            14: 
        !            15: #include "options.h"
        !            16: #include "inputdevice.h"
        !            17: #include "keymap.h"
        !            18: #include "keymap_common.h"
        !            19: 
        !            20: /*
        !            21:  * MacOS raw key codes
        !            22:  */
        !            23: #define RAWKEY_ESCAPE          53
        !            24: 
        !            25: #define RAWKEY_F1              122
        !            26: #define RAWKEY_F2              120
        !            27: #define RAWKEY_F3              99
        !            28: #define RAWKEY_F4              118
        !            29: #define RAWKEY_F5              96
        !            30: #define RAWKEY_F6              97
        !            31: #define RAWKEY_F7              98
        !            32: #define RAWKEY_F8              100
        !            33: #define RAWKEY_F9              101
        !            34: #define RAWKEY_F10             109
        !            35: #define RAWKEY_F11             103
        !            36: #define RAWKEY_F12             111
        !            37: 
        !            38: #define RAWKEY_PRINTSCR                105
        !            39: #define RAWKEY_SCROLL_LOCK      107
        !            40: #define RAWKEY_PAUSE            113
        !            41: 
        !            42: #define RAWKEY_1               18
        !            43: #define RAWKEY_2               19
        !            44: #define RAWKEY_3               20
        !            45: #define RAWKEY_4               21
        !            46: #define RAWKEY_5               23
        !            47: #define RAWKEY_6               22
        !            48: #define RAWKEY_7               26
        !            49: #define RAWKEY_8               28
        !            50: #define RAWKEY_9               25
        !            51: #define RAWKEY_0               29
        !            52: 
        !            53: #define RAWKEY_TAB             48
        !            54: #define RAWKEY_ENTER           36
        !            55: #define RAWKEY_BACKSPACE       51
        !            56: #define RAWKEY_SPACE            49
        !            57: 
        !            58: #define RAWKEY_A               0
        !            59: #define RAWKEY_B               11
        !            60: #define RAWKEY_C               8
        !            61: #define RAWKEY_D               2
        !            62: #define RAWKEY_E               14
        !            63: #define RAWKEY_F               3
        !            64: #define RAWKEY_G               5
        !            65: #define RAWKEY_H               4
        !            66: #define RAWKEY_I               34
        !            67: #define RAWKEY_J               38
        !            68: #define RAWKEY_K               40
        !            69: #define RAWKEY_L               37
        !            70: #define RAWKEY_M               46
        !            71: #define RAWKEY_N               45
        !            72: #define RAWKEY_O               31
        !            73: #define RAWKEY_P               35
        !            74: #define RAWKEY_Q               12
        !            75: #define RAWKEY_R               15
        !            76: #define RAWKEY_S               1
        !            77: #define RAWKEY_T               17
        !            78: #define RAWKEY_U               32
        !            79: #define RAWKEY_V               9
        !            80: #define RAWKEY_W               13
        !            81: #define RAWKEY_X               7
        !            82: #define RAWKEY_Y               16
        !            83: #define RAWKEY_Z               6
        !            84: 
        !            85: #define RAWKEY_MINUS           27
        !            86: #define RAWKEY_EQUALS          24
        !            87: #define RAWKEY_LEFTBRACKET     33
        !            88: #define RAWKEY_RIGHTBRACKET    30
        !            89: #define RAWKEY_BACKSLASH       42
        !            90: #define RAWKEY_SEMICOLON       41
        !            91: #define RAWKEY_SINGLEQUOTE     39
        !            92: #define RAWKEY_COMMA           43
        !            93: #define RAWKEY_PERIOD          47
        !            94: #define RAWKEY_SLASH           44
        !            95: #define RAWKEY_GRAVE           50
        !            96: #define RAWKEY_LTGT            10
        !            97: 
        !            98: #define RAWKEY_NUMPAD_1                83
        !            99: #define RAWKEY_NUMPAD_2                84
        !           100: #define RAWKEY_NUMPAD_3                85
        !           101: #define RAWKEY_NUMPAD_4                86
        !           102: #define RAWKEY_NUMPAD_5                87
        !           103: #define RAWKEY_NUMPAD_6                88
        !           104: #define RAWKEY_NUMPAD_7                89
        !           105: #define RAWKEY_NUMPAD_8                91
        !           106: #define RAWKEY_NUMPAD_9                92
        !           107: #define RAWKEY_NUMPAD_0                82
        !           108: #define RAWKEY_NUMPAD_EQUALS   81
        !           109: #define RAWKEY_NUMPAD_DIVIDE   75
        !           110: #define RAWKEY_NUMPAD_MULTIPLY 67
        !           111: #define RAWKEY_NUMPAD_MINUS    78
        !           112: #define RAWKEY_NUMPAD_PLUS     69
        !           113: #define RAWKEY_NUMPAD_PERIOD   65
        !           114: #define RAWKEY_NUMPAD_ENTER    76
        !           115: #define RAWKEY_NUMLOCK         71
        !           116: 
        !           117: #define RAWKEY_INSERT          114
        !           118: #define RAWKEY_DELETE          117
        !           119: #define RAWKEY_HOME            115
        !           120: #define RAWKEY_END             119
        !           121: #define RAWKEY_PAGEUP          116
        !           122: #define RAWKEY_PAGEDOWN                121
        !           123: 
        !           124: #define RAWKEY_CURSOR_UP       126
        !           125: #define RAWKEY_CURSOR_DOWN     125
        !           126: #define RAWKEY_CURSOR_LEFT     123
        !           127: #define RAWKEY_CURSOR_RIGHT    124
        !           128: 
        !           129: /*
        !           130:  * MacOS X support for modifier keys is a bit iffy.
        !           131:  *
        !           132:  * Under SDL (up to 1.2.7 anyway) my ADB keyboard, doesn't
        !           133:  * report key codes for modifier keys. Thus we need the
        !           134:  * modifier hack (see SDL gfx driver) to generate raw key
        !           135:  * codes from modifier presses.
        !           136:  *
        !           137:  * Also, unless you have SDL 1.2.8 and OS 10.3, left and right
        !           138:  * keys are differentiated. On some keyboards they'll never
        !           139:  * be differentiated.
        !           140:  */
        !           141: #define RAWKEY_LEFT_CTRL       59
        !           142: #define RAWKEY_LEFT_SHIFT      56
        !           143: #define RAWKEY_LEFT_ALT                58
        !           144: #define RAWKEY_LEFT_SUPER      55
        !           145: #define RAWKEY_RIGHT_SUPER     54
        !           146: #define RAWKEY_RIGHT_ALT       61
        !           147: #define RAWKEY_RIGHT_SHIFT     60
        !           148: #define RAWKEY_RIGHT_CTRL      62
        !           149: #define RAWKEY_CAPSLOCK                57
        !           150: 
        !           151: #define RAWKEY_POWER            127
        !           152: 
        !           153: /*
        !           154:  * Mapping from raw key codes to UAE key codes
        !           155:  */
        !           156: const struct uaekey_hostmap quartz_keymap[] =
        !           157: {
        !           158:     {RAWKEYS_COMMON},
        !           159: 
        !           160:     {RAWKEY_F11,               UAEKEY_F11},
        !           161:     {RAWKEY_F12,               UAEKEY_F12},
        !           162: 
        !           163:     {RAWKEY_PRINTSCR,          UAEKEY_PRINTSCR},
        !           164:     {RAWKEY_SCROLL_LOCK,       UAEKEY_SCROLL_LOCK},
        !           165:     {RAWKEY_PAUSE,             UAEKEY_PAUSE},
        !           166: 
        !           167:     {RAWKEY_NUMPAD_EQUALS,     UAEKEY_NUMPAD_EQUALS},
        !           168: 
        !           169:     {RAWKEY_POWER,             UAEKEY_POWER},
        !           170: 
        !           171:     {RAWKEYS_END}
        !           172: };
        !           173: 
        !           174: /*
        !           175:  * Mapping of uae modifier key codes to Quartz modifier keys
        !           176:  */
        !           177: const int quartz_modkeytable[] = {
        !           178:     /* UAEMODKEY_LSHIFT */     RAWKEY_LEFT_SHIFT,
        !           179:     /* UAEMODKEY_LCTRL */      RAWKEY_LEFT_CTRL,
        !           180:     /* UAEMODKEY_LALT */       RAWKEY_LEFT_ALT,
        !           181:     /* UAEMODKEY_LSUPER */     RAWKEY_LEFT_SUPER,
        !           182:     /* UAEMODKEY_RSUPER */     RAWKEY_RIGHT_SUPER,
        !           183:     /* UAEMODKEY_RALT */       RAWKEY_RIGHT_ALT,
        !           184:     /* UAEMODKEY_RCTRL */      RAWKEY_RIGHT_CTRL,
        !           185:     /* UAEMODKEY_RSHIFT */     RAWKEY_RIGHT_SHIFT,
        !           186:     /* UAEMODKEY_CAPSLOCK */   RAWKEY_CAPSLOCK
        !           187: };
        !           188: 
        !           189: 
        !           190: /*
        !           191:  * Hot-key sequences
        !           192:  */
        !           193: 
        !           194: /*
        !           195:  * F12 is used to eject a CD-ROM on OS X. Don't use
        !           196:  * it as the initiator for control seqeuences.
        !           197:  */
        !           198: #define HOTKEY_MODIFIER                RAWKEY_F11
        !           199: 
        !           200: #include "hotkeys.h"
        !           201: #include "hotkeys_common.h"
        !           202: 
        !           203: struct uae_hotkeyseq quartz_hotkeys[] =
        !           204: {
        !           205:      { DEFAULT_HOTKEYS },
        !           206:      { HOTKEYS_END }
        !           207: };
        !           208: 
        !           209: #endif

unix.superglobalmegacorp.com

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