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