opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
key_event.h
Go to the documentation of this file.
1#pragma once
2
8
9namespace osc
10{
11 // Represents a single key press (down) or key release (up), possibly
12 // while other modifier keys (e.g. ctrl) are also pressed.
13 class KeyEvent final : public Event {
14 public:
19
24
25 KeyCombination combination() const { return combination_; }
26 KeyModifiers modifiers() const { return combination_.modifiers(); }
27 Key key() const { return combination_.key(); }
28 bool has_modifier(KeyModifier modifier) const { return static_cast<bool>(modifier & combination_.modifiers()); }
29 bool has_modifier(PhysicalKeyModifier modifier) const { return static_cast<bool>(modifier & to<PhysicalKeyModifiers>(combination_.modifiers())); }
30 private:
33 combination_{combination}
34 {}
35
36 KeyCombination combination_;
37 };
38}
Definition event.h:13
Definition key_combination.h:13
constexpr KeyModifiers modifiers() const
Definition key_combination.h:21
constexpr Key key() const
Definition key_combination.h:20
Definition key_event.h:13
Key key() const
Definition key_event.h:27
static KeyEvent key_up(KeyCombination combination)
Definition key_event.h:15
static KeyEvent key_down(KeyCombination combination)
Definition key_event.h:20
KeyModifiers modifiers() const
Definition key_event.h:26
KeyCombination combination() const
Definition key_event.h:25
bool has_modifier(PhysicalKeyModifier modifier) const
Definition key_event.h:29
bool has_modifier(KeyModifier modifier) const
Definition key_event.h:28
Definition custom_decoration_generator.h:5
PhysicalKeyModifier
Definition physical_key_modifier.h:18
EventType
Definition event_type.h:7
Key
Definition key.h:6
constexpr U to(T &&value)
Definition conversion.h:56
KeyModifier
Definition key_modifier.h:19