3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
7
10#ifndef COCOA_KEYS_H
11#define COCOA_KEYS_H
12
13/* From SDL_QuartzKeys.h
14 * These are the Macintosh key scancode constants -- from Inside Macintosh */
15
16#define QZ_ESCAPE 0x35
17#define QZ_F1 0x7A
18#define QZ_F2 0x78
19#define QZ_F3 0x63
20#define QZ_F4 0x76
21#define QZ_F5 0x60
22#define QZ_F6 0x61
23#define QZ_F7 0x62
24#define QZ_F8 0x64
25#define QZ_F9 0x65
26#define QZ_F10 0x6D
27#define QZ_F11 0x67
28#define QZ_F12 0x6F
29#define QZ_PRINT 0x69
30#define QZ_SCROLLOCK 0x6B
31#define QZ_PAUSE 0x71
32#define QZ_POWER 0x7F
33#define QZ_BACKQUOTE 0x0A
34#define QZ_BACKQUOTE2 0x32
35#define QZ_1 0x12
36#define QZ_2 0x13
37#define QZ_3 0x14
38#define QZ_4 0x15
39#define QZ_5 0x17
40#define QZ_6 0x16
41#define QZ_7 0x1A
42#define QZ_8 0x1C
43#define QZ_9 0x19
44#define QZ_0 0x1D
45#define QZ_MINUS 0x1B
46#define QZ_EQUALS 0x18
47#define QZ_BACKSPACE 0x33
48#define QZ_INSERT 0x72
49#define QZ_HOME 0x73
50#define QZ_PAGEUP 0x74
51#define QZ_NUMLOCK 0x47
52#define QZ_KP_EQUALS 0x51
53#define QZ_KP_DIVIDE 0x4B
54#define QZ_KP_MULTIPLY 0x43
55#define QZ_TAB 0x30
56#define QZ_q 0x0C
57#define QZ_w 0x0D
58#define QZ_e 0x0E
59#define QZ_r 0x0F
60#define QZ_t 0x11
61#define QZ_y 0x10
62#define QZ_u 0x20
63#define QZ_i 0x22
64#define QZ_o 0x1F
65#define QZ_p 0x23
66#define QZ_LEFTBRACKET 0x21
67#define QZ_RIGHTBRACKET 0x1E
68#define QZ_BACKSLASH 0x2A
69#define QZ_DELETE 0x75
70#define QZ_END 0x77
71#define QZ_PAGEDOWN 0x79
72#define QZ_KP7 0x59
73#define QZ_KP8 0x5B
74#define QZ_KP9 0x5C
75#define QZ_KP_MINUS 0x4E
76#define QZ_CAPSLOCK 0x39
77#define QZ_a 0x00
78#define QZ_s 0x01
79#define QZ_d 0x02
80#define QZ_f 0x03
81#define QZ_g 0x05
82#define QZ_h 0x04
83#define QZ_j 0x26
84#define QZ_k 0x28
85#define QZ_l 0x25
86#define QZ_SEMICOLON 0x29
87#define QZ_QUOTE 0x27
88#define QZ_RETURN 0x24
89#define QZ_KP4 0x56
90#define QZ_KP5 0x57
91#define QZ_KP6 0x58
92#define QZ_KP_PLUS 0x45
93#define QZ_LSHIFT 0x38
94#define QZ_z 0x06
95#define QZ_x 0x07
96#define QZ_c 0x08
97#define QZ_v 0x09
98#define QZ_b 0x0B
99#define QZ_n 0x2D
100#define QZ_m 0x2E
101#define QZ_COMMA 0x2B
102#define QZ_PERIOD 0x2F
103#define QZ_SLASH 0x2C
104#if 1 /* Panther now defines right side keys */
105#define QZ_RSHIFT 0x3C
106#endif
107#define QZ_UP 0x7E
108#define QZ_KP1 0x53
109#define QZ_KP2 0x54
110#define QZ_KP3 0x55
111#define QZ_KP_ENTER 0x4C
112#define QZ_LCTRL 0x3B
113#define QZ_LALT 0x3A
114#define QZ_LMETA 0x37
115#define QZ_SPACE 0x31
116#if 1 /* Panther now defines right side keys */
117#define QZ_RMETA 0x36
118#define QZ_RALT 0x3D
119#define QZ_RCTRL 0x3E
120#endif
121#define QZ_LEFT 0x7B
122#define QZ_DOWN 0x7D
123#define QZ_RIGHT 0x7C
124#define QZ_KP0 0x52
125#define QZ_KP_PERIOD 0x41
126
127/* Weird, these keys are on my iBook under MacOS X */