1 /* 2 * UAE - The Un*x Amiga Emulator 3 * 4 * Amiga keycodes 5 * 6 * (c) 1995 Bernd Schmidt 7 */ 8 9 #ifndef UAE_KEYBOARD_H 10 #define UAE_KEYBOARD_H 11 12 /* First, two dummies */ 13 #define AK_mousestuff 0x100 14 #define AK_inhibit 0x101 15 /* This mutates into AK_CTRL in keybuf.c. */ 16 #define AK_RCTRL 0x7f 17 18 #define AK_A 0x20 19 #define AK_B 0x35 20 #define AK_C 0x33 21 #define AK_D 0x22 22 #define AK_E 0x12 23 #define AK_F 0x23 24 #define AK_G 0x24 25 #define AK_H 0x25 26 #define AK_I 0x17 27 #define AK_J 0x26 28 #define AK_K 0x27 29 #define AK_L 0x28 30 #define AK_M 0x37 31 #define AK_N 0x36 32 #define AK_O 0x18 33 #define AK_P 0x19 34 #define AK_Q 0x10 35 #define AK_R 0x13 36 #define AK_S 0x21 37 #define AK_T 0x14 38 #define AK_U 0x16 39 #define AK_V 0x34 40 #define AK_W 0x11 41 #define AK_X 0x32 42 #define AK_Y 0x15 43 #define AK_Z 0x31 44 45 #define AK_0 0x0A 46 #define AK_1 0x01 47 #define AK_2 0x02 48 #define AK_3 0x03 49 #define AK_4 0x04 50 #define AK_5 0x05 51 #define AK_6 0x06 52 #define AK_7 0x07 53 #define AK_8 0x08 54 #define AK_9 0x09 55 56 #define AK_NP0 0x0F 57 #define AK_NP1 0x1D 58 #define AK_NP2 0x1E 59 #define AK_NP3 0x1F 60 #define AK_NP4 0x2D 61 #define AK_NP5 0x2E 62 #define AK_NP6 0x2F 63 #define AK_NP7 0x3D 64 #define AK_NP8 0x3E 65 #define AK_NP9 0x3F 66 67 #define AK_NPDIV 0x5C 68 #define AK_NPMUL 0x5D 69 #define AK_NPSUB 0x4A 70 #define AK_NPADD 0x5E 71 #define AK_NPDEL 0x3C 72 #define AK_NPLPAREN 0x5A 73 #define AK_NPRPAREN 0x5B 74 75 #define AK_F1 0x50 76 #define AK_F2 0x51 77 #define AK_F3 0x52 78 #define AK_F4 0x53 79 #define AK_F5 0x54 80 #define AK_F6 0x55 81 #define AK_F7 0x56 82 #define AK_F8 0x57 83 #define AK_F9 0x58 84 #define AK_F10 0x59 85 86 #define AK_UP 0x4C 87 #define AK_DN 0x4D 88 #define AK_LF 0x4F 89 #define AK_RT 0x4E 90 91 #define AK_SPC 0x40 92 #define AK_BS 0x41 93 #define AK_TAB 0x42 94 #define AK_ENT 0x43 95 #define AK_RET 0x44 96 #define AK_ESC 0x45 97 #define AK_DEL 0x46 98 99 #define AK_LSH 0x60 100 #define AK_RSH 0x61 101 #define AK_CAPSLOCK 0x62 102 #define AK_CTRL 0x63 103 #define AK_LALT 0x64 104 #define AK_RALT 0x65 105 #define AK_LAMI 0x66 106 #define AK_RAMI 0x67 107 #define AK_HELP 0x5F 108 109 /* The following have different mappings on national keyboards */ 110 111 #define AK_LBRACKET 0x1A 112 #define AK_RBRACKET 0x1B 113 #define AK_SEMICOLON 0x29 114 #define AK_COMMA 0x38 115 #define AK_PERIOD 0x39 116 #define AK_SLASH 0x3A 117 #define AK_BACKSLASH 0x0D 118 #define AK_QUOTE 0x2A 119 #define AK_NUMBERSIGN 0x2B 120 #define AK_LTGT 0x30 121 #define AK_BACKQUOTE 0x00 122 #define AK_MINUS 0x0B 123 #define AK_EQUAL 0x0C 124 125 #define AK_RESETWARNING 0x78 126 #define AK_INIT_POWERUP 0xfd 127 #define AK_TERM_POWERUP 0xfe 128 129 // KB LED stuff 130 #define KBLED_NUMLOCKB 0 131 #define KBLED_CAPSLOCKB 1 132 #define KBLED_SCROLLLOCKB 2 133 134 #define KBLED_NUMLOCKM (1 << KBLED_NUMLOCKB) 135 #define KBLED_CAPSLOCKM (1 << KBLED_CAPSLOCKB) 136 #define KBLED_SCROLLLOCKM (1 << KBLED_SCROLLLOCKB) 137 138 enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT_FILE, AKS_SCREENSHOT_CLIPBOARD, AKS_FREEZEBUTTON, 139 AKS_FLOPPY0, AKS_FLOPPY1, AKS_FLOPPY2, AKS_FLOPPY3, 140 AKS_EFLOPPY0, AKS_EFLOPPY1, AKS_EFLOPPY2, AKS_EFLOPPY3, 141 AKS_TOGGLEDEFAULTSCREEN, 142 AKS_TOGGLEWINDOWEDFULLSCREEN, AKS_TOGGLEFULLWINDOWFULLSCREEN, AKS_TOGGLEWINDOWFULLWINDOW, 143 AKS_ENTERDEBUGGER, AKS_IRQ7, 144 AKS_PAUSE, AKS_WARP, AKS_INHIBITSCREEN, 145 AKS_STATEREWIND, AKS_STATECURRENT, AKS_STATECAPTURE, 146 AKS_VIDEORECORD, 147 AKS_VOLDOWN, AKS_VOLUP, AKS_VOLMUTE, 148 AKS_MVOLDOWN, AKS_MVOLUP, AKS_MVOLMUTE, 149 AKS_QUIT, AKS_HARDRESET, AKS_SOFTRESET, 150 AKS_STATESAVEQUICK, AKS_STATERESTOREQUICK, 151 AKS_STATESAVEQUICK1, AKS_STATERESTOREQUICK1, 152 AKS_STATESAVEQUICK2, AKS_STATERESTOREQUICK2, 153 AKS_STATESAVEQUICK3, AKS_STATERESTOREQUICK3, 154 AKS_STATESAVEQUICK4, AKS_STATERESTOREQUICK4, 155 AKS_STATESAVEQUICK5, AKS_STATERESTOREQUICK5, 156 AKS_STATESAVEQUICK6, AKS_STATERESTOREQUICK6, 157 AKS_STATESAVEQUICK7, AKS_STATERESTOREQUICK7, 158 AKS_STATESAVEQUICK8, AKS_STATERESTOREQUICK8, 159 AKS_STATESAVEQUICK9, AKS_STATERESTOREQUICK9, 160 AKS_STATESAVEDIALOG, AKS_STATERESTOREDIALOG, 161 AKS_DECREASEREFRESHRATE, 162 AKS_INCREASEREFRESHRATE, 163 AKS_ARCADIADIAGNOSTICS, AKS_ARCADIAPLY1, AKS_ARCADIAPLY2, AKS_ARCADIACOIN1, AKS_ARCADIACOIN2, 164 AKS_TOGGLEMOUSEGRAB, AKS_SWITCHINTERPOL, AKS_TOGGLERTG, 165 AKS_INPUT_CONFIG_1,AKS_INPUT_CONFIG_2,AKS_INPUT_CONFIG_3,AKS_INPUT_CONFIG_4, 166 AKS_SWAPJOYPORTS, 167 AKS_DISKSWAPPER_NEXT,AKS_DISKSWAPPER_PREV, 168 AKS_DISKSWAPPER_INSERT0,AKS_DISKSWAPPER_INSERT1,AKS_DISKSWAPPER_INSERT2,AKS_DISKSWAPPER_INSERT3, 169 AKS_DISK_PREV0, AKS_DISK_PREV1, AKS_DISK_PREV2, AKS_DISK_PREV3, 170 AKS_DISK_NEXT0, AKS_DISK_NEXT1, AKS_DISK_NEXT2, AKS_DISK_NEXT3, 171 AKS_CDTV_FRONT_PANEL_STOP, AKS_CDTV_FRONT_PANEL_PLAYPAUSE, AKS_CDTV_FRONT_PANEL_PREV, 172 AKS_CDTV_FRONT_PANEL_NEXT, AKS_CDTV_FRONT_PANEL_REW, AKS_CDTV_FRONT_PANEL_FF, 173 AKS_QUALIFIER1, AKS_QUALIFIER2, AKS_QUALIFIER3, AKS_QUALIFIER4, 174 AKS_QUALIFIER5, AKS_QUALIFIER6, AKS_QUALIFIER7, AKS_QUALIFIER8, 175 AKS_QUALIFIER_SPECIAL, AKS_QUALIFIER_SHIFT, AKS_QUALIFIER_CONTROL, 176 AKS_QUALIFIER_ALT, AKS_QUALIFIER_WIN 177 }; 178 179 #define AKS_FIRST AKS_ENTERGUI 180 181 extern int target_checkcapslock (int, int *); 182 183 #endif /* UAE_KEYBOARD_H */ 184