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

1.1     ! root        1:  /*
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   *
        !             4:   * Support for mapping raw keys codes to platform-independent
        !             5:   * UAE key codes on AmigaOS and clones.
        !             6:   *
        !             7:   * Copyright 2004-2005 Richard Drummond
        !             8:   */
        !             9: 
        !            10: #include "sysconfig.h"
        !            11: #include "sysdeps.h"
        !            12: 
        !            13: #ifdef TARGET_AMIGAOS
        !            14: 
        !            15: #include "options.h"
        !            16: #include "inputdevice.h"
        !            17: #include "keymap.h"
        !            18: #include "keymap_common.h"
        !            19: 
        !            20: /*
        !            21:  * Raw scan codes
        !            22:  */
        !            23: 
        !            24: /* 'Classic' Amiga keys */
        !            25: 
        !            26: #define RAWKEY_ESCAPE          0x45
        !            27: 
        !            28: #define RAWKEY_F1              0x50
        !            29: #define RAWKEY_F2              0x51
        !            30: #define RAWKEY_F3              0x52
        !            31: #define RAWKEY_F4              0x53
        !            32: #define RAWKEY_F5              0x54
        !            33: #define RAWKEY_F6              0x55
        !            34: #define RAWKEY_F7              0x56
        !            35: #define RAWKEY_F8              0x57
        !            36: #define RAWKEY_F9              0x58
        !            37: #define RAWKEY_F10             0x59
        !            38: 
        !            39: #define RAWKEY_1               0x01
        !            40: #define RAWKEY_2               0x02
        !            41: #define RAWKEY_3               0x03
        !            42: #define RAWKEY_4               0x04
        !            43: #define RAWKEY_5               0x05
        !            44: #define RAWKEY_6               0x06
        !            45: #define RAWKEY_7               0x07
        !            46: #define RAWKEY_8               0x08
        !            47: #define RAWKEY_9               0x09
        !            48: #define RAWKEY_0               0x0A
        !            49: 
        !            50: #define RAWKEY_TAB             0x42
        !            51: #define RAWKEY_ENTER           0x44
        !            52: #define RAWKEY_BACKSPACE       0x41
        !            53: #define RAWKEY_SPACE           0x40
        !            54: 
        !            55: #define RAWKEY_A               0x20
        !            56: #define RAWKEY_B               0x35
        !            57: #define RAWKEY_C               0x33
        !            58: #define RAWKEY_D               0x22
        !            59: #define RAWKEY_E               0x12
        !            60: #define RAWKEY_F               0x23
        !            61: #define RAWKEY_G               0x24
        !            62: #define RAWKEY_H               0x25
        !            63: #define RAWKEY_I               0x17
        !            64: #define RAWKEY_J               0x26
        !            65: #define RAWKEY_K               0x27
        !            66: #define RAWKEY_L               0x28
        !            67: #define RAWKEY_M               0x37
        !            68: #define RAWKEY_N               0x36
        !            69: #define RAWKEY_O               0x18
        !            70: #define RAWKEY_P               0x19
        !            71: #define RAWKEY_Q               0x10
        !            72: #define RAWKEY_R               0x13
        !            73: #define RAWKEY_S               0x21
        !            74: #define RAWKEY_T               0x14
        !            75: #define RAWKEY_U               0x16
        !            76: #define RAWKEY_V               0x34
        !            77: #define RAWKEY_W               0x11
        !            78: #define RAWKEY_X               0x32
        !            79: #define RAWKEY_Y               0x15
        !            80: #define RAWKEY_Z               0x31
        !            81: 
        !            82: #define RAWKEY_MINUS           0x0B
        !            83: #define RAWKEY_EQUALS          0x0C
        !            84: #define RAWKEY_LEFTBRACKET     0x1A
        !            85: #define RAWKEY_RIGHTBRACKET    0x1B
        !            86: #define RAWKEY_BACKSLASH       0x0D
        !            87: #define RAWKEY_SEMICOLON       0x29
        !            88: #define RAWKEY_SINGLEQUOTE     0x2A
        !            89: #define RAWKEY_COMMA           0x38
        !            90: #define RAWKEY_PERIOD          0x39
        !            91: #define RAWKEY_SLASH           0x3A
        !            92: #define RAWKEY_GRAVE           0x00
        !            93: #define RAWKEY_LTGT            0x30
        !            94: 
        !            95: #define RAWKEY_NUMPAD_1                0x1D
        !            96: #define RAWKEY_NUMPAD_2                0x1E
        !            97: #define RAWKEY_NUMPAD_3                0x1F
        !            98: #define RAWKEY_NUMPAD_4                0x2D
        !            99: #define RAWKEY_NUMPAD_5                0x2E
        !           100: #define RAWKEY_NUMPAD_6                0x2F
        !           101: #define RAWKEY_NUMPAD_7                0x3D
        !           102: #define RAWKEY_NUMPAD_8                0x3E
        !           103: #define RAWKEY_NUMPAD_9                0x3F
        !           104: #define RAWKEY_NUMPAD_0                0x0F
        !           105: 
        !           106: #define RAWKEY_NUMPAD_LPAREN    0x5A
        !           107: #define RAWKEY_NUMPAD_RPAREN    0x5B
        !           108: 
        !           109: #define RAWKEY_NUMPAD_DIVIDE   0x5C
        !           110: #define RAWKEY_NUMPAD_MULTIPLY 0x5D
        !           111: #define RAWKEY_NUMPAD_MINUS    0x4A
        !           112: #define RAWKEY_NUMPAD_PLUS     0x5E
        !           113: #define RAWKEY_NUMPAD_PERIOD   0x3C
        !           114: #define RAWKEY_NUMPAD_ENTER    0x43
        !           115: 
        !           116: #define RAWKEY_INSERT          0x47
        !           117: #define RAWKEY_DELETE          0x46
        !           118: #define RAWKEY_HELP             0x5F
        !           119: 
        !           120: #define RAWKEY_CURSOR_UP       0x4C
        !           121: #define RAWKEY_CURSOR_DOWN     0x4D
        !           122: #define RAWKEY_CURSOR_LEFT     0x4F
        !           123: #define RAWKEY_CURSOR_RIGHT    0x4E
        !           124: 
        !           125: #define RAWKEY_LEFT_CTRL       0x63
        !           126: #define RAWKEY_LEFT_SHIFT      0x60
        !           127: #define RAWKEY_LEFT_ALT                0x64
        !           128: #define RAWKEY_LEFT_SUPER      0x66
        !           129: #define RAWKEY_RIGHT_SUPER     0x67
        !           130: #define RAWKEY_RIGHT_ALT       0x65
        !           131: 
        !           132: #define RAWKEY_RIGHT_SHIFT     0x61
        !           133: 
        !           134: #define RAWKEY_CAPSLOCK                0x62
        !           135: 
        !           136: /* Extra keys on PC/USB keyboards */
        !           137: 
        !           138: #define RAWKEY_F11             0x4B
        !           139: #define RAWKEY_F12             0x6F
        !           140: 
        !           141: #define RAWKEY_HOME            0x70
        !           142: #define RAWKEY_END             0x71
        !           143: #define RAWKEY_PAGEUP          0x48
        !           144: #define RAWKEY_PAGEDOWN                0x49
        !           145: 
        !           146: #define RAWKEY_PAUSE            0x6E
        !           147: 
        !           148: #define RAWKEY_NUMLOCK 0xFF
        !           149: #define RAWKEY_RIGHT_CTRL 0xFF
        !           150: //#define RAWKEY_MENU
        !           151: //#define RAWKEY_PRINTSCR
        !           152: //#define RAWKEY_SCROLL_LOCK
        !           153: //#define RAWKEY_PAUSE
        !           154: //#define RAWKEY_POWER
        !           155: //#define RAWKEY_SLEEP
        !           156: //#define RAWKEY_WAKE
        !           157: 
        !           158: /*
        !           159:  * Mapping from raw key codes to UAE key codes
        !           160:  */
        !           161: const struct uaekey_hostmap amiga_keymap[] =
        !           162: {
        !           163:     {RAWKEYS_COMMON},
        !           164: 
        !           165:     {RAWKEY_F11,               UAEKEY_F11},
        !           166:     {RAWKEY_F12,               UAEKEY_F12},
        !           167: 
        !           168: //    {RAWKEY_PRINTSCR,                UAEKEY_PRINTSCR},
        !           169: //    {RAWKEY_SCROLL_LOCK,     UAEKEY_SCROLL_LOCK},
        !           170:     {RAWKEY_PAUSE,             UAEKEY_PAUSE},
        !           171: 
        !           172: //    {RAWKEY_MENU,            UAEKEY_MENU},
        !           173: 
        !           174: //    {RAWKEY_POWER,           UAEKEY_POWER},
        !           175: //    {RAWKEY_SLEEP,           UAEKEY_SLEEP},
        !           176: //    {RAWKEY_WAKE,            UAEKEY_WAKE},
        !           177: 
        !           178:     {RAWKEYS_END}
        !           179: };
        !           180: 
        !           181: /*
        !           182:  * Hot-key seqeuences
        !           183:  */
        !           184: 
        !           185: /*
        !           186:  * Classic Amiga keyboards don't have F11/F12, so we default to
        !           187:  * using Ctrl+Left Alt for hot-key sequences
        !           188:  */
        !           189: #define HOTKEY_MODIFIER        RAWKEY_LEFT_CTRL
        !           190: #define HOTKEY_MODIFIER2       RAWKEY_LEFT_ALT
        !           191: 
        !           192: #include "hotkeys.h"
        !           193: #include "hotkeys_common.h"
        !           194: 
        !           195: struct uae_hotkeyseq amiga_hotkeys[] =
        !           196: {
        !           197:     { DEFAULT_HOTKEYS },
        !           198:     { HOTKEYS_END }
        !           199: };
        !           200: 
        !           201: #endif

unix.superglobalmegacorp.com

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