Banjo API 1.0.0-rc.2
Low-level C99 game development API
Loading...
Searching...
No Matches
event.h
Go to the documentation of this file.
1
107
108#ifndef BJ_EVENT_H
109#define BJ_EVENT_H
110
111#include <banjo/api.h>
112
113struct bj_window;
114
116#define BJ_BUTTON_1 1
118#define BJ_BUTTON_2 2
120#define BJ_BUTTON_3 3
122#define BJ_BUTTON_4 4
124#define BJ_BUTTON_5 5
126#define BJ_BUTTON_LEFT BJ_BUTTON_1
128#define BJ_BUTTON_RIGHT BJ_BUTTON_3
130#define BJ_BUTTON_MIDDLE BJ_BUTTON_2
132#define BJ_BUTTON_UP BJ_BUTTON_4
134#define BJ_BUTTON_DOWN BJ_BUTTON_5
135
150enum bj_key {
158 // 0x07 Reserved
159 BJ_KEY_BACK = 0x08,
160 BJ_KEY_TAB = 0x09,
161 // 0x0A-0B Reserved
164 // 0x0E-0F Unassigned
167 BJ_KEY_MENU = 0x12,
170 BJ_KEY_KANA = 0x15,
183 BJ_KEY_NEXT = 0x22,
184 BJ_KEY_END = 0x23,
185 BJ_KEY_HOME = 0x24,
186 BJ_KEY_LEFT = 0x25,
187 BJ_KEY_UP = 0x26,
189 BJ_KEY_DOWN = 0x28,
196 BJ_KEY_HELP = 0x2F,
197 BJ_KEY_0 = 0x30,
198 BJ_KEY_1 = 0x31,
199 BJ_KEY_2 = 0x32,
200 BJ_KEY_3 = 0x33,
201 BJ_KEY_4 = 0x34,
202 BJ_KEY_5 = 0x35,
203 BJ_KEY_6 = 0x36,
204 BJ_KEY_7 = 0x37,
205 BJ_KEY_8 = 0x38,
206 BJ_KEY_9 = 0x39,
207 // 0x3A-40 Undefined
208 BJ_KEY_A = 0x41,
209 BJ_KEY_B = 0x42,
210 BJ_KEY_C = 0x43,
211 BJ_KEY_D = 0x44,
212 BJ_KEY_E = 0x45,
213 BJ_KEY_F = 0x46,
214 BJ_KEY_G = 0x47,
215 BJ_KEY_H = 0x48,
216 BJ_KEY_I = 0x49,
217 BJ_KEY_J = 0x4A,
218 BJ_KEY_K = 0x4B,
219 BJ_KEY_L = 0x4C,
220 BJ_KEY_M = 0x4D,
221 BJ_KEY_N = 0x4E,
222 BJ_KEY_O = 0x4F,
223 BJ_KEY_P = 0x50,
224 BJ_KEY_Q = 0x51,
225 BJ_KEY_R = 0x52,
226 BJ_KEY_S = 0x53,
227 BJ_KEY_T = 0x54,
228 BJ_KEY_U = 0x55,
229 BJ_KEY_V = 0x56,
230 BJ_KEY_W = 0x57,
231 BJ_KEY_X = 0x58,
232 BJ_KEY_Y = 0x59,
233 BJ_KEY_Z = 0x5A,
234 BJ_KEY_LWIN = 0x5B,
235 BJ_KEY_RWIN = 0x5C,
236 BJ_KEY_APPS = 0x5D,
237 // 0x5E Reserved
250 BJ_KEY_ADD = 0x6B,
255 BJ_KEY_F1 = 0x70,
256 BJ_KEY_F2 = 0x71,
257 BJ_KEY_F3 = 0x72,
258 BJ_KEY_F4 = 0x73,
259 BJ_KEY_F5 = 0x74,
260 BJ_KEY_F6 = 0x75,
261 BJ_KEY_F7 = 0x76,
262 BJ_KEY_F8 = 0x77,
263 BJ_KEY_F9 = 0x78,
264 BJ_KEY_F10 = 0x79,
265 BJ_KEY_F11 = 0x7A,
266 BJ_KEY_F12 = 0x7B,
267 BJ_KEY_F13 = 0x7C,
268 BJ_KEY_F14 = 0x7D,
269 BJ_KEY_F15 = 0x7E,
270 BJ_KEY_F16 = 0x7F,
271 BJ_KEY_F17 = 0x80,
272 BJ_KEY_F18 = 0x81,
273 BJ_KEY_F19 = 0x82,
274 BJ_KEY_F20 = 0x83,
275 BJ_KEY_F21 = 0x84,
276 BJ_KEY_F22 = 0x85,
277 BJ_KEY_F23 = 0x86,
278 BJ_KEY_F24 = 0x87,
279 // 0x88-8F Reserved
282 // 0x92-96 OEM specific
283 // 0x97-9F Unassigned
308 // 0xB8-B9 Reserved
316 // 0xC1-DA Reserved
322 // 0xE0 Reserved
323 // 0xE1 OEM specific
325 // 0xE3-E4 OEM specific
327 // 0xE6 OEM specific
329 // 0xE8 Unassigned
330 // 0xE9-F5 OEM specific
331 BJ_KEY_ATTN = 0xF6,
335 BJ_KEY_PLAY = 0xFA,
336 BJ_KEY_ZOOM = 0xFB,
338 BJ_KEY_PA1 = 0xFD,
340};
341#ifndef BJ_NO_TYPEDEF
342typedef enum bj_key bj_key;
343#endif
344
345// Some Keycode aliases
346#define BJ_KEY_APOSTROPHE BJ_KEY_OEM_7
347#define BJ_KEY_BACKSLASH BJ_KEY_OEM_5
348#define BJ_KEY_BACKSPACE BJ_KEY_BACK
349#define BJ_KEY_CAPSLOCK BJ_KEY_CAPITAL
350#define BJ_KEY_COMMA BJ_KEY_OEM_COMMA
351#define BJ_KEY_ENTER BJ_KEY_RETURN
352#define BJ_KEY_GRAVE_ACCENT BJ_KEY_OEM_3
353#define BJ_KEY_HANGUL BJ_KEY_KANA
354#define BJ_KEY_HANJA BJ_KEY_KANJI
355#define BJ_KEY_LEFT_ALT BJ_KEY_LMENU
356#define BJ_KEY_LEFT_BRACKET BJ_KEY_OEM_4
357#define BJ_KEY_LEFT_CONTROL BJ_KEY_LCONTROL
358#define BJ_KEY_LEFT_OS BJ_KEY_LWIN
359#define BJ_KEY_LEFT_SHIT BJ_KEY_LSHIFT
360#define BJ_KEY_MINUS BJ_KEY_OEM_MINUS
361#define BJ_KEY_PAGE_DOWN BJ_KEY_NEXT
362#define BJ_KEY_PAGE_UP BJ_KEY_PRIOR
363#define BJ_KEY_PERIOD BJ_KEY_OEM_PERIOD
364#define BJ_KEY_PLUS BJ_KEY_OEM_PLUS
365#define BJ_KEY_PRINT_SCREEN BJ_KEY_SNAPSHOT
366#define BJ_KEY_RIGHT_ALT BJ_KEY_RMENU
367#define BJ_KEY_RIGHT_BRACKET BJ_KEY_OEM_6
368#define BJ_KEY_RIGHT_CONTROL BJ_KEY_RCONTROL
369#define BJ_KEY_RIGHT_OS BJ_KEY_RWIN
370#define BJ_KEY_RIGHT_SHIFT BJ_KEY_RSHIFT
371#define BJ_KEY_SEMICOLON BJ_KEY_OEM_1
372#define BJ_KEY_SLASH BJ_KEY_OEM_2
373
385BANJO_EXPORT const char* bj_key_name(int key);
386
395#ifndef BJ_NO_TYPEDEF
397#endif
398
403 int x;
404 int y;
406};
407
412 int x;
413 int y;
414};
415
425
434
444#ifndef BJ_NO_TYPEDEF
446#endif
447
453struct bj_event {
456 union {
457 struct bj_key_event key;
458 struct bj_button_event button;
459 struct bj_cursor_event cursor;
460 struct bj_enter_event enter;
461 } as;
462};
463
470typedef void(* bj_enter_callback_fn)(struct bj_window* window, const struct bj_enter_event* event, void* user_data);
471
478typedef void(* bj_cursor_callback_fn)(struct bj_window* window, const struct bj_cursor_event* event, void* user_data);
479
486typedef void(* bj_button_callback_fn)(struct bj_window* window, const struct bj_button_event* event, void* user_data);
487
494typedef void(* bj_key_callback_fn)(struct bj_window* window, const struct bj_key_event* event, void* user_data);
495
506 bj_cursor_callback_fn callback,
507 void* user_data
508);
509
520 bj_button_callback_fn callback,
521 void* user_data
522);
523
538 bj_key_callback_fn callback,
539 void* user_data
540);
541
552 bj_enter_callback_fn callback,
553 void* user_data
554);
555
572 struct bj_window* window,
573 const struct bj_key_event* event,
574 void* user_data
575);
576
587void bj_push_event(const struct bj_event* e);
588
600
609void bj_push_cursor_event(struct bj_window* window, int x, int y);
610
621void bj_push_button_event(struct bj_window* window, int button, enum bj_event_action action, int x, int y);
622
632void bj_push_enter_event(struct bj_window* window, bj_bool enter, int x, int y);
633
646
658 struct bj_event* event
659);
660
670 const struct bj_event* event
671);
672
673
674#endif
General-purpose definitions for Banjo API.
bj_window * window
Definition bitmap_blit.c:24
#define BANJO_EXPORT
Definition api.h:163
uint32_t bj_bool
Boolean type used throughout the Banjo API.
Definition api.h:257
struct bj_window bj_window
Definition api.h:354
int y
Cursor y position.
Definition event.h:413
int y
Cursor y position.
Definition event.h:404
int x
Cursor x position.
Definition event.h:420
int y
Cursor y position.
Definition event.h:421
struct bj_cursor_event cursor
Cursor event data.
struct bj_key_event key
Key event data.
int scancode
Scancode (layout-independent)
Definition event.h:431
struct bj_window * window
Target window.
Definition event.h:454
union bj_event::@102271004006361263344115053024230242311221140216 as
int button
Button identifier (e.g., BJ_BUTTON_LEFT)
Definition event.h:423
bj_bool enter
BJ_TRUE if entering window, BJ_FALSE if leaving.
Definition event.h:405
enum bj_event_action action
Action (press/release/repeat)
Definition event.h:432
enum bj_event_action action
Action (press/release)
Definition event.h:422
int x
Cursor x position.
Definition event.h:403
enum bj_event_type type
Type of event.
Definition event.h:455
enum bj_key key
Key identifier.
Definition event.h:430
struct bj_button_event button
Button event data.
struct bj_enter_event enter
Enter/leave event data.
int x
Cursor x position.
Definition event.h:412
void(* bj_button_callback_fn)(struct bj_window *window, const struct bj_button_event *event, void *user_data)
Define the callback type for mouse button events.
Definition event.h:486
const char * bj_key_name(int key)
Get the string name of a key.
void bj_dispatch_events(void)
Poll and dispatch all pending events.
bj_cursor_callback_fn bj_set_cursor_callback(bj_cursor_callback_fn callback, void *user_data)
Set the global callback for cursor events.
void bj_close_on_escape(struct bj_window *window, const struct bj_key_event *event, void *user_data)
Handle the ESC key to close a window.
void bj_dispatch_event(const struct bj_event *event)
Dispatch a single event to registered callbacks.
bj_bool bj_poll_events(struct bj_event *event)
Poll the next pending event from the system queue.
void bj_push_key_event(struct bj_window *window, enum bj_event_action action, enum bj_key key, int scancode)
Push a keyboard event into the event system.
void(* bj_enter_callback_fn)(struct bj_window *window, const struct bj_enter_event *event, void *user_data)
Define the callback type for enter events.
Definition event.h:470
void bj_push_button_event(struct bj_window *window, int button, enum bj_event_action action, int x, int y)
Push a mouse button event.
bj_enter_callback_fn bj_set_enter_callback(bj_enter_callback_fn callback, void *user_data)
Set the global callback for mouse enter/leave events.
void(* bj_cursor_callback_fn)(struct bj_window *window, const struct bj_cursor_event *event, void *user_data)
Define the callback type for cursor movement events.
Definition event.h:478
bj_key_callback_fn bj_set_key_callback(bj_key_callback_fn callback, void *user_data)
Set the global callback for keyboard key events.
void bj_push_enter_event(struct bj_window *window, bj_bool enter, int x, int y)
Push an enter or leave window event.
void bj_push_cursor_event(struct bj_window *window, int x, int y)
Push a cursor movement event.
void(* bj_key_callback_fn)(struct bj_window *window, const struct bj_key_event *event, void *user_data)
Define the callback type for keyboard key events.
Definition event.h:494
bj_key
List of possible keys on a keyboard.
Definition event.h:150
bj_event_type
Identify the type of a generic event.
Definition event.h:438
void bj_push_event(const struct bj_event *e)
Push a custom event to the internal event queue.
bj_event_action
Define event action types for keys or mouse buttons.
Definition event.h:390
bj_button_callback_fn bj_set_button_callback(bj_button_callback_fn callback, void *user_data)
Set the global callback for mouse button events.
@ BJ_KEY_F10
F10 key.
Definition event.h:264
@ BJ_KEY_XBUTTON2
X2 mouse button.
Definition event.h:157
@ BJ_KEY_U
U key.
Definition event.h:228
@ BJ_KEY_RMENU
Right Alt key.
Definition event.h:289
@ BJ_KEY_4
4 key
Definition event.h:201
@ BJ_KEY_DELETE
Delete key.
Definition event.h:195
@ BJ_KEY_LSHIFT
Left Shift key.
Definition event.h:284
@ BJ_KEY_MEDIA_PREV_TRACK
Previous Track key.
Definition event.h:301
@ BJ_KEY_F24
F24 key.
Definition event.h:278
@ BJ_KEY_LBUTTON
Left mouse button.
Definition event.h:152
@ BJ_KEY_M
M key.
Definition event.h:220
@ BJ_KEY_L
L key.
Definition event.h:219
@ BJ_KEY_MODECHANGE
IME mode change request.
Definition event.h:180
@ BJ_KEY_O
O key.
Definition event.h:222
@ BJ_KEY_S
S key.
Definition event.h:226
@ BJ_KEY_DOWN
Down arrow key.
Definition event.h:189
@ BJ_KEY_G
G key.
Definition event.h:214
@ BJ_KEY_OEM_PERIOD
For any country/region, the .
Definition event.h:313
@ BJ_KEY_Y
Y key.
Definition event.h:232
@ BJ_KEY_F17
F17 key.
Definition event.h:271
@ BJ_KEY_F18
F18 key.
Definition event.h:272
@ BJ_KEY_RWIN
Right Windows logo key.
Definition event.h:235
@ BJ_KEY_FINAL
IME final mode.
Definition event.h:173
@ BJ_KEY_CONVERT
IME convert.
Definition event.h:177
@ BJ_KEY_SCROLL
Scroll lock key.
Definition event.h:281
@ BJ_KEY_OEM_1
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:309
@ BJ_KEY_T
T key.
Definition event.h:227
@ BJ_KEY_OEM_7
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:320
@ BJ_KEY_8
8 key
Definition event.h:205
@ BJ_KEY_VOLUME_UP
Volume Up key.
Definition event.h:299
@ BJ_KEY_ADD
Add key.
Definition event.h:250
@ BJ_KEY_OEM_4
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:317
@ BJ_KEY_ATTN
Attn key.
Definition event.h:331
@ BJ_KEY_OEM_MINUS
For any country/region, the - key.
Definition event.h:312
@ BJ_KEY_W
W key.
Definition event.h:230
@ BJ_KEY_P
P key.
Definition event.h:223
@ BJ_KEY_KANJI
IME Hanja mode.
Definition event.h:174
@ BJ_KEY_ESCAPE
Esc key.
Definition event.h:176
@ BJ_KEY_E
E key.
Definition event.h:212
@ BJ_KEY_SLEEP
Computer Sleep key.
Definition event.h:238
@ BJ_KEY_MEDIA_PLAY_PAUSE
Play/Pause Media key.
Definition event.h:303
@ BJ_KEY_F22
F22 key.
Definition event.h:276
@ BJ_KEY_RSHIFT
Right Shift key.
Definition event.h:285
@ BJ_KEY_BROWSER_SEARCH
Browser Search key.
Definition event.h:294
@ BJ_KEY_SEPARATOR
Separator key.
Definition event.h:251
@ BJ_KEY_HELP
Help key.
Definition event.h:196
@ BJ_KEY_F19
F19 key.
Definition event.h:273
@ BJ_KEY_9
9 key
Definition event.h:206
@ BJ_KEY_NUMPAD5
Numeric keypad 5 key.
Definition event.h:244
@ BJ_KEY_H
H key.
Definition event.h:215
@ BJ_KEY_5
5 key
Definition event.h:202
@ BJ_KEY_PROCESSKEY
IME PROCESS key.
Definition event.h:326
@ BJ_KEY_V
V key.
Definition event.h:229
@ BJ_KEY_EXECUTE
Execute key.
Definition event.h:192
@ BJ_KEY_LAUNCH_MAIL
Start Mail key.
Definition event.h:304
@ BJ_KEY_F1
F1 key.
Definition event.h:255
@ BJ_KEY_BROWSER_HOME
Browser Start and Home key.
Definition event.h:296
@ BJ_KEY_KANA
IME Kana mode.
Definition event.h:170
@ BJ_KEY_OEM_2
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:314
@ BJ_KEY_F16
F16 key.
Definition event.h:270
@ BJ_KEY_CRSEL
CrSel key.
Definition event.h:332
@ BJ_KEY_NEXT
Page down key.
Definition event.h:183
@ BJ_KEY_MBUTTON
Middle mouse button.
Definition event.h:155
@ BJ_KEY_J
J key.
Definition event.h:217
@ BJ_KEY_2
2 key
Definition event.h:199
@ BJ_KEY_IME_ON
IME On.
Definition event.h:171
@ BJ_KEY_NUMPAD7
Numeric keypad 7 key.
Definition event.h:246
@ BJ_KEY_NUMPAD1
Numeric keypad 1 key.
Definition event.h:240
@ BJ_KEY_OEM_COMMA
For any country/region, the , key.
Definition event.h:311
@ BJ_KEY_PRIOR
Page up key.
Definition event.h:182
@ BJ_KEY_F6
F6 key.
Definition event.h:260
@ BJ_KEY_CONTROL
Ctrl key.
Definition event.h:166
@ BJ_KEY_F23
F23 key.
Definition event.h:277
@ BJ_KEY_LWIN
Left Windows logo key.
Definition event.h:234
@ BJ_KEY_LEFT
Left arrow key.
Definition event.h:186
@ BJ_KEY_C
C key.
Definition event.h:210
@ BJ_KEY_IME_OFF
IME Off.
Definition event.h:175
@ BJ_KEY_F
F key.
Definition event.h:213
@ BJ_KEY_D
D key.
Definition event.h:211
@ BJ_KEY_NUMPAD8
Numeric keypad 8 key.
Definition event.h:247
@ BJ_KEY_RIGHT
Right arrow key.
Definition event.h:188
@ BJ_KEY_Q
Q key.
Definition event.h:224
@ BJ_KEY_BROWSER_REFRESH
Browser Refresh key.
Definition event.h:292
@ BJ_KEY_PRINT
Print key.
Definition event.h:191
@ BJ_KEY_N
N key.
Definition event.h:221
@ BJ_KEY_MEDIA_NEXT_TRACK
Next Track key.
Definition event.h:300
@ BJ_KEY_F15
F15 key.
Definition event.h:269
@ BJ_KEY_LAUNCH_APP1
Start Application 1 key.
Definition event.h:306
@ BJ_KEY_NUMLOCK
Num lock key.
Definition event.h:280
@ BJ_KEY_INSERT
Insert key.
Definition event.h:194
@ BJ_KEY_PLAY
Play key.
Definition event.h:335
@ BJ_KEY_DIVIDE
Divide key.
Definition event.h:254
@ BJ_KEY_EXSEL
ExSel key.
Definition event.h:333
@ BJ_KEY_F14
F14 key.
Definition event.h:268
@ BJ_KEY_ZOOM
Zoom key.
Definition event.h:336
@ BJ_KEY_ACCEPT
IME accept.
Definition event.h:179
@ BJ_KEY_DECIMAL
Decimal key.
Definition event.h:253
@ BJ_KEY_RBUTTON
Right mouse button.
Definition event.h:153
@ BJ_KEY_PACKET
Used to pass Unicode characters as if they were keystrokes.
Definition event.h:328
@ BJ_KEY_SNAPSHOT
Print screen key.
Definition event.h:193
@ BJ_KEY_F13
F13 key.
Definition event.h:267
@ BJ_KEY_K
K key.
Definition event.h:218
@ BJ_KEY_F4
F4 key.
Definition event.h:258
@ BJ_KEY_OEM_3
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:315
@ BJ_KEY_NUMPAD6
Numeric keypad 6 key.
Definition event.h:245
@ BJ_KEY_LAUNCH_MEDIA_SELECT
Select Media key.
Definition event.h:305
@ BJ_KEY_TAB
Tab key.
Definition event.h:160
@ BJ_KEY_EREOF
Erase EOF key.
Definition event.h:334
@ BJ_KEY_1
1 key
Definition event.h:198
@ BJ_KEY_F8
F8 key.
Definition event.h:262
@ BJ_KEY_VOLUME_MUTE
Volume Mute key.
Definition event.h:297
@ BJ_KEY_OEM_CLEAR
Clear key.
Definition event.h:339
@ BJ_KEY_Z
Z key.
Definition event.h:233
@ BJ_KEY_B
B key.
Definition event.h:209
@ BJ_KEY_F9
F9 key.
Definition event.h:263
@ BJ_KEY_R
R key.
Definition event.h:225
@ BJ_KEY_X
X key.
Definition event.h:231
@ BJ_KEY_PA1
PA1 key.
Definition event.h:338
@ BJ_KEY_NUMPAD3
Numeric keypad 3 key.
Definition event.h:242
@ BJ_KEY_6
6 key
Definition event.h:203
@ BJ_KEY_RCONTROL
Right Ctrl key.
Definition event.h:287
@ BJ_KEY_NUMPAD9
Numeric keypad 9 key.
Definition event.h:248
@ BJ_KEY_SUBTRACT
Subtract key.
Definition event.h:252
@ BJ_KEY_APPS
Application key.
Definition event.h:236
@ BJ_KEY_F7
F7 key.
Definition event.h:261
@ BJ_KEY_RETURN
Enter key.
Definition event.h:163
@ BJ_KEY_END
End key.
Definition event.h:184
@ BJ_KEY_BROWSER_STOP
Browser Stop key.
Definition event.h:293
@ BJ_KEY_LCONTROL
Left Ctrl key.
Definition event.h:286
@ BJ_KEY_3
3 key
Definition event.h:200
@ BJ_KEY_BROWSER_BACK
Browser Back key.
Definition event.h:290
@ BJ_KEY_CLEAR
Clear key.
Definition event.h:162
@ BJ_KEY_BROWSER_FORWARD
Browser Forward key.
Definition event.h:291
@ BJ_KEY_UNKNOWN
No Button.
Definition event.h:151
@ BJ_KEY_OEM_8
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:321
@ BJ_KEY_CAPITAL
Caps lock key.
Definition event.h:169
@ BJ_KEY_NONCONVERT
IME nonconvert.
Definition event.h:178
@ BJ_KEY_OEM_5
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:318
@ BJ_KEY_I
I key.
Definition event.h:216
@ BJ_KEY_F21
F21 key.
Definition event.h:275
@ BJ_KEY_F11
F11 key.
Definition event.h:265
@ BJ_KEY_HOME
Home key.
Definition event.h:185
@ BJ_KEY_PAUSE
Pause key.
Definition event.h:168
@ BJ_KEY_NUMPAD4
Numeric keypad 4 key.
Definition event.h:243
@ BJ_KEY_F20
F20 key.
Definition event.h:274
@ BJ_KEY_MENU
Alt key.
Definition event.h:167
@ BJ_KEY_BROWSER_FAVORITES
Browser Favorites key.
Definition event.h:295
@ BJ_KEY_MEDIA_STOP
Stop Media key.
Definition event.h:302
@ BJ_KEY_A
A key.
Definition event.h:208
@ BJ_KEY_F5
F5 key.
Definition event.h:259
@ BJ_KEY_BACK
Backspace key.
Definition event.h:159
@ BJ_KEY_OEM_PLUS
For any country/region, the + key.
Definition event.h:310
@ BJ_KEY_JUNJA
IME Junja mode.
Definition event.h:172
@ BJ_KEY_NUMPAD0
Numeric keypad 0 key.
Definition event.h:239
@ BJ_KEY_OEM_6
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:319
@ BJ_KEY_VOLUME_DOWN
Volume Down key.
Definition event.h:298
@ BJ_KEY_UP
Up arrow key.
Definition event.h:187
@ BJ_KEY_LAUNCH_APP2
Start Application 2 key.
Definition event.h:307
@ BJ_KEY_0
0 key
Definition event.h:197
@ BJ_KEY_F3
F3 key.
Definition event.h:257
@ BJ_KEY_SHIFT
Shift key.
Definition event.h:165
@ BJ_KEY_XBUTTON1
X1 mouse button.
Definition event.h:156
@ BJ_KEY_LMENU
Left Alt key.
Definition event.h:288
@ BJ_KEY_SELECT
Select key.
Definition event.h:190
@ BJ_KEY_CANCEL
Control-break processing.
Definition event.h:154
@ BJ_KEY_OEM_102
The <> keys on the US standard keyboard, or the \| key on the non-US 102-key keyboard.
Definition event.h:324
@ BJ_KEY_NUMPAD2
Numeric keypad 2 key.
Definition event.h:241
@ BJ_KEY_7
7 key
Definition event.h:204
@ BJ_KEY_MULTIPLY
Multiply key.
Definition event.h:249
@ BJ_KEY_SPACE
Spacebar key.
Definition event.h:181
@ BJ_KEY_F12
F12 key.
Definition event.h:266
@ BJ_KEY_NONAME
Reserved.
Definition event.h:337
@ BJ_KEY_F2
F2 key.
Definition event.h:256
@ BJ_EVENT_BUTTON
Mouse button.
Definition event.h:442
@ BJ_EVENT_KEY
Keyboard key.
Definition event.h:441
@ BJ_EVENT_ENTER
Mouse enter/leave.
Definition event.h:439
@ BJ_EVENT_CURSOR
Mouse move.
Definition event.h:440
@ BJ_PRESS
The key or button was pressed.
Definition event.h:392
@ BJ_REPEAT
The key is being held (repeats)
Definition event.h:393
@ BJ_RELEASE
The key or button was released.
Definition event.h:391
Represent a mouse button event.
Definition event.h:419
Represent a mouse cursor movement event.
Definition event.h:411
Represent a mouse enter or leave event.
Definition event.h:402
Represent a generic window-related event.
Definition event.h:453
Represent a keyboard key event.
Definition event.h:429