9#include "keyboard_virtual_key.hpp"
10#include "keyboard_modifiers.hpp"
11#include "../macros.hpp"
15[[
nodiscard]]
constexpr keyboard_virtual_key to_keyboard_virtual_key(
int key_code,
bool extended, keyboard_modifiers modifiers)
noexcept
19 return keyboard_virtual_key::menu;
21 return keyboard_virtual_key::backspace;
23 return keyboard_virtual_key::tab;
25 return keyboard_virtual_key::clear;
27 return keyboard_virtual_key::enter;
29 return keyboard_virtual_key::pause_break;
31 return keyboard_virtual_key::escape;
33 return keyboard_virtual_key::space;
35 return keyboard_virtual_key::page_up;
37 return keyboard_virtual_key::page_down;
39 return keyboard_virtual_key::end;
41 return keyboard_virtual_key::home;
43 return keyboard_virtual_key::left;
45 return keyboard_virtual_key::up;
47 return keyboard_virtual_key::right;
49 return keyboard_virtual_key::down;
51 return keyboard_virtual_key::print_screen;
53 return keyboard_virtual_key::print_screen;
55 return keyboard_virtual_key::insert;
57 return keyboard_virtual_key::_delete;
59 return keyboard_virtual_key::_0;
61 return keyboard_virtual_key::_1;
63 return keyboard_virtual_key::_2;
65 return keyboard_virtual_key::_3;
67 return keyboard_virtual_key::_4;
69 return keyboard_virtual_key::_5;
71 return keyboard_virtual_key::_6;
73 return keyboard_virtual_key::_7;
75 return keyboard_virtual_key::_8;
77 return keyboard_virtual_key::_9;
79 return keyboard_virtual_key::A;
81 return keyboard_virtual_key::B;
83 return keyboard_virtual_key::C;
85 return keyboard_virtual_key::D;
87 return keyboard_virtual_key::E;
89 return keyboard_virtual_key::F;
91 return keyboard_virtual_key::G;
93 return keyboard_virtual_key::H;
95 return keyboard_virtual_key::I;
97 return keyboard_virtual_key::J;
99 return keyboard_virtual_key::K;
101 return keyboard_virtual_key::L;
103 return keyboard_virtual_key::M;
105 return keyboard_virtual_key::N;
107 return keyboard_virtual_key::O;
109 return keyboard_virtual_key::P;
111 return keyboard_virtual_key::Q;
113 return keyboard_virtual_key::R;
115 return keyboard_virtual_key::S;
117 return keyboard_virtual_key::T;
119 return keyboard_virtual_key::U;
121 return keyboard_virtual_key::V;
123 return keyboard_virtual_key::W;
125 return keyboard_virtual_key::X;
127 return keyboard_virtual_key::Y;
129 return keyboard_virtual_key::Z;
131 return keyboard_virtual_key::_0;
133 return keyboard_virtual_key::_1;
135 return keyboard_virtual_key::_2;
137 return keyboard_virtual_key::_3;
139 return keyboard_virtual_key::_4;
141 return keyboard_virtual_key::_5;
143 return keyboard_virtual_key::_6;
145 return keyboard_virtual_key::_7;
147 return keyboard_virtual_key::_8;
149 return keyboard_virtual_key::_9;
151 return keyboard_virtual_key::star;
153 return keyboard_virtual_key::plus;
155 return keyboard_virtual_key::minus;
157 return keyboard_virtual_key::period;
159 return keyboard_virtual_key::slash;
161 return keyboard_virtual_key::F1;
163 return keyboard_virtual_key::F2;
165 return keyboard_virtual_key::F3;
167 return keyboard_virtual_key::F4;
169 return keyboard_virtual_key::F5;
171 return keyboard_virtual_key::F6;
173 return keyboard_virtual_key::F7;
175 return keyboard_virtual_key::F8;
177 return keyboard_virtual_key::F9;
179 return keyboard_virtual_key::F10;
181 return keyboard_virtual_key::F11;
183 return keyboard_virtual_key::F12;
185 return keyboard_virtual_key::F13;
187 return keyboard_virtual_key::F14;
189 return keyboard_virtual_key::F15;
191 return keyboard_virtual_key::F16;
193 return keyboard_virtual_key::F17;
195 return keyboard_virtual_key::F18;
197 return keyboard_virtual_key::F19;
199 return keyboard_virtual_key::F20;
201 return keyboard_virtual_key::F21;
203 return keyboard_virtual_key::F22;
205 return keyboard_virtual_key::F23;
207 return keyboard_virtual_key::F24;
209 return keyboard_virtual_key::browser_back;
211 return keyboard_virtual_key::browser_forward;
213 return keyboard_virtual_key::browser_refresh;
215 return keyboard_virtual_key::browser_stop;
217 return keyboard_virtual_key::browser_search;
219 return keyboard_virtual_key::browser_favorites;
221 return keyboard_virtual_key::browser_home;
223 return keyboard_virtual_key::volume_mute;
225 return keyboard_virtual_key::volume_down;
227 return keyboard_virtual_key::volume_up;
229 return keyboard_virtual_key::media_next_track;
231 return keyboard_virtual_key::media_prev_track;
233 return keyboard_virtual_key::media_stop;
235 return keyboard_virtual_key::media_play_pause;
237 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::colon : keyboard_virtual_key::semi_colon;
239 return keyboard_virtual_key::plus;
241 return keyboard_virtual_key::comma;
243 return keyboard_virtual_key::minus;
245 return keyboard_virtual_key::period;
247 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::question : keyboard_virtual_key::slash;
249 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::tilde : keyboard_virtual_key::backtick;
251 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::open_brace :
252 keyboard_virtual_key::open_bracket;
254 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::pipe : keyboard_virtual_key::backslash;
256 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::close_brace :
257 keyboard_virtual_key::close_bracket;
259 return to_bool(modifiers & keyboard_modifiers::shift) ? keyboard_virtual_key::double_quote : keyboard_virtual_key::quote;
261 return keyboard_virtual_key::media_play_pause;
263 return keyboard_virtual_key::clear;
265 return keyboard_virtual_key::nul;
Rules for working with win32 headers.
DOXYGEN BUG.
Definition algorithm.hpp:16
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377