Annotation of uae/src/keymap/amiga_rawkeys.c, revision 1.1.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.