ScummVM API documentation
keys.h
1
/* ScummVM - Graphic Adventure Engine
2
*
3
* ScummVM is the legal property of its developers, whose names
4
* are too numerous to list here. Please refer to the COPYRIGHT
5
* file distributed with this source distribution.
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*
20
*/
21
22
#ifndef MADS_CORE_KEYS_H
23
#define MADS_CORE_KEYS_H
24
25
#include "common/keyboard.h"
26
#include "mads/core/general.h"
27
28
namespace
MADS {
29
30
/* keystroke defines */
31
32
#define left_key Common::KEYCODE_LEFT
33
#define right_key Common::KEYCODE_RIGHT
34
#define up_key Common::KEYCODE_UP
35
#define down_key Common::KEYCODE_DOWN
36
37
#define ins_key Common::KEYCODE_INSERT
38
#define del_key Common::KEYCODE_DELETE
39
#define delete_key Common::KEYCODE_DELETE
40
41
#define home_key Common::KEYCODE_HOME
42
#define end_key Common::KEYCODE_END
43
44
#define pgup_key Common::KEYCODE_PAGEUP
45
#define pgdn_key Common::KEYCODE_PAGEDOWN
46
47
#define enter_key Common::KEYCODE_RETURN
48
#define esc_key Common::KEYCODE_ESCAPE
49
#define bksp_key Common::KEYCODE_BACKSPACE
50
#define ctrl_del_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_DELETE)
51
#define tab_key Common::KEYCODE_TAB
52
#define backtab_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_TAB)
53
54
#define space_key Common::KEYCODE_SPACE
55
56
#define A_key 'A'
57
#define B_key 'B'
58
#define C_key 'C'
59
#define D_key 'D'
60
#define E_key 'E'
61
#define F_key 'F'
62
#define G_key 'G'
63
#define H_key 'H'
64
#define I_key 'I'
65
#define J_key 'J'
66
#define K_key 'K'
67
#define L_key 'L'
68
#define M_key 'M'
69
#define N_key 'N'
70
#define O_key 'O'
71
#define P_key 'P'
72
#define Q_key 'Q'
73
#define R_key 'R'
74
#define S_key 'S'
75
#define T_key 'T'
76
#define U_key 'U'
77
#define V_key 'V'
78
#define W_key 'W'
79
#define X_key 'X'
80
#define Y_key 'Y'
81
#define Z_key 'Z'
82
83
#define a_key 'a'
84
#define b_key 'b'
85
#define g_key 'g'
86
#define i_key 'i'
87
#define j_key 'j'
88
#define m_key 'm'
89
#define z_key 'z'
90
91
#define alt_a_key ((Common::KBD_ALT << 16) | Common::KEYCODE_a)
92
#define alt_b_key ((Common::KBD_ALT << 16) | Common::KEYCODE_b)
93
#define alt_c_key ((Common::KBD_ALT << 16) | Common::KEYCODE_c)
94
#define alt_d_key ((Common::KBD_ALT << 16) | Common::KEYCODE_d)
95
#define alt_e_key ((Common::KBD_ALT << 16) | Common::KEYCODE_e)
96
#define alt_f_key ((Common::KBD_ALT << 16) | Common::KEYCODE_f)
97
#define alt_g_key ((Common::KBD_ALT << 16) | Common::KEYCODE_g)
98
#define alt_h_key ((Common::KBD_ALT << 16) | Common::KEYCODE_h)
99
#define alt_i_key ((Common::KBD_ALT << 16) | Common::KEYCODE_i)
100
#define alt_j_key ((Common::KBD_ALT << 16) | Common::KEYCODE_j)
101
#define alt_k_key ((Common::KBD_ALT << 16) | Common::KEYCODE_k)
102
#define alt_l_key ((Common::KBD_ALT << 16) | Common::KEYCODE_l)
103
#define alt_m_key ((Common::KBD_ALT << 16) | Common::KEYCODE_m)
104
#define alt_n_key ((Common::KBD_ALT << 16) | Common::KEYCODE_n)
105
#define alt_o_key ((Common::KBD_ALT << 16) | Common::KEYCODE_o)
106
#define alt_p_key ((Common::KBD_ALT << 16) | Common::KEYCODE_p)
107
#define alt_q_key ((Common::KBD_ALT << 16) | Common::KEYCODE_q)
108
#define alt_r_key ((Common::KBD_ALT << 16) | Common::KEYCODE_r)
109
#define alt_s_key ((Common::KBD_ALT << 16) | Common::KEYCODE_s)
110
#define alt_t_key ((Common::KBD_ALT << 16) | Common::KEYCODE_t)
111
#define alt_u_key ((Common::KBD_ALT << 16) | Common::KEYCODE_u)
112
#define alt_v_key ((Common::KBD_ALT << 16) | Common::KEYCODE_v)
113
#define alt_w_key ((Common::KBD_ALT << 16) | Common::KEYCODE_w)
114
#define alt_x_key ((Common::KBD_ALT << 16) | Common::KEYCODE_x)
115
#define alt_y_key ((Common::KBD_ALT << 16) | Common::KEYCODE_y)
116
#define alt_z_key ((Common::KBD_ALT << 16) | Common::KEYCODE_z)
117
118
#define f1_key Common::KEYCODE_F1
119
#define f2_key Common::KEYCODE_F2
120
#define f3_key Common::KEYCODE_F3
121
#define f4_key Common::KEYCODE_F4
122
#define f5_key Common::KEYCODE_F5
123
#define f6_key Common::KEYCODE_F6
124
#define f7_key Common::KEYCODE_F7
125
#define f8_key Common::KEYCODE_F8
126
#define f9_key Common::KEYCODE_F9
127
#define f10_key Common::KEYCODE_F10
128
129
#define shift_f1_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F1)
130
#define shift_f2_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F2)
131
#define shift_f3_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F3)
132
#define shift_f4_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F4)
133
#define shift_f5_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F5)
134
#define shift_f6_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F6)
135
#define shift_f7_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F7)
136
#define shift_f8_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F8)
137
#define shift_f9_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F9)
138
#define shift_f10_key ((Common::KBD_SHIFT << 16) | Common::KEYCODE_F10)
139
140
#define ctrl_f1_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F1)
141
#define ctrl_f2_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F2)
142
#define ctrl_f3_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F3)
143
#define ctrl_f4_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F4)
144
#define ctrl_f5_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F5)
145
#define ctrl_f6_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F6)
146
#define ctrl_f7_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F7)
147
#define ctrl_f8_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F8)
148
#define ctrl_f9_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F9)
149
#define ctrl_f10_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_F10)
150
151
#define alt_f1_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F1)
152
#define alt_f2_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F2)
153
#define alt_f3_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F3)
154
#define alt_f4_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F4)
155
#define alt_f5_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F5)
156
#define alt_f6_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F6)
157
#define alt_f7_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F7)
158
#define alt_f8_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F8)
159
#define alt_f9_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F9)
160
#define alt_f10_key ((Common::KBD_ALT << 16) | Common::KEYCODE_F10)
161
162
#define ctrl_a_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_a)
163
#define ctrl_b_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_b)
164
#define ctrl_c_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_c)
165
#define ctrl_d_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_d)
166
#define ctrl_e_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_e)
167
#define ctrl_f_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_f)
168
#define ctrl_g_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_g)
169
#define ctrl_h_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_h)
170
#define ctrl_i_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_i)
171
#define ctrl_j_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_j)
172
#define ctrl_k_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_k)
173
#define ctrl_l_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_l)
174
#define ctrl_m_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_m)
175
#define ctrl_n_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_n)
176
#define ctrl_o_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_o)
177
#define ctrl_p_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_p)
178
#define ctrl_q_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_q)
179
#define ctrl_r_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_r)
180
#define ctrl_s_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_s)
181
#define ctrl_t_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_t)
182
#define ctrl_u_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_u)
183
#define ctrl_v_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_v)
184
#define ctrl_w_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_w)
185
#define ctrl_x_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_x)
186
#define ctrl_y_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_y)
187
#define ctrl_z_key ((Common::KBD_CTRL << 16) | Common::KEYCODE_z)
188
189
#define KEYS_MAX_BUF_CHARS 32
190
191
struct
KeyBuffer
{
192
int
buf[KEYS_MAX_BUF_CHARS];
193
int
len;
194
};
195
196
typedef
KeyBuffer
*
KeyPtr
;
197
198
extern
word keys_special_button;
199
200
201
extern
int
keys_any();
202
extern
int
keys_get();
203
207
extern
void
keys_flush();
208
212
extern
void
keys_flush_buffer(
KeyPtr
key_buf);
213
217
extern
void
keys_fill_buffer(
KeyPtr
key_buf);
218
222
extern
int
keys_read_buffer(
KeyPtr
key_buf);
223
228
extern
int
keys_append_buffer(
KeyPtr
key_buf,
int
newchar);
229
236
extern
int
keys_insert_buffer(
KeyPtr
key_buf,
int
newchar,
int
before);
237
241
extern
void
keys_stuff_buffer(
KeyPtr
key_buf,
int
*newstuff);
242
252
extern
int
keys_fix_alt(
int
target);
253
254
extern
void
keys_install();
255
extern
void
keys_remove();
256
extern
int
keys_check_install();
257
extern
void
keys_enable();
258
extern
void
keys_disable();
259
260
extern
void
init_keys();
261
262
}
// namespace MADS
263
264
#endif
MADS::KeyBuffer
Definition:
keys.h:191
engines
mads
core
keys.h
Generated on Sat Oct 24 2026 09:26:15 for ScummVM API documentation by
1.9.4