49 terminal_cancel_gesture_ =
false;
50 terminal_was_claimed_ =
false;
71 uint64_t
generation() const noexcept {
return generation_; }
82 return {generation_, button_,
false, terminal_was_claimed_,
false};
86 terminal_was_claimed_ =
claimed();
89 Terminal result{generation_, button_, terminal_cancel_gesture_,
96 generation_ ==
terminal.generation) {
99 terminal_cancel_gesture_ =
false;
100 terminal_was_claimed_ =
false;
107 uint64_t generation_ = 0;
108 bool terminal_cancel_gesture_ =
false;
109 bool terminal_was_claimed_ =
false;
142inline constexpr uint32_t
kVkUp = 0x26;
146inline constexpr uint32_t
kVkF1 = 0x70;
160constexpr int16_t
lparam_x(uint32_t lparam)
noexcept {
161 return static_cast<int16_t
>(
static_cast<uint16_t
>(lparam & 0xFFFFu));
164constexpr int16_t
lparam_y(uint32_t lparam)
noexcept {
165 return static_cast<int16_t
>(
static_cast<uint16_t
>((lparam >> 16) & 0xFFFFu));
177 return {
static_cast<float>(
lparam_x(lparam)) /
s,
178 static_cast<float>(
lparam_y(lparam)) /
s};
187 bool meta_down)
noexcept {
215 return mask != 0 && (wparam & mask) != 0;
233constexpr float wheel_steps(uint32_t wparam,
bool horizontal)
noexcept {
234 const auto raw =
static_cast<int16_t
>(
static_cast<uint16_t
>(wparam >> 16));
235 const float steps =
static_cast<float>(raw) / 120.0f;
236 return horizontal ? steps : -steps;
240 bool alt_down,
bool meta_down)
noexcept {
250 if (vk >=
'A' && vk <=
'Z')
251 return static_cast<KeyCode>(
'a' +
static_cast<int>(vk -
'A'));
252 if (vk >=
'0' && vk <=
'9')
return static_cast<KeyCode>(vk);
255 static_cast<int>(vk -
kVkF1));
@ kModMeta
Windows key / Command key.
Definition input_events.hpp:20
@ kModNone
Definition input_events.hpp:16
@ kModShift
Definition input_events.hpp:17
@ kModAlt
Alt / Option.
Definition input_events.hpp:19
@ kModCtrl
Control key (Ctrl on Windows/Linux).
Definition input_events.hpp:18
MouseButton
Mouse button identifiers.
Definition input_events.hpp:67
@ none
Definition input_events.hpp:68
@ middle
Definition input_events.hpp:71
@ right
Definition input_events.hpp:70
@ left
Definition input_events.hpp:69
KeyCode
Definition input_events.hpp:35
@ delete_
Definition input_events.hpp:57
@ s
Definition input_events.hpp:41
@ home
Definition input_events.hpp:54
@ up
Definition input_events.hpp:53
@ backspace
Definition input_events.hpp:57
@ apostrophe
Definition input_events.hpp:50
@ down
Definition input_events.hpp:53
@ semicolon
Definition input_events.hpp:50
@ right
Definition input_events.hpp:53
@ left
Definition input_events.hpp:53
@ end_
Definition input_events.hpp:54
@ unknown
Definition input_events.hpp:36
@ f1
Definition input_events.hpp:61
@ page_down
Definition input_events.hpp:54
@ escape
Definition input_events.hpp:57
@ enter
Definition input_events.hpp:57
@ tab
Definition input_events.hpp:57
@ page_up
Definition input_events.hpp:54
@ space
Definition input_events.hpp:58
@ scale
Definition css_animation.hpp:126
Definition geometry.hpp:20