|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * Support for mapping BeOS raw key codes to platform-independent
5: * UAE key codes.
6: *
7: * Copyright 2004 Richard Drummond
8: */
9:
10: #ifdef __BEOS__
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: * BeOS raw key codes
22: */
23: #define RAWKEY_ESCAPE 1
24:
25: #define RAWKEY_F1 2
26: #define RAWKEY_F2 3
27: #define RAWKEY_F3 4
28: #define RAWKEY_F4 5
29: #define RAWKEY_F5 6
30: #define RAWKEY_F6 7
31: #define RAWKEY_F7 8
32: #define RAWKEY_F8 9
33: #define RAWKEY_F9 10
34: #define RAWKEY_F10 11
35: #define RAWKEY_F11 12
36: #define RAWKEY_F12 13
37:
38: #define RAWKEY_PRINTSCR 14
39: #define RAWKEY_SCROLL_LOCK 15
40: #define RAWKEY_PAUSE 16
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 22
47: #define RAWKEY_6 23
48: #define RAWKEY_7 24
49: #define RAWKEY_8 25
50: #define RAWKEY_9 26
51: #define RAWKEY_0 27
52:
53: #define RAWKEY_TAB 38
54: #define RAWKEY_ENTER 71
55: #define RAWKEY_BACKSPACE 30
56: #define RAWKEY_SPACE 94
57:
58: #define RAWKEY_A 60
59: #define RAWKEY_B 80
60: #define RAWKEY_C 78
61: #define RAWKEY_D 62
62: #define RAWKEY_E 41
63: #define RAWKEY_F 63
64: #define RAWKEY_G 64
65: #define RAWKEY_H 65
66: #define RAWKEY_I 46
67: #define RAWKEY_J 66
68: #define RAWKEY_K 67
69: #define RAWKEY_L 68
70: #define RAWKEY_M 82
71: #define RAWKEY_N 81
72: #define RAWKEY_O 47
73: #define RAWKEY_P 48
74: #define RAWKEY_Q 39
75: #define RAWKEY_R 42
76: #define RAWKEY_S 61
77: #define RAWKEY_T 43
78: #define RAWKEY_U 45
79: #define RAWKEY_V 79
80: #define RAWKEY_W 40
81: #define RAWKEY_X 77
82: #define RAWKEY_Y 44
83: #define RAWKEY_Z 76
84:
85: #define RAWKEY_MINUS 28
86: #define RAWKEY_EQUALS 29
87: #define RAWKEY_LEFTBRACKET 49
88: #define RAWKEY_RIGHTBRACKET 50
89: #define RAWKEY_BACKSLASH 51
90: #define RAWKEY_SEMICOLON 69
91: #define RAWKEY_SINGLEQUOTE 70
92: #define RAWKEY_COMMA 83
93: #define RAWKEY_PERIOD 84
94: #define RAWKEY_SLASH 85
95: #define RAWKEY_GRAVE 17
96: #define RAWKEY_LTGT 104
97:
98: #define RAWKEY_NUMPAD_1 88
99: #define RAWKEY_NUMPAD_2 89
100: #define RAWKEY_NUMPAD_3 90
101: #define RAWKEY_NUMPAD_4 72
102: #define RAWKEY_NUMPAD_5 73
103: #define RAWKEY_NUMPAD_6 74
104: #define RAWKEY_NUMPAD_7 55
105: #define RAWKEY_NUMPAD_8 56
106: #define RAWKEY_NUMPAD_9 57
107: #define RAWKEY_NUMPAD_0 100
108: #define RAWKEY_NUMPAD_DIVIDE 35
109: #define RAWKEY_NUMPAD_MULTIPLY 36
110: #define RAWKEY_NUMPAD_MINUS 37
111: #define RAWKEY_NUMPAD_PLUS 58
112: #define RAWKEY_NUMPAD_PERIOD 101
113: #define RAWKEY_NUMPAD_ENTER 91
114: #define RAWKEY_NUMLOCK 34
115:
116: #define RAWKEY_INSERT 31
117: #define RAWKEY_DELETE 52
118: #define RAWKEY_HOME 32
119: #define RAWKEY_END 53
120: #define RAWKEY_PAGEUP 33
121: #define RAWKEY_PAGEDOWN 54
122:
123: #define RAWKEY_CURSOR_UP 87
124: #define RAWKEY_CURSOR_DOWN 98
125: #define RAWKEY_CURSOR_LEFT 97
126: #define RAWKEY_CURSOR_RIGHT 99
127:
128: #define RAWKEY_LEFT_CTRL 92
129: #define RAWKEY_LEFT_SHIFT 75
130: #define RAWKEY_LEFT_ALT 93
131: #define RAWKEY_LEFT_SUPER 102
132: #define RAWKEY_RIGHT_SUPER 103
133: #define RAWKEY_RIGHT_ALT 95
134: #define RAWKEY_RIGHT_SHIFT 86
135: #define RAWKEY_RIGHT_CTRL 96
136: #define RAWKEY_CAPSLOCK 59
137:
138: /*
139: * Mapping from BeOS raw key codes to UAE key codes
140: */
141: const struct uaekey_hostmap beos_keymap[] =
142: {
143: {RAWKEYS_COMMON},
144:
145: {RAWKEY_F11, UAEKEY_F11},
146: {RAWKEY_F12, UAEKEY_F12},
147:
148: {RAWKEY_PRINTSCR, UAEKEY_PRINTSCR},
149: {RAWKEY_SCROLL_LOCK, UAEKEY_SCROLL_LOCK},
150: {RAWKEY_PAUSE, UAEKEY_PAUSE},
151:
152: {RAWKEYS_END}
153: };
154:
155:
156: /*
157: * Hot-key sequences
158: */
159: #include "hotkeys.h"
160: #include "hotkeys_common.h"
161:
162: struct uae_hotkeyseq beos_hotkeys[] =
163: {
164: { DEFAULT_HOTKEYS },
165: { HOTKEYS_END }
166: };
167:
168: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.