|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * Support for mapping xfree86 keycodes (e.g. PC and Mac keyboards
5: * under XFree86) to platform-independent UAE key codes.
6: *
7: * Copyright 2004-2005 Richard Drummond
8: */
9:
10: #if 1
11:
12: #include "sysconfig.h"
13: #include "sysdeps.h"
14:
15: #include "options.h"
16: #include "inputdevice.h"
17: #include "keymap/keymap.h"
18: #include "keymap/keymap_common.h"
19:
20: /*
21: * Raw scan codes
22: */
23: #define RAWKEY_ESCAPE 9
24:
25: #define RAWKEY_F1 67
26: #define RAWKEY_F2 68
27: #define RAWKEY_F3 69
28: #define RAWKEY_F4 70
29: #define RAWKEY_F5 71
30: #define RAWKEY_F6 72
31: #define RAWKEY_F7 73
32: #define RAWKEY_F8 74
33: #define RAWKEY_F9 75
34: #define RAWKEY_F10 76
35: #define RAWKEY_F11 95
36: #define RAWKEY_F12 96
37:
38: #define RAWKEY_PRINTSCR 111
39: #define RAWKEY_SCROLL_LOCK 78
40: #define RAWKEY_PAUSE 110
41:
42: #define RAWKEY_1 10
43: #define RAWKEY_2 11
44: #define RAWKEY_3 12
45: #define RAWKEY_4 13
46: #define RAWKEY_5 14
47: #define RAWKEY_6 15
48: #define RAWKEY_7 16
49: #define RAWKEY_8 17
50: #define RAWKEY_9 18
51: #define RAWKEY_0 19
52:
53: #define RAWKEY_TAB 23
54: #define RAWKEY_ENTER 36
55: #define RAWKEY_BACKSPACE 22
56: #define RAWKEY_SPACE 65
57:
58: #define RAWKEY_A 38
59: #define RAWKEY_B 56
60: #define RAWKEY_C 54
61: #define RAWKEY_D 40
62: #define RAWKEY_E 26
63: #define RAWKEY_F 41
64: #define RAWKEY_G 42
65: #define RAWKEY_H 43
66: #define RAWKEY_I 31
67: #define RAWKEY_J 44
68: #define RAWKEY_K 45
69: #define RAWKEY_L 46
70: #define RAWKEY_M 58
71: #define RAWKEY_N 57
72: #define RAWKEY_O 32
73: #define RAWKEY_P 33
74: #define RAWKEY_Q 24
75: #define RAWKEY_R 27
76: #define RAWKEY_S 39
77: #define RAWKEY_T 28
78: #define RAWKEY_U 30
79: #define RAWKEY_V 55
80: #define RAWKEY_W 25
81: #define RAWKEY_X 53
82: #define RAWKEY_Y 29
83: #define RAWKEY_Z 52
84:
85: #define RAWKEY_MINUS 20
86: #define RAWKEY_EQUALS 21
87: #define RAWKEY_LEFTBRACKET 34
88: #define RAWKEY_RIGHTBRACKET 35
89: #define RAWKEY_BACKSLASH 51
90: #define RAWKEY_SEMICOLON 47
91: #define RAWKEY_SINGLEQUOTE 48
92: #define RAWKEY_COMMA 59
93: #define RAWKEY_PERIOD 60
94: #define RAWKEY_SLASH 61
95: #define RAWKEY_GRAVE 49
96: #define RAWKEY_LTGT 94
97:
98: #define RAWKEY_NUMPAD_1 87
99: #define RAWKEY_NUMPAD_2 88
100: #define RAWKEY_NUMPAD_3 89
101: #define RAWKEY_NUMPAD_4 83
102: #define RAWKEY_NUMPAD_5 84
103: #define RAWKEY_NUMPAD_6 85
104: #define RAWKEY_NUMPAD_7 79
105: #define RAWKEY_NUMPAD_8 80
106: #define RAWKEY_NUMPAD_9 81
107: #define RAWKEY_NUMPAD_0 90
108: //#define RAWKEY_NUMPAD_EQUALS
109: #define RAWKEY_NUMPAD_DIVIDE 112
110: #define RAWKEY_NUMPAD_MULTIPLY 63
111: #define RAWKEY_NUMPAD_MINUS 82
112: #define RAWKEY_NUMPAD_PLUS 86
113: #define RAWKEY_NUMPAD_PERIOD 91
114: #define RAWKEY_NUMPAD_ENTER 108
115: #define RAWKEY_NUMLOCK 77
116:
117: #define RAWKEY_INSERT 105
118: #define RAWKEY_DELETE 107
119: #define RAWKEY_HOME 97
120: #define RAWKEY_END 103
121: #define RAWKEY_PAGEUP 99
122: #define RAWKEY_PAGEDOWN 105
123:
124: #define RAWKEY_CURSOR_UP 98
125: #define RAWKEY_CURSOR_DOWN 104
126: #define RAWKEY_CURSOR_LEFT 100
127: #define RAWKEY_CURSOR_RIGHT 102
128:
129: #define RAWKEY_LEFT_CTRL 37
130: #define RAWKEY_LEFT_SHIFT 50
131: #define RAWKEY_LEFT_ALT 64
132: #define RAWKEY_LEFT_SUPER 115
133: #define RAWKEY_RIGHT_SUPER 116
134: #define RAWKEY_RIGHT_ALT 113
135: #define RAWKEY_MENU 117
136: #define RAWKEY_RIGHT_SHIFT 62
137: #define RAWKEY_RIGHT_CTRL 109
138: #define RAWKEY_CAPSLOCK 66
139:
140: #define RAWKEY_POWER 222
141: #define RAWKEY_SLEEP 223
142: #define RAWKEY_WAKE 227
143:
144: /*
145: * Mapping from raw key codes to UAE key codes
146: */
147: const struct uaekey_hostmap x11pc_keymap[] =
148: {
149: {RAWKEYS_COMMON},
150:
151: {RAWKEY_F11, UAEKEY_F11},
152: {RAWKEY_F12, UAEKEY_F12},
153:
154: {RAWKEY_PRINTSCR, UAEKEY_PRINTSCR},
155: {RAWKEY_SCROLL_LOCK, UAEKEY_SCROLL_LOCK},
156: {RAWKEY_PAUSE, UAEKEY_PAUSE},
157:
158: {RAWKEY_MENU, UAEKEY_MENU},
159:
160: {RAWKEY_POWER, UAEKEY_POWER},
161: {RAWKEY_SLEEP, UAEKEY_SLEEP},
162: {RAWKEY_WAKE, UAEKEY_WAKE},
163:
164: {RAWKEYS_END}
165: };
166:
167: #if 0
168: /*
169: * Mapping of uae modifier key codes to x11pc modifier keys
170: * Not actually needed - just here for test purposes.
171: */
172: const int x11pc_modkeytable[] = {
173: /* UAEMODKEY_LSHIFT */ RAWKEY_LEFT_SHIFT,
174: /* UAEMODKEY_LCTRL */ RAWKEY_LEFT_CTRL,
175: /* UAEMODKEY_LALT */ RAWKEY_LEFT_ALT,
176: /* UAEMODKEY_LSUPER */ RAWKEY_LEFT_SUPER,
177: /* UAEMODKEY_RSUPER */ RAWKEY_RIGHT_SUPER,
178: /* UAEMODKEY_RALT */ RAWKEY_RIGHT_ALT,
179: /* UAEMODKEY_RCTRL */ RAWKEY_RIGHT_CTRL,
180: /* UAEMODKEY_RSHIFT */ RAWKEY_RIGHT_SHIFT,
181: /* UAEMODKEY_CAPSLOCK */ RAWKEY_CAPSLOCK
182: };
183: #endif
184:
185: /*
186: * Hot-key seqeuences
187: */
188: #include "hotkeys.h"
189: #include "keymap/hotkeys_common.h"
190:
191: struct uae_hotkeyseq x11pc_hotkeys[] =
192: {
193: { DEFAULT_HOTKEYS },
194: { HOTKEYS_END }
195: };
196:
197: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.