Compare commits
No commits in common. "d6dda7c03098d9d9820afea9e51ec2f694f92625" and "3f455d0ca779a1d121e4e08911c81ac19ff5d925" have entirely different histories.
d6dda7c030
...
3f455d0ca7
7 changed files with 184 additions and 489 deletions
|
|
@ -274,7 +274,3 @@ target_link_libraries(
|
||||||
|
|
||||||
# add_executable_module(mirror entrypoint/mirror.cpp)
|
# add_executable_module(mirror entrypoint/mirror.cpp)
|
||||||
# target_link_libraries(mirror PRIVATE libmirror input)
|
# target_link_libraries(mirror PRIVATE libmirror input)
|
||||||
|
|
||||||
if(ENABLE_SANDBOX)
|
|
||||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sandbox/)
|
|
||||||
endif()
|
|
||||||
|
|
|
||||||
|
|
@ -2,288 +2,172 @@ export module input.codes;
|
||||||
import std;
|
import std;
|
||||||
|
|
||||||
export enum class Key: std::uint16_t {
|
export enum class Key: std::uint16_t {
|
||||||
none = 0,
|
/* digits */
|
||||||
|
D0 = 48,
|
||||||
left_mouse_button,
|
D1 = 49,
|
||||||
right_mouse_button,
|
D2 = 50,
|
||||||
middle_mouse_button,
|
D3 = 51,
|
||||||
|
D4 = 52,
|
||||||
left_mouse = left_mouse_button,
|
D5 = 53,
|
||||||
right_mouse = right_mouse_button,
|
D6 = 54,
|
||||||
middle_mouse = middle_mouse_button,
|
D7 = 55,
|
||||||
|
D8 = 56,
|
||||||
l_mouse = left_mouse_button,
|
D9 = 57,
|
||||||
r_mouse = right_mouse_button,
|
Semicolon = 59, // ;
|
||||||
m_mouse = middle_mouse_button,
|
Equal = 61, // =
|
||||||
|
|
||||||
backspace,
|
|
||||||
tab,
|
|
||||||
capslock,
|
|
||||||
enter,
|
|
||||||
space,
|
|
||||||
delete_,
|
|
||||||
|
|
||||||
shift,
|
|
||||||
left_shit = shift,
|
|
||||||
l_shift = shift,
|
|
||||||
|
|
||||||
right_shift,
|
|
||||||
r_shift = right_shift,
|
|
||||||
|
|
||||||
control,
|
|
||||||
left_control = control,
|
|
||||||
l_control = control,
|
|
||||||
ctrl = control,
|
|
||||||
left_ctrl = control,
|
|
||||||
l_ctrl = control,
|
|
||||||
|
|
||||||
right_control,
|
|
||||||
r_control = right_control,
|
|
||||||
right_ctrl = right_control,
|
|
||||||
r_ctrl = right_control,
|
|
||||||
|
|
||||||
alt,
|
|
||||||
left_alt = alt,
|
|
||||||
l_alt = alt,
|
|
||||||
|
|
||||||
right_alt,
|
|
||||||
r_alt = right_alt,
|
|
||||||
|
|
||||||
pageup,
|
|
||||||
pagedown,
|
|
||||||
home,
|
|
||||||
end,
|
|
||||||
|
|
||||||
left_arrow,
|
|
||||||
l_arrow = left_arrow,
|
|
||||||
|
|
||||||
up_arrow,
|
|
||||||
u_arrow = up_arrow,
|
|
||||||
|
|
||||||
right_arrow,
|
|
||||||
r_arrow = right_arrow,
|
|
||||||
|
|
||||||
down_arrow,
|
|
||||||
d_arrow = down_arrow,
|
|
||||||
|
|
||||||
cancel,
|
|
||||||
pause,
|
|
||||||
select,
|
|
||||||
print,
|
|
||||||
snapshot, // aka. print-screen
|
|
||||||
insert,
|
|
||||||
help,
|
|
||||||
sleep,
|
|
||||||
eep = sleep,
|
|
||||||
|
|
||||||
digit_0,
|
|
||||||
digit_1,
|
|
||||||
digit_2,
|
|
||||||
digit_3,
|
|
||||||
digit_4,
|
|
||||||
digit_5,
|
|
||||||
digit_6,
|
|
||||||
digit_7,
|
|
||||||
digit_8,
|
|
||||||
digit_9,
|
|
||||||
|
|
||||||
/* letters */
|
/* letters */
|
||||||
a,
|
A = 65,
|
||||||
b,
|
B = 66,
|
||||||
c,
|
C = 67,
|
||||||
d,
|
D = 68,
|
||||||
e,
|
E = 69,
|
||||||
f,
|
F = 70,
|
||||||
g,
|
G = 71,
|
||||||
h,
|
H = 72,
|
||||||
i,
|
I = 73,
|
||||||
j,
|
J = 74,
|
||||||
k,
|
K = 75,
|
||||||
l,
|
L = 76,
|
||||||
m,
|
M = 77,
|
||||||
n,
|
N = 78,
|
||||||
o,
|
O = 79,
|
||||||
p,
|
P = 80,
|
||||||
q,
|
Q = 81,
|
||||||
r,
|
R = 82,
|
||||||
s,
|
S = 83,
|
||||||
t,
|
t = 84,
|
||||||
u,
|
U = 85,
|
||||||
v,
|
V = 86,
|
||||||
w,
|
W = 87,
|
||||||
x,
|
X = 88,
|
||||||
y,
|
Y = 89,
|
||||||
z,
|
Z = 90,
|
||||||
|
|
||||||
super,
|
/* brackets */
|
||||||
left_super = super,
|
LeftBracket = 91, // [
|
||||||
l_super = super,
|
LBracket = LeftBracket, // [
|
||||||
|
RightBracket = 93, // ]
|
||||||
|
RBracket = RightBracket, // ]
|
||||||
|
|
||||||
right_super,
|
/* arrow */
|
||||||
r_super = right_super,
|
Right = 262,
|
||||||
|
RightArrow = Right,
|
||||||
|
RArrow = Right,
|
||||||
|
Left = 263,
|
||||||
|
LeftArrow = Left,
|
||||||
|
LArrow = Left,
|
||||||
|
Down = 264,
|
||||||
|
DownArrow = Down,
|
||||||
|
DArrow = Down,
|
||||||
|
Up = 265,
|
||||||
|
UpArrow = Up,
|
||||||
|
UArrow = Up,
|
||||||
|
|
||||||
kp_0,
|
/* page */
|
||||||
kp_1,
|
PageUp = 266,
|
||||||
kp_2,
|
PageDown = 267,
|
||||||
kp_3,
|
|
||||||
kp_4,
|
/* home/end */
|
||||||
kp_5,
|
Home = 268,
|
||||||
kp_6,
|
end = 269,
|
||||||
kp_7,
|
|
||||||
kp_8,
|
/* toggles */
|
||||||
kp_9,
|
CapsLock = 280,
|
||||||
kp_decimal,
|
ScrollLock = 281,
|
||||||
kp_divide,
|
NumLock = 282,
|
||||||
kp_multiply,
|
NumberLock = NumLock,
|
||||||
kp_subtract,
|
|
||||||
kp_add,
|
|
||||||
kp_enter,
|
|
||||||
kp_equal,
|
|
||||||
|
|
||||||
/* function */
|
/* function */
|
||||||
f1,
|
F1 = 290,
|
||||||
f2,
|
F2 = 291,
|
||||||
f3,
|
F3 = 292,
|
||||||
f4,
|
F4 = 293,
|
||||||
f5,
|
F5 = 294,
|
||||||
f6,
|
F6 = 295,
|
||||||
f7,
|
F7 = 296,
|
||||||
f8,
|
F8 = 297,
|
||||||
f9,
|
F9 = 298,
|
||||||
f10,
|
F10 = 299,
|
||||||
f11,
|
F11 = 300,
|
||||||
f12,
|
F12 = 301,
|
||||||
|
F13 = 302,
|
||||||
unknown,
|
F14 = 303,
|
||||||
};
|
F15 = 304,
|
||||||
|
F16 = 305,
|
||||||
export [[nodiscard]] constexpr auto to_string(Key key) -> std::string
|
F17 = 306,
|
||||||
{
|
F18 = 307,
|
||||||
using enum Key;
|
F19 = 308,
|
||||||
switch (key)
|
F20 = 309,
|
||||||
{
|
F21 = 310,
|
||||||
case none: return "<none>";
|
F22 = 311,
|
||||||
|
F23 = 312,
|
||||||
/* mouse */
|
F24 = 313,
|
||||||
case left_mouse_button: return "left_mouse_button";
|
F25 = 314,
|
||||||
case right_mouse_button: return "right_mouse_button";
|
|
||||||
case middle_mouse_button: return "middle_mouse_button";
|
|
||||||
|
|
||||||
/* editing / control */
|
|
||||||
case backspace: return "backspace";
|
|
||||||
case tab: return "tab";
|
|
||||||
case capslock: return "capslock";
|
|
||||||
case enter: return "enter";
|
|
||||||
case space: return "space";
|
|
||||||
case delete_: return "delete";
|
|
||||||
|
|
||||||
/* modifiers */
|
|
||||||
case shift: return "shift";
|
|
||||||
case control: return "control";
|
|
||||||
case right_control: return "right_control";
|
|
||||||
case alt: return "alt";
|
|
||||||
case right_alt: return "right_alt";
|
|
||||||
|
|
||||||
/* navigation */
|
|
||||||
case pageup: return "pageup";
|
|
||||||
case pagedown: return "pagedown";
|
|
||||||
case home: return "home";
|
|
||||||
case end: return "end";
|
|
||||||
|
|
||||||
case left_arrow: return "left_arrow";
|
|
||||||
case up_arrow: return "up_arrow";
|
|
||||||
case right_arrow: return "right_arrow";
|
|
||||||
case down_arrow: return "down_arrow";
|
|
||||||
|
|
||||||
/* system */
|
|
||||||
case cancel: return "cancel";
|
|
||||||
case pause: return "pause";
|
|
||||||
case select: return "select";
|
|
||||||
case print: return "print";
|
|
||||||
case snapshot: return "snapshot";
|
|
||||||
case insert: return "insert";
|
|
||||||
case help: return "help";
|
|
||||||
case sleep: return "sleep";
|
|
||||||
|
|
||||||
/* digits */
|
|
||||||
case digit_0: return "0";
|
|
||||||
case digit_1: return "1";
|
|
||||||
case digit_2: return "2";
|
|
||||||
case digit_3: return "3";
|
|
||||||
case digit_4: return "4";
|
|
||||||
case digit_5: return "5";
|
|
||||||
case digit_6: return "6";
|
|
||||||
case digit_7: return "7";
|
|
||||||
case digit_8: return "8";
|
|
||||||
case digit_9: return "9";
|
|
||||||
|
|
||||||
/* letters */
|
|
||||||
case a: return "a";
|
|
||||||
case b: return "b";
|
|
||||||
case c: return "c";
|
|
||||||
case d: return "d";
|
|
||||||
case e: return "e";
|
|
||||||
case f: return "f";
|
|
||||||
case g: return "g";
|
|
||||||
case h: return "h";
|
|
||||||
case i: return "i";
|
|
||||||
case j: return "j";
|
|
||||||
case k: return "k";
|
|
||||||
case l: return "l";
|
|
||||||
case m: return "m";
|
|
||||||
case n: return "n";
|
|
||||||
case o: return "o";
|
|
||||||
case p: return "p";
|
|
||||||
case q: return "q";
|
|
||||||
case r: return "r";
|
|
||||||
case s: return "s";
|
|
||||||
case t: return "t";
|
|
||||||
case u: return "u";
|
|
||||||
case v: return "v";
|
|
||||||
case w: return "w";
|
|
||||||
case x: return "x";
|
|
||||||
case y: return "y";
|
|
||||||
case z: return "z";
|
|
||||||
|
|
||||||
/* super / meta */
|
|
||||||
case super: return "super";
|
|
||||||
case right_super: return "right_super";
|
|
||||||
|
|
||||||
/* keypad */
|
/* keypad */
|
||||||
case kp_0: return "kp_0";
|
Kp0 = 320,
|
||||||
case kp_1: return "kp_1";
|
Kp1 = 321,
|
||||||
case kp_2: return "kp_2";
|
Kp2 = 322,
|
||||||
case kp_3: return "kp_3";
|
Kp3 = 323,
|
||||||
case kp_4: return "kp_4";
|
Kp4 = 324,
|
||||||
case kp_5: return "kp_5";
|
Kp5 = 325,
|
||||||
case kp_6: return "kp_6";
|
Kp6 = 326,
|
||||||
case kp_7: return "kp_7";
|
Kp7 = 327,
|
||||||
case kp_8: return "kp_8";
|
Kp8 = 328,
|
||||||
case kp_9: return "kp_9";
|
Kp9 = 329,
|
||||||
case kp_decimal: return "kp_decimal";
|
KpDecimal = 330,
|
||||||
case kp_divide: return "kp_divide";
|
KpDivide = 331,
|
||||||
case kp_multiply: return "kp_multiply";
|
KpMultiply = 332,
|
||||||
case kp_subtract: return "kp_subtract";
|
KpSubstract = 333,
|
||||||
case kp_add: return "kp_add";
|
KpAdd = 334,
|
||||||
case kp_enter: return "kp_enter";
|
KpEnter = 335,
|
||||||
case kp_equal: return "kp_equal";
|
KpEqual = 336,
|
||||||
|
|
||||||
/* function keys */
|
/* modifiers */
|
||||||
case f1: return "f1";
|
LeftShift = 340,
|
||||||
case f2: return "f2";
|
LShift = LeftShift,
|
||||||
case f3: return "f3";
|
LeftControl = 341,
|
||||||
case f4: return "f4";
|
LControl = LeftControl,
|
||||||
case f5: return "f5";
|
LeftAlt = 342,
|
||||||
case f6: return "f6";
|
LAlt = LeftAlt,
|
||||||
case f7: return "f7";
|
LeftSuper = 343,
|
||||||
case f8: return "f8";
|
LSuper = LeftSuper,
|
||||||
case f9: return "f9";
|
RightShift = 344,
|
||||||
case f10: return "f10";
|
RShift = 344,
|
||||||
case f11: return "f11";
|
RightControl = 345,
|
||||||
case f12: return "f12";
|
RControl = 345,
|
||||||
|
RightAlt = 346,
|
||||||
|
RAlt = 346,
|
||||||
|
RightSuper = 347,
|
||||||
|
RSuper = 347,
|
||||||
|
|
||||||
case unknown: return "<unknown>";
|
/* misc */
|
||||||
}
|
Space = 32,
|
||||||
|
Apostrophe = 39, // '
|
||||||
|
Quote = Apostrophe,
|
||||||
|
|
||||||
return "<invalid>";
|
Comma = 44, // ,
|
||||||
}
|
Minus = 45, // -
|
||||||
|
Period = 46, // .
|
||||||
|
Slash = 47, // /
|
||||||
|
ForwardSlash = Slash, // /
|
||||||
|
BackSlash = 92, // \
|
||||||
|
|
||||||
|
GraveAccent = 96, // `
|
||||||
|
Console = GraveAccent,
|
||||||
|
World1 = 161, // non-US #1
|
||||||
|
World2 = 162, // non-US #2
|
||||||
|
Escape = 256,
|
||||||
|
Esc = Escape,
|
||||||
|
Enter = 257,
|
||||||
|
Tab = 258,
|
||||||
|
BackSpace = 259,
|
||||||
|
Insert = 260,
|
||||||
|
Delete = 261,
|
||||||
|
|
||||||
|
PrintScreen = 283,
|
||||||
|
Pause = 284,
|
||||||
|
|
||||||
|
Menu = 348,
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -176,41 +176,31 @@ public:
|
||||||
);
|
);
|
||||||
|
|
||||||
auto &input = m_editor_registry->add<InputComponent>(m_window, {});
|
auto &input = m_editor_registry->add<InputComponent>(m_window, {});
|
||||||
auto quit_action_key = input.add_action(
|
auto quit_action_key = input.add_action(input::InputAction {
|
||||||
input::InputAction {
|
.name = "quit",
|
||||||
.name = "quit",
|
.trigger = input::Trigger { .mapped_keycode = Key::Q },
|
||||||
.trigger = input::Trigger { .mapped_keycode = Key::q },
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
auto debug_action_keys = std::array<std::size_t, 4ul> {};
|
auto debug_action_keys = std::array<std::size_t, 4ul> {};
|
||||||
debug_action_keys[0] = input.add_action(
|
debug_action_keys[0] = input.add_action(input::InputAction {
|
||||||
input::InputAction {
|
.name = "debug_1",
|
||||||
.name = "debug_1",
|
.trigger = input::Trigger { .mapped_keycode = Key::D1 },
|
||||||
.trigger = input::Trigger { .mapped_keycode = Key::digit_1 },
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
debug_action_keys[1] = input.add_action(
|
debug_action_keys[1] = input.add_action(input::InputAction {
|
||||||
input::InputAction {
|
.name = "debug_2",
|
||||||
.name = "debug_2",
|
.trigger = input::Trigger { .mapped_keycode = Key::D2 },
|
||||||
.trigger = input::Trigger { .mapped_keycode = Key::digit_2 },
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
debug_action_keys[2] = input.add_action(
|
debug_action_keys[2] = input.add_action(input::InputAction {
|
||||||
input::InputAction {
|
.name = "debug_3",
|
||||||
.name = "debug_3",
|
.trigger = input::Trigger { .mapped_keycode = Key::D3 },
|
||||||
.trigger = input::Trigger { .mapped_keycode = Key::digit_3 },
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
debug_action_keys[3] = input.add_action(
|
debug_action_keys[3] = input.add_action(input::InputAction {
|
||||||
input::InputAction {
|
.name = "debug_4",
|
||||||
.name = "debug_4",
|
.trigger = input::Trigger { .mapped_keycode = Key::D4 },
|
||||||
.trigger = input::Trigger { .mapped_keycode = Key::digit_4 },
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
m_input_system = memory::create_ref<input::System>(m_editor_registry);
|
m_input_system = memory::create_ref<input::System>(m_editor_registry);
|
||||||
m_mirror_system = memory::create_ref<MirrorSystem>(
|
m_mirror_system = memory::create_ref<MirrorSystem>(
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
add_executable(sandbox sandbox.cpp)
|
|
||||||
target_link_libraries(sandbox PRIVATE logger bitwise env memory time test lt_debug math assets app ecs surface renderer input mirror)
|
|
||||||
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
import test.test;
|
|
||||||
import time;
|
|
||||||
import test.expects;
|
|
||||||
import surface.system;
|
|
||||||
import surface.events;
|
|
||||||
import surface.requests;
|
|
||||||
import ecs.registry;
|
|
||||||
import memory.scope;
|
|
||||||
import memory.reference;
|
|
||||||
import logger;
|
|
||||||
import math.vec2;
|
|
||||||
import app.system;
|
|
||||||
import std;
|
|
||||||
|
|
||||||
constexpr auto title = "TestWindow";
|
|
||||||
constexpr auto width = 800u;
|
|
||||||
constexpr auto height = 600u;
|
|
||||||
constexpr auto vsync = true;
|
|
||||||
constexpr auto visible = false;
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
auto registry = lt::memory::create_ref<lt::ecs::Registry>();
|
|
||||||
auto system = lt::surface::System { registry };
|
|
||||||
|
|
||||||
auto entity = registry->create_entity();
|
|
||||||
|
|
||||||
system.create_surface_component(
|
|
||||||
entity,
|
|
||||||
lt::surface::SurfaceComponent::CreateInfo {
|
|
||||||
.title = title,
|
|
||||||
.resolution = { width, height },
|
|
||||||
.vsync = vsync,
|
|
||||||
.visible = visible,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
auto timer = lt::time::Timer {};
|
|
||||||
lt::log::trace("Ticking for 3 seconds...");
|
|
||||||
while (timer.elapsed_time() < std::chrono::seconds { 3 })
|
|
||||||
{
|
|
||||||
system.tick({});
|
|
||||||
}
|
|
||||||
lt::log::trace("Three seconds passed, quitting...");
|
|
||||||
}
|
|
||||||
|
|
@ -14,7 +14,6 @@ import debug.assertions;
|
||||||
import app.system;
|
import app.system;
|
||||||
import ecs.registry;
|
import ecs.registry;
|
||||||
import math.vec2;
|
import math.vec2;
|
||||||
import input.codes;
|
|
||||||
import surface.requests;
|
import surface.requests;
|
||||||
import memory.reference;
|
import memory.reference;
|
||||||
import memory.null_on_move;
|
import memory.null_on_move;
|
||||||
|
|
@ -726,15 +725,11 @@ void System::handle_events(SurfaceComponent &surface)
|
||||||
queue.clear();
|
queue.clear();
|
||||||
|
|
||||||
auto message = MSG {};
|
auto message = MSG {};
|
||||||
while (PeekMessage(&message, surface.m_native_data.window, {}, {}, PM_REMOVE))
|
while (PeekMessage(&message, 0, {}, {}, PM_REMOVE))
|
||||||
{
|
{
|
||||||
switch (message.message)
|
switch (message.message) {}
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
TranslateMessage(&message);
|
log::debug("Window message type: {}", std::uint32_t { message.message });
|
||||||
DispatchMessage(&message);
|
|
||||||
// log::debug("Window message type: {}", std::uint32_t { message.message });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// auto event = XEvent {};
|
// auto event = XEvent {};
|
||||||
|
|
@ -839,15 +834,16 @@ void System::handle_requests(SurfaceComponent &surface)
|
||||||
[&](const ModifyTitleRequest &request) { modify_title(surface, request); },
|
[&](const ModifyTitleRequest &request) { modify_title(surface, request); },
|
||||||
[&](const ModifyResolutionRequest &request) { modify_resolution(surface, request); },
|
[&](const ModifyResolutionRequest &request) { modify_resolution(surface, request); },
|
||||||
[&](const ModifyPositionRequest &request) { modify_position(surface, request); },
|
[&](const ModifyPositionRequest &request) { modify_position(surface, request); },
|
||||||
[&](const ModifyVisibilityRequest &request) {
|
[&](const ModifyVisibilityRequest &request) { modify_visiblity(surface, request); },
|
||||||
modify_visiblity(surface, request);
|
[&](const auto &) { log::error("Unknown surface request"); },
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto &request : surface.peek_requests())
|
for (const auto &request : surface.peek_requests())
|
||||||
{
|
{
|
||||||
std::visit(visitor, request);
|
std::visit(visitor, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
surface.m_requests.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void System::modify_title(SurfaceComponent &surface, const ModifyTitleRequest &request)
|
void System::modify_title(SurfaceComponent &surface, const ModifyTitleRequest &request)
|
||||||
|
|
@ -1026,127 +1022,8 @@ void ensure_component_sanity(const SurfaceComponent &component)
|
||||||
|
|
||||||
auto CALLBACK native_window_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -> LRESULT
|
auto CALLBACK native_window_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -> LRESULT
|
||||||
{
|
{
|
||||||
constexpr auto translate_key = [](auto code) -> Key {
|
|
||||||
switch (code)
|
|
||||||
{
|
|
||||||
using enum Key;
|
|
||||||
case VK_LBUTTON: return left_mouse_button;
|
|
||||||
case VK_RBUTTON: return right_mouse_button;
|
|
||||||
case VK_MBUTTON: return middle_mouse_button;
|
|
||||||
|
|
||||||
case VK_BACK: return backspace;
|
|
||||||
case VK_TAB: return tab;
|
|
||||||
case VK_CAPITAL: return capslock;
|
|
||||||
case VK_RETURN: enter;
|
|
||||||
case VK_SPACE: space;
|
|
||||||
case VK_DELETE: return delete_;
|
|
||||||
|
|
||||||
case VK_SHIFT: shift;
|
|
||||||
case VK_RSHIFT: right_shift;
|
|
||||||
|
|
||||||
case VK_CONTROL: control;
|
|
||||||
case VK_RCONTROL: right_control;
|
|
||||||
|
|
||||||
case VK_MENU: alt;
|
|
||||||
case VK_RMENU: right_alt;
|
|
||||||
|
|
||||||
case VK_PRIOR: return pageup;
|
|
||||||
case VK_NEXT: return pagedown;
|
|
||||||
case VK_END: return end;
|
|
||||||
case VK_HOME: return home;
|
|
||||||
|
|
||||||
case VK_LEFT: return left_arrow;
|
|
||||||
case VK_RIGHT: return right_arrow;
|
|
||||||
case VK_DOWN: return down_arrow;
|
|
||||||
case VK_UP: return up_arrow;
|
|
||||||
|
|
||||||
case VK_CANCEL: return cancel;
|
|
||||||
case VK_PAUSE: return pause;
|
|
||||||
case VK_SELECT: return select;
|
|
||||||
case VK_PRINT: return print;
|
|
||||||
case VK_SNAPSHOT: return snapshot;
|
|
||||||
case VK_INSERT: return insert;
|
|
||||||
case VK_HELP: return help;
|
|
||||||
case VK_SLEEP: return sleep;
|
|
||||||
|
|
||||||
case '0': return digit_0;
|
|
||||||
case '1': return digit_1;
|
|
||||||
case '2': return digit_2;
|
|
||||||
case '3': return digit_3;
|
|
||||||
case '4': return digit_4;
|
|
||||||
case '5': return digit_5;
|
|
||||||
case '6': return digit_6;
|
|
||||||
case '7': return digit_7;
|
|
||||||
case '8': return digit_8;
|
|
||||||
case '9': return digit_9;
|
|
||||||
|
|
||||||
case 'A': return a;
|
|
||||||
case 'B': return b;
|
|
||||||
case 'C': return c;
|
|
||||||
case 'D': return d;
|
|
||||||
case 'E': return e;
|
|
||||||
case 'F': return f;
|
|
||||||
case 'G': return g;
|
|
||||||
case 'H': return h;
|
|
||||||
case 'I': return i;
|
|
||||||
case 'J': return j;
|
|
||||||
case 'K': return k;
|
|
||||||
case 'L': return l;
|
|
||||||
case 'M': return m;
|
|
||||||
case 'N': return n;
|
|
||||||
case 'O': return o;
|
|
||||||
case 'P': return p;
|
|
||||||
case 'Q': return q;
|
|
||||||
case 'R': return r;
|
|
||||||
case 'S': return s;
|
|
||||||
case 'T': return t;
|
|
||||||
case 'U': return u;
|
|
||||||
case 'V': return v;
|
|
||||||
case 'W': return w;
|
|
||||||
case 'X': return x;
|
|
||||||
case 'Y': return y;
|
|
||||||
case 'Z': return z;
|
|
||||||
|
|
||||||
case VK_LWIN: return super;
|
|
||||||
case VK_RWIN: return right_super;
|
|
||||||
|
|
||||||
case VK_NUMPAD0: return kp_0;
|
|
||||||
case VK_NUMPAD1: return kp_1;
|
|
||||||
case VK_NUMPAD2: return kp_2;
|
|
||||||
case VK_NUMPAD3: return kp_3;
|
|
||||||
case VK_NUMPAD4: return kp_4;
|
|
||||||
case VK_NUMPAD5: return kp_5;
|
|
||||||
case VK_NUMPAD6: return kp_6;
|
|
||||||
case VK_NUMPAD7: return kp_7;
|
|
||||||
case VK_NUMPAD8: return kp_8;
|
|
||||||
case VK_NUMPAD9: return kp_9;
|
|
||||||
|
|
||||||
case VK_MULTIPLY: return kp_multiply;
|
|
||||||
case VK_ADD: return kp_add;
|
|
||||||
case VK_SUBTRACT: return kp_subtract;
|
|
||||||
case VK_DECIMAL: return kp_decimal;
|
|
||||||
|
|
||||||
case VK_F1: return f1;
|
|
||||||
case VK_F2: return f2;
|
|
||||||
case VK_F3: return f3;
|
|
||||||
case VK_F4: return f4;
|
|
||||||
case VK_F5: return f5;
|
|
||||||
case VK_F6: return f6;
|
|
||||||
case VK_F7: return f7;
|
|
||||||
case VK_F8: return f8;
|
|
||||||
case VK_F9: return f9;
|
|
||||||
case VK_F10: return f10;
|
|
||||||
case VK_F11: return f11;
|
|
||||||
case VK_F12: return f12;
|
|
||||||
|
|
||||||
default: return unknown;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
switch (uMsg)
|
switch (uMsg)
|
||||||
{
|
{
|
||||||
case WM_KEYDOWN: log::debug("Keydown: {}", to_string(translate_key(wParam)));
|
|
||||||
case WM_KEYUP: log::debug("Keyup__: {}", to_string(translate_key(wParam)));
|
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
{
|
{
|
||||||
PostQuitMessage(0);
|
PostQuitMessage(0);
|
||||||
|
|
@ -1154,9 +1031,6 @@ auto CALLBACK native_window_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// log::debug("Window message type (window proc): {}", std::uint32_t { uMsg
|
|
||||||
// });
|
|
||||||
return DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
return DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
add_option(ENABLE_SANDBOX "Enables the building of the sandbox module for experimentation")
|
|
||||||
add_option(ENABLE_UNIT_TESTS "Enables the building of the unit test modules")
|
add_option(ENABLE_UNIT_TESTS "Enables the building of the unit test modules")
|
||||||
add_option(ENABLE_FUZZ_TESTS "Enables the building of the fuzz test modules")
|
add_option(ENABLE_FUZZ_TESTS "Enables the building of the fuzz test modules")
|
||||||
add_option(
|
add_option(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue