Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
foray_helpers.hpp
Go to the documentation of this file.
1#pragma once
2#include "../foray_basics.hpp"
3#include <cstring>
4
5namespace foray::osi {
7 enum class EButton : uint16_t
8 {
9 Undefined = 0,
10 Keyboard_A = 4,
11 Keyboard_B = 5,
12 Keyboard_C = 6,
13 Keyboard_D = 7,
14 Keyboard_E = 8,
15 Keyboard_F = 9,
16 Keyboard_G = 10,
17 Keyboard_H = 11,
18 Keyboard_I = 12,
19 Keyboard_J = 13,
20 Keyboard_K = 14,
21 Keyboard_L = 15,
22 Keyboard_M = 16,
23 Keyboard_N = 17,
24 Keyboard_O = 18,
25 Keyboard_P = 19,
26 Keyboard_Q = 20,
27 Keyboard_R = 21,
28 Keyboard_S = 22,
29 Keyboard_T = 23,
30 Keyboard_U = 24,
31 Keyboard_V = 25,
32 Keyboard_W = 26,
33 Keyboard_X = 27,
34 Keyboard_Y = 28,
35 Keyboard_Z = 29,
36 Keyboard_1 = 30,
37 Keyboard_2 = 31,
38 Keyboard_3 = 32,
39 Keyboard_4 = 33,
40 Keyboard_5 = 34,
41 Keyboard_6 = 35,
42 Keyboard_7 = 36,
43 Keyboard_8 = 37,
44 Keyboard_9 = 38,
45 Keyboard_0 = 39,
46 Keyboard_Return = 40,
47 Keyboard_Escape = 41,
49 Keyboard_Tab = 43,
50 Keyboard_Space = 44,
51 Keyboard_Minus = 45,
52 Keyboard_Equals = 46,
59 Keyboard_Grave = 53,
60 Keyboard_Comma = 54,
61 Keyboard_Period = 55,
62 Keyboard_Slash = 56,
64 Keyboard_F1 = 58,
65 Keyboard_F2 = 59,
66 Keyboard_F3 = 60,
67 Keyboard_F4 = 61,
68 Keyboard_F5 = 62,
69 Keyboard_F6 = 63,
70 Keyboard_F7 = 64,
71 Keyboard_F8 = 65,
72 Keyboard_F9 = 66,
73 Keyboard_F10 = 67,
74 Keyboard_F11 = 68,
75 Keyboard_F12 = 69,
78 Keyboard_Pause = 72,
79 Keyboard_Insert = 73,
80 Keyboard_Home = 74,
81 Keyboard_Pageup = 75,
82 Keyboard_Delete = 76,
83 Keyboard_End = 77,
85 Keyboard_Right = 79,
86 Keyboard_Left = 80,
87 Keyboard_Down = 81,
88 Keyboard_Up = 82,
107 Keyboard_Context = 101,
108 Keyboard_Power = 102,
110 Keyboard_F13 = 104,
111 Keyboard_F14 = 105,
112 Keyboard_F15 = 106,
113 Keyboard_F16 = 107,
114 Keyboard_F17 = 108,
115 Keyboard_F18 = 109,
116 Keyboard_F19 = 110,
117 Keyboard_F20 = 111,
118 Keyboard_F21 = 112,
119 Keyboard_F22 = 113,
120 Keyboard_F23 = 114,
121 Keyboard_F24 = 115,
122 Keyboard_Execute = 116,
123 Keyboard_Help = 117,
124 Keyboard_Menu = 118,
125 Keyboard_Select = 119,
126 Keyboard_Stop = 120,
127 Keyboard_Again = 121,
128 Keyboard_Undo = 122,
129 Keyboard_Cut = 123,
130 Keyboard_Copy = 124,
131 Keyboard_Paste = 125,
132 Keyboard_Find = 126,
133 Keyboard_Mute = 127,
134 Keyboard_VolumeUp = 128,
147 Keyboard_Lang1 = 144,
148 Keyboard_Lang2 = 145,
149 Keyboard_Lang3 = 146,
150 Keyboard_Lang4 = 147,
151 Keyboard_Lang5 = 148,
152 Keyboard_Lang6 = 149,
153 Keyboard_Lang7 = 150,
154 Keyboard_Lang8 = 151,
155 Keyboard_Lang9 = 152,
156 Keyboard_Alterase = 153,
157 Keyboard_SysReq = 154,
158 Keyboard_Cancel = 155,
159 Keyboard_Clear = 156,
160 Keyboard_Prior = 157,
161 Keyboard_Return2 = 158,
162 Keyboard_Separator = 159,
163 Keyboard_Out = 160,
164 Keyboard_Oper = 161,
166 Keyboard_CRSEL = 163,
167 Keyboard_EXSEL = 164,
180 Keyboard_Numpad_A = 188,
181 Keyboard_Numpad_B = 189,
182 Keyboard_Numpad_C = 190,
183 Keyboard_Numpad_D = 191,
184 Keyboard_Numpad_E = 192,
185 Keyboard_Numpad_F = 193,
198 Keyboard_Numpad_AT = 206,
214 Keyboard_LCtrl = 224,
215 Keyboard_LShift = 225,
216 Keyboard_LAlt = 226,
217 Keyboard_LGui = 227,
218 Keyboard_RCtrl = 228,
219 Keyboard_RShift = 229,
220 Keyboard_RAlt = 230,
221 Keyboard_RGui = 231,
222 Keyboard_Mode = 257,
223 Keyboard_AudioNext = 258,
224 Keyboard_AudioPrev = 259,
225 Keyboard_AudioStop = 260,
226 Keyboard_AudioPlay = 261,
227 Keyboard_AudioMute = 262,
229 Keyboard_WWW = 264,
230 Keyboard_Mail = 265,
232 Keyboard_Computer = 267,
233 Keyboard_AC_Search = 268,
234 Keyboard_AC_Home = 269,
235 Keyboard_AC_Back = 270,
237 Keyboard_AC_Stop = 272,
243 Keyboard_Eject = 281,
244 Keyboard_Sleep = 282,
245 Keyboard_App1 = 283,
246 Keyboard_App2 = 284,
249 Mouse_Left = 287,
252 Mouse_X1,
253 Mouse_X2,
254 JoystickButton_0 = 292,
305 };
306
361
377
390} // namespace foray
Definition foray_env.hpp:7
EAxis
Definition foray_helpers.hpp:308
EDisplayMode
Supported modes of window display.
Definition foray_helpers.hpp:380
@ Windowed
An OS window with default borders etc.
@ FullscreenHardware
Hardwarelevel window (skips desktop window manager)
@ WindowedResizable
An OS window with default borders etc. and resizing enabled.
@ FullscreenWindowed
Fullscreen-like application, but run as a regular OS window.
EButton
All supported buttons (mouse, controllers, etc.) and keys (keyboard)
Definition foray_helpers.hpp:8
EDirectional
Enum for identification of stateless directional inputs.
Definition foray_helpers.hpp:364