Skip to content

Commit 856dee5

Browse files
committed
Fixed parsing of button even name
1 parent 9e6a21b commit 856dee5

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/input_keys.cpp

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,29 @@ get_mouse_button_and_event_from_codename(std::string_view button_and_event_name)
7777
auto button_name = button_and_event_name.substr(0, pos);
7878
auto event_name = button_and_event_name.substr(pos + 1);
7979

80-
auto button_id = utils::from_string<mouse_button>(button_name);
81-
auto event_id = utils::from_string<mouse_button_event>(event_name);
80+
mouse_button button_id{};
81+
if (button_name == "LeftButton") {
82+
button_id = mouse_button::left;
83+
} else if (button_name == "MiddleButton") {
84+
button_id = mouse_button::middle;
85+
} else if (button_name == "RightButton") {
86+
button_id = mouse_button::right;
87+
} else {
88+
return {};
89+
}
8290

83-
if (!button_id.has_value() || !event_id.has_value()) {
91+
mouse_button_event event_id{};
92+
if (event_name == "Up") {
93+
event_id = mouse_button_event::up;
94+
} else if (event_name == "Down") {
95+
event_id = mouse_button_event::down;
96+
} else if (event_name == "DoubleClick") {
97+
event_id = mouse_button_event::double_click;
98+
} else {
8499
return {};
85100
}
86101

87-
return std::make_pair(button_id.value(), event_id.value());
102+
return std::make_pair(button_id, event_id);
88103
}
89104

90105
std::string_view get_key_codename(key key_id) {

0 commit comments

Comments
 (0)