Banjo API 0.0.1
C99 game development API
Loading...
Searching...
No Matches
event.h
Go to the documentation of this file.
1
16
17#ifndef BJ_EVENT_H
18#define BJ_EVENT_H
19
20#include <banjo/window.h>
21
23#define BJ_BUTTON_1 1
25#define BJ_BUTTON_2 2
27#define BJ_BUTTON_3 3
29#define BJ_BUTTON_4 4
31#define BJ_BUTTON_5 5
33#define BJ_BUTTON_LEFT BJ_BUTTON_1
35#define BJ_BUTTON_RIGHT BJ_BUTTON_3
37#define BJ_BUTTON_MIDDLE BJ_BUTTON_2
39#define BJ_BUTTON_UP BJ_BUTTON_4
41#define BJ_BUTTON_DOWN BJ_BUTTON_5
42
57enum bj_key {
65 // 0x07 Reserved
66 BJ_KEY_BACK = 0x08,
67 BJ_KEY_TAB = 0x09,
68 // 0x0A-0B Reserved
69 BJ_KEY_CLEAR = 0x0C,
71 // 0x0E-0F Unassigned
72 BJ_KEY_SHIFT = 0x10,
74 BJ_KEY_MENU = 0x12,
75 BJ_KEY_PAUSE = 0x13,
77 BJ_KEY_KANA = 0x15,
79 BJ_KEY_JUNJA = 0x17,
80 BJ_KEY_FINAL = 0x18,
81 BJ_KEY_KANJI = 0x19,
88 BJ_KEY_SPACE = 0x20,
89 BJ_KEY_PRIOR = 0x21,
90 BJ_KEY_NEXT = 0x22,
91 BJ_KEY_END = 0x23,
92 BJ_KEY_HOME = 0x24,
93 BJ_KEY_LEFT = 0x25,
94 BJ_KEY_UP = 0x26,
95 BJ_KEY_RIGHT = 0x27,
96 BJ_KEY_DOWN = 0x28,
98 BJ_KEY_PRINT = 0x2A,
103 BJ_KEY_HELP = 0x2F,
104 BJ_KEY_0 = 0x30,
105 BJ_KEY_1 = 0x31,
106 BJ_KEY_2 = 0x32,
107 BJ_KEY_3 = 0x33,
108 BJ_KEY_4 = 0x34,
109 BJ_KEY_5 = 0x35,
110 BJ_KEY_6 = 0x36,
111 BJ_KEY_7 = 0x37,
112 BJ_KEY_8 = 0x38,
113 BJ_KEY_9 = 0x39,
114 // 0x3A-40 Undefined
115 BJ_KEY_A = 0x41,
116 BJ_KEY_B = 0x42,
117 BJ_KEY_C = 0x43,
118 BJ_KEY_D = 0x44,
119 BJ_KEY_E = 0x45,
120 BJ_KEY_F = 0x46,
121 BJ_KEY_G = 0x47,
122 BJ_KEY_H = 0x48,
123 BJ_KEY_I = 0x49,
124 BJ_KEY_J = 0x4A,
125 BJ_KEY_K = 0x4B,
126 BJ_KEY_L = 0x4C,
127 BJ_KEY_M = 0x4D,
128 BJ_KEY_N = 0x4E,
129 BJ_KEY_O = 0x4F,
130 BJ_KEY_P = 0x50,
131 BJ_KEY_Q = 0x51,
132 BJ_KEY_R = 0x52,
133 BJ_KEY_S = 0x53,
134 BJ_KEY_T = 0x54,
135 BJ_KEY_U = 0x55,
136 BJ_KEY_V = 0x56,
137 BJ_KEY_W = 0x57,
138 BJ_KEY_X = 0x58,
139 BJ_KEY_Y = 0x59,
140 BJ_KEY_Z = 0x5A,
141 BJ_KEY_LWIN = 0x5B,
142 BJ_KEY_RWIN = 0x5C,
143 BJ_KEY_APPS = 0x5D,
144 // 0x5E Reserved
157 BJ_KEY_ADD = 0x6B,
162 BJ_KEY_F1 = 0x70,
163 BJ_KEY_F2 = 0x71,
164 BJ_KEY_F3 = 0x72,
165 BJ_KEY_F4 = 0x73,
166 BJ_KEY_F5 = 0x74,
167 BJ_KEY_F6 = 0x75,
168 BJ_KEY_F7 = 0x76,
169 BJ_KEY_F8 = 0x77,
170 BJ_KEY_F9 = 0x78,
171 BJ_KEY_F10 = 0x79,
172 BJ_KEY_F11 = 0x7A,
173 BJ_KEY_F12 = 0x7B,
174 BJ_KEY_F13 = 0x7C,
175 BJ_KEY_F14 = 0x7D,
176 BJ_KEY_F15 = 0x7E,
177 BJ_KEY_F16 = 0x7F,
178 BJ_KEY_F17 = 0x80,
179 BJ_KEY_F18 = 0x81,
180 BJ_KEY_F19 = 0x82,
181 BJ_KEY_F20 = 0x83,
182 BJ_KEY_F21 = 0x84,
183 BJ_KEY_F22 = 0x85,
184 BJ_KEY_F23 = 0x86,
185 BJ_KEY_F24 = 0x87,
186 // 0x88-8F Reserved
189 // 0x92-96 OEM specific
190 // 0x97-9F Unassigned
215 // 0xB8-B9 Reserved
223 // 0xC1-DA Reserved
229 // 0xE0 Reserved
230 // 0xE1 OEM specific
232 // 0xE3-E4 OEM specific
234 // 0xE6 OEM specific
236 // 0xE8 Unassigned
237 // 0xE9-F5 OEM specific
238 BJ_KEY_ATTN = 0xF6,
242 BJ_KEY_PLAY = 0xFA,
243 BJ_KEY_ZOOM = 0xFB,
245 BJ_KEY_PA1 = 0xFD,
247};
248
249// Some Keycode aliases
250#define BJ_KEY_APOSTROPHE BJ_KEY_OEM_7
251#define BJ_KEY_BACKSLASH BJ_KEY_OEM_5
252#define BJ_KEY_BACKSPACE BJ_KEY_BACK
253#define BJ_KEY_CAPSLOCK BJ_KEY_CAPITAL
254#define BJ_KEY_COMMA BJ_KEY_OEM_COMMA
255#define BJ_KEY_ENTER BJ_KEY_RETURN
256#define BJ_KEY_GRAVE_ACCENT BJ_KEY_OEM_3
257#define BJ_KEY_HANGUL BJ_KEY_KANA
258#define BJ_KEY_HANJA BJ_KEY_KANJI
259#define BJ_KEY_LEFT_ALT BJ_KEY_LMENU
260#define BJ_KEY_LEFT_BRACKET BJ_KEY_OEM_4
261#define BJ_KEY_LEFT_CONTROL BJ_KEY_LCONTROL
262#define BJ_KEY_LEFT_OS BJ_KEY_LWIN
263#define BJ_KEY_LEFT_SHIT BJ_KEY_LSHIFT
264#define BJ_KEY_MINUS BJ_KEY_OEM_MINUS
265#define BJ_KEY_PAGE_DOWN BJ_KEY_NEXT
266#define BJ_KEY_PAGE_UP BJ_KEY_PRIOR
267#define BJ_KEY_PERIOD BJ_KEY_OEM_PERIOD
268#define BJ_KEY_PLUS BJ_KEY_OEM_PLUS
269#define BJ_KEY_PRINT_SCREEN BJ_KEY_SNAPSHOT
270#define BJ_KEY_RIGHT_ALT BJ_KEY_RMENU
271#define BJ_KEY_RIGHT_BRACKET BJ_KEY_OEM_6
272#define BJ_KEY_RIGHT_CONTROL BJ_KEY_RCONTROL
273#define BJ_KEY_RIGHT_OS BJ_KEY_RWIN
274#define BJ_KEY_RIGHT_SHIFT BJ_KEY_RSHIFT
275#define BJ_KEY_SEMICOLON BJ_KEY_OEM_1
276#define BJ_KEY_SLASH BJ_KEY_OEM_2
277
289BANJO_EXPORT const char* bj_key_name(int key);
290
299
304 int x;
305 int y;
307};
308
313 int x;
314 int y;
315};
316
326
335
345
351struct bj_event {
354 union {
355 struct bj_key_event key;
356 struct bj_button_event button;
357 struct bj_cursor_event cursor;
358 struct bj_enter_event enter;
359 };
360};
361
368typedef void(* bj_enter_callback_fn)(struct bj_window* window, const struct bj_enter_event* event, void* user_data);
369
376typedef void(* bj_cursor_callback_fn)(struct bj_window* window, const struct bj_cursor_event* event, void* user_data);
377
384typedef void(* bj_button_callback_fn)(struct bj_window* window, const struct bj_button_event* event, void* user_data);
385
392typedef void(* bj_key_callback_fn)(struct bj_window* window, const struct bj_key_event* event, void* user_data);
393
404 bj_cursor_callback_fn callback,
405 void* user_data
406);
407
418 bj_button_callback_fn callback,
419 void* user_data
420);
421
436 bj_key_callback_fn callback,
437 void* user_data
438);
439
450 bj_enter_callback_fn callback,
451 void* user_data
452);
453
470 struct bj_window* window,
471 const struct bj_key_event* event,
472 void* user_data
473);
474
485void bj_push_event(const struct bj_event* e);
486
498
507void bj_push_cursor_event(struct bj_window* window, int x, int y);
508
519void bj_push_button_event(struct bj_window* window, int button, enum bj_event_action action, int x, int y);
520
530void bj_push_enter_event(struct bj_window* window, bj_bool enter, int x, int y);
531
544
556 struct bj_event* event
557);
558
568 const struct bj_event* event
569);
570
571
572#endif
#define BANJO_EXPORT
Definition api.h:155
uint32_t bj_bool
Boolean type used throughout the Banjo API.
Definition api.h:249
struct bj_window bj_window
Definition api.h:357
int y
Cursor y position.
Definition event.h:314
int y
Cursor y position.
Definition event.h:305
int x
Cursor x position.
Definition event.h:321
int y
Cursor y position.
Definition event.h:322
struct bj_cursor_event cursor
Cursor event data.
struct bj_key_event key
Key event data.
int scancode
Scancode (layout-independent)
Definition event.h:332
struct bj_window * window
Target window.
Definition event.h:352
int button
Button identifier (e.g., BJ_BUTTON_LEFT)
Definition event.h:324
bj_bool enter
BJ_TRUE if entering window, BJ_FALSE if leaving.
Definition event.h:306
enum bj_event_action action
Action (press/release/repeat)
Definition event.h:333
enum bj_event_action action
Action (press/release)
Definition event.h:323
int x
Cursor x position.
Definition event.h:304
enum bj_event_type type
Type of event.
Definition event.h:353
enum bj_key key
Key identifier.
Definition event.h:331
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:313
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:384
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:368
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:376
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:392
bj_key
List of possible keys on a keyboard.
Definition event.h:57
bj_event_type
Identify the type of a generic event.
Definition event.h:339
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:294
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:171
@ BJ_KEY_XBUTTON2
X2 mouse button.
Definition event.h:64
@ BJ_KEY_U
U key.
Definition event.h:135
@ BJ_KEY_RMENU
Right Alt key.
Definition event.h:196
@ BJ_KEY_4
4 key
Definition event.h:108
@ BJ_KEY_DELETE
Delete key.
Definition event.h:102
@ BJ_KEY_LSHIFT
Left Shift key.
Definition event.h:191
@ BJ_KEY_MEDIA_PREV_TRACK
Previous Track key.
Definition event.h:208
@ BJ_KEY_F24
F24 key.
Definition event.h:185
@ BJ_KEY_LBUTTON
Left mouse button.
Definition event.h:59
@ BJ_KEY_M
M key.
Definition event.h:127
@ BJ_KEY_L
L key.
Definition event.h:126
@ BJ_KEY_MODECHANGE
IME mode change request.
Definition event.h:87
@ BJ_KEY_O
O key.
Definition event.h:129
@ BJ_KEY_S
S key.
Definition event.h:133
@ BJ_KEY_DOWN
Down arrow key.
Definition event.h:96
@ BJ_KEY_G
G key.
Definition event.h:121
@ BJ_KEY_OEM_PERIOD
For any country/region, the .
Definition event.h:220
@ BJ_KEY_Y
Y key.
Definition event.h:139
@ BJ_KEY_F17
F17 key.
Definition event.h:178
@ BJ_KEY_F18
F18 key.
Definition event.h:179
@ BJ_KEY_RWIN
Right Windows logo key.
Definition event.h:142
@ BJ_KEY_FINAL
IME final mode.
Definition event.h:80
@ BJ_KEY_CONVERT
IME convert.
Definition event.h:84
@ BJ_KEY_SCROLL
Scroll lock key.
Definition event.h:188
@ BJ_KEY_OEM_1
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:216
@ BJ_KEY_T
T key.
Definition event.h:134
@ BJ_KEY_OEM_7
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:227
@ BJ_KEY_8
8 key
Definition event.h:112
@ BJ_KEY_VOLUME_UP
Volume Up key.
Definition event.h:206
@ BJ_KEY_ADD
Add key.
Definition event.h:157
@ BJ_KEY_OEM_4
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:224
@ BJ_KEY_ATTN
Attn key.
Definition event.h:238
@ BJ_KEY_OEM_MINUS
For any country/region, the - key.
Definition event.h:219
@ BJ_KEY_W
W key.
Definition event.h:137
@ BJ_KEY_P
P key.
Definition event.h:130
@ BJ_KEY_KANJI
IME Hanja mode.
Definition event.h:81
@ BJ_KEY_ESCAPE
Esc key.
Definition event.h:83
@ BJ_KEY_E
E key.
Definition event.h:119
@ BJ_KEY_SLEEP
Computer Sleep key.
Definition event.h:145
@ BJ_KEY_MEDIA_PLAY_PAUSE
Play/Pause Media key.
Definition event.h:210
@ BJ_KEY_F22
F22 key.
Definition event.h:183
@ BJ_KEY_RSHIFT
Right Shift key.
Definition event.h:192
@ BJ_KEY_BROWSER_SEARCH
Browser Search key.
Definition event.h:201
@ BJ_KEY_SEPARATOR
Separator key.
Definition event.h:158
@ BJ_KEY_HELP
Help key.
Definition event.h:103
@ BJ_KEY_F19
F19 key.
Definition event.h:180
@ BJ_KEY_9
9 key
Definition event.h:113
@ BJ_KEY_NUMPAD5
Numeric keypad 5 key.
Definition event.h:151
@ BJ_KEY_H
H key.
Definition event.h:122
@ BJ_KEY_5
5 key
Definition event.h:109
@ BJ_KEY_PROCESSKEY
IME PROCESS key.
Definition event.h:233
@ BJ_KEY_V
V key.
Definition event.h:136
@ BJ_KEY_EXECUTE
Execute key.
Definition event.h:99
@ BJ_KEY_LAUNCH_MAIL
Start Mail key.
Definition event.h:211
@ BJ_KEY_F1
F1 key.
Definition event.h:162
@ BJ_KEY_BROWSER_HOME
Browser Start and Home key.
Definition event.h:203
@ BJ_KEY_KANA
IME Kana mode.
Definition event.h:77
@ BJ_KEY_OEM_2
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:221
@ BJ_KEY_F16
F16 key.
Definition event.h:177
@ BJ_KEY_CRSEL
CrSel key.
Definition event.h:239
@ BJ_KEY_NEXT
Page down key.
Definition event.h:90
@ BJ_KEY_MBUTTON
Middle mouse button.
Definition event.h:62
@ BJ_KEY_J
J key.
Definition event.h:124
@ BJ_KEY_2
2 key
Definition event.h:106
@ BJ_KEY_IME_ON
IME On.
Definition event.h:78
@ BJ_KEY_NUMPAD7
Numeric keypad 7 key.
Definition event.h:153
@ BJ_KEY_NUMPAD1
Numeric keypad 1 key.
Definition event.h:147
@ BJ_KEY_OEM_COMMA
For any country/region, the , key.
Definition event.h:218
@ BJ_KEY_PRIOR
Page up key.
Definition event.h:89
@ BJ_KEY_F6
F6 key.
Definition event.h:167
@ BJ_KEY_CONTROL
Ctrl key.
Definition event.h:73
@ BJ_KEY_F23
F23 key.
Definition event.h:184
@ BJ_KEY_LWIN
Left Windows logo key.
Definition event.h:141
@ BJ_KEY_LEFT
Left arrow key.
Definition event.h:93
@ BJ_KEY_C
C key.
Definition event.h:117
@ BJ_KEY_IME_OFF
IME Off.
Definition event.h:82
@ BJ_KEY_F
F key.
Definition event.h:120
@ BJ_KEY_D
D key.
Definition event.h:118
@ BJ_KEY_NUMPAD8
Numeric keypad 8 key.
Definition event.h:154
@ BJ_KEY_RIGHT
Right arrow key.
Definition event.h:95
@ BJ_KEY_Q
Q key.
Definition event.h:131
@ BJ_KEY_BROWSER_REFRESH
Browser Refresh key.
Definition event.h:199
@ BJ_KEY_PRINT
Print key.
Definition event.h:98
@ BJ_KEY_N
N key.
Definition event.h:128
@ BJ_KEY_MEDIA_NEXT_TRACK
Next Track key.
Definition event.h:207
@ BJ_KEY_F15
F15 key.
Definition event.h:176
@ BJ_KEY_LAUNCH_APP1
Start Application 1 key.
Definition event.h:213
@ BJ_KEY_NUMLOCK
Num lock key.
Definition event.h:187
@ BJ_KEY_INSERT
Insert key.
Definition event.h:101
@ BJ_KEY_PLAY
Play key.
Definition event.h:242
@ BJ_KEY_DIVIDE
Divide key.
Definition event.h:161
@ BJ_KEY_EXSEL
ExSel key.
Definition event.h:240
@ BJ_KEY_F14
F14 key.
Definition event.h:175
@ BJ_KEY_ZOOM
Zoom key.
Definition event.h:243
@ BJ_KEY_ACCEPT
IME accept.
Definition event.h:86
@ BJ_KEY_DECIMAL
Decimal key.
Definition event.h:160
@ BJ_KEY_RBUTTON
Right mouse button.
Definition event.h:60
@ BJ_KEY_PACKET
Used to pass Unicode characters as if they were keystrokes.
Definition event.h:235
@ BJ_KEY_SNAPSHOT
Print screen key.
Definition event.h:100
@ BJ_KEY_F13
F13 key.
Definition event.h:174
@ BJ_KEY_K
K key.
Definition event.h:125
@ BJ_KEY_F4
F4 key.
Definition event.h:165
@ BJ_KEY_OEM_3
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:222
@ BJ_KEY_NUMPAD6
Numeric keypad 6 key.
Definition event.h:152
@ BJ_KEY_LAUNCH_MEDIA_SELECT
Select Media key.
Definition event.h:212
@ BJ_KEY_TAB
Tab key.
Definition event.h:67
@ BJ_KEY_EREOF
Erase EOF key.
Definition event.h:241
@ BJ_KEY_1
1 key
Definition event.h:105
@ BJ_KEY_F8
F8 key.
Definition event.h:169
@ BJ_KEY_VOLUME_MUTE
Volume Mute key.
Definition event.h:204
@ BJ_KEY_OEM_CLEAR
Clear key.
Definition event.h:246
@ BJ_KEY_Z
Z key.
Definition event.h:140
@ BJ_KEY_B
B key.
Definition event.h:116
@ BJ_KEY_F9
F9 key.
Definition event.h:170
@ BJ_KEY_R
R key.
Definition event.h:132
@ BJ_KEY_X
X key.
Definition event.h:138
@ BJ_KEY_PA1
PA1 key.
Definition event.h:245
@ BJ_KEY_NUMPAD3
Numeric keypad 3 key.
Definition event.h:149
@ BJ_KEY_6
6 key
Definition event.h:110
@ BJ_KEY_RCONTROL
Right Ctrl key.
Definition event.h:194
@ BJ_KEY_NUMPAD9
Numeric keypad 9 key.
Definition event.h:155
@ BJ_KEY_SUBTRACT
Subtract key.
Definition event.h:159
@ BJ_KEY_APPS
Application key.
Definition event.h:143
@ BJ_KEY_F7
F7 key.
Definition event.h:168
@ BJ_KEY_RETURN
Enter key.
Definition event.h:70
@ BJ_KEY_END
End key.
Definition event.h:91
@ BJ_KEY_BROWSER_STOP
Browser Stop key.
Definition event.h:200
@ BJ_KEY_LCONTROL
Left Ctrl key.
Definition event.h:193
@ BJ_KEY_3
3 key
Definition event.h:107
@ BJ_KEY_BROWSER_BACK
Browser Back key.
Definition event.h:197
@ BJ_KEY_CLEAR
Clear key.
Definition event.h:69
@ BJ_KEY_BROWSER_FORWARD
Browser Forward key.
Definition event.h:198
@ BJ_KEY_UNKNOWN
No Button.
Definition event.h:58
@ BJ_KEY_OEM_8
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:228
@ BJ_KEY_CAPITAL
Caps lock key.
Definition event.h:76
@ BJ_KEY_NONCONVERT
IME nonconvert.
Definition event.h:85
@ BJ_KEY_OEM_5
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:225
@ BJ_KEY_I
I key.
Definition event.h:123
@ BJ_KEY_F21
F21 key.
Definition event.h:182
@ BJ_KEY_F11
F11 key.
Definition event.h:172
@ BJ_KEY_HOME
Home key.
Definition event.h:92
@ BJ_KEY_PAUSE
Pause key.
Definition event.h:75
@ BJ_KEY_NUMPAD4
Numeric keypad 4 key.
Definition event.h:150
@ BJ_KEY_F20
F20 key.
Definition event.h:181
@ BJ_KEY_MENU
Alt key.
Definition event.h:74
@ BJ_KEY_BROWSER_FAVORITES
Browser Favorites key.
Definition event.h:202
@ BJ_KEY_MEDIA_STOP
Stop Media key.
Definition event.h:209
@ BJ_KEY_A
A key.
Definition event.h:115
@ BJ_KEY_F5
F5 key.
Definition event.h:166
@ BJ_KEY_BACK
Backspace key.
Definition event.h:66
@ BJ_KEY_OEM_PLUS
For any country/region, the + key.
Definition event.h:217
@ BJ_KEY_JUNJA
IME Junja mode.
Definition event.h:79
@ BJ_KEY_NUMPAD0
Numeric keypad 0 key.
Definition event.h:146
@ BJ_KEY_OEM_6
Used for miscellaneous characters; it can vary by keyboard.
Definition event.h:226
@ BJ_KEY_VOLUME_DOWN
Volume Down key.
Definition event.h:205
@ BJ_KEY_UP
Up arrow key.
Definition event.h:94
@ BJ_KEY_LAUNCH_APP2
Start Application 2 key.
Definition event.h:214
@ BJ_KEY_0
0 key
Definition event.h:104
@ BJ_KEY_F3
F3 key.
Definition event.h:164
@ BJ_KEY_SHIFT
Shift key.
Definition event.h:72
@ BJ_KEY_XBUTTON1
X1 mouse button.
Definition event.h:63
@ BJ_KEY_LMENU
Left Alt key.
Definition event.h:195
@ BJ_KEY_SELECT
Select key.
Definition event.h:97
@ BJ_KEY_CANCEL
Control-break processing.
Definition event.h:61
@ BJ_KEY_OEM_102
The <> keys on the US standard keyboard, or the \| key on the non-US 102-key keyboard.
Definition event.h:231
@ BJ_KEY_NUMPAD2
Numeric keypad 2 key.
Definition event.h:148
@ BJ_KEY_7
7 key
Definition event.h:111
@ BJ_KEY_MULTIPLY
Multiply key.
Definition event.h:156
@ BJ_KEY_SPACE
Spacebar key.
Definition event.h:88
@ BJ_KEY_F12
F12 key.
Definition event.h:173
@ BJ_KEY_NONAME
Reserved.
Definition event.h:244
@ BJ_KEY_F2
F2 key.
Definition event.h:163
@ BJ_EVENT_BUTTON
Mouse button.
Definition event.h:343
@ BJ_EVENT_KEY
Keyboard key.
Definition event.h:342
@ BJ_EVENT_ENTER
Mouse enter/leave.
Definition event.h:340
@ BJ_EVENT_CURSOR
Mouse move.
Definition event.h:341
@ BJ_PRESS
The key or button was pressed.
Definition event.h:296
@ BJ_REPEAT
The key is being held (repeats)
Definition event.h:297
@ BJ_RELEASE
The key or button was released.
Definition event.h:295
Represent a mouse button event.
Definition event.h:320
Represent a mouse cursor movement event.
Definition event.h:312
Represent a mouse enter or leave event.
Definition event.h:303
Represent a generic window-related event.
Definition event.h:351
Represent a keyboard key event.
Definition event.h:330
Header file for bj_window type.