3#include "terminalpp/control_sequence.hpp"
4#include "terminalpp/detail/ascii.hpp"
14 nul = terminalpp::detail::ascii::nul,
15 soh = terminalpp::detail::ascii::soh,
16 stx = terminalpp::detail::ascii::stx,
18 bel = terminalpp::detail::ascii::bel,
19 bs = terminalpp::detail::ascii::bs,
20 ht = terminalpp::detail::ascii::ht,
21 lf = terminalpp::detail::ascii::lf,
23 cr = terminalpp::detail::ascii::cr,
25 esc = terminalpp::detail::ascii::esc,
27 us = terminalpp::detail::ascii::us,
28 space = terminalpp::detail::ascii::space,
29 exclamation_mark = terminalpp::detail::ascii::exclamation_mark,
30 quotes = terminalpp::detail::ascii::quotes,
31 hash = terminalpp::detail::ascii::hash,
32 dollar = terminalpp::detail::ascii::dollar,
33 percent = terminalpp::detail::ascii::percent,
34 ampersand = terminalpp::detail::ascii::ampersand,
35 apostrophe = terminalpp::detail::ascii::apostrophe,
36 open_parenthesis = terminalpp::detail::ascii::open_parenthesis,
37 close_parenthesis = terminalpp::detail::ascii::close_parenthesis,
38 asterisk = terminalpp::detail::ascii::asterisk,
39 plus = terminalpp::detail::ascii::plus,
40 comma = terminalpp::detail::ascii::comma,
41 minus = terminalpp::detail::ascii::minus,
42 full_stop = terminalpp::detail::ascii::full_stop,
43 slash = terminalpp::detail::ascii::slash,
44 zero = terminalpp::detail::ascii::zero,
45 one = terminalpp::detail::ascii::one,
46 two = terminalpp::detail::ascii::two,
47 three = terminalpp::detail::ascii::three,
48 four = terminalpp::detail::ascii::four,
49 five = terminalpp::detail::ascii::five,
50 six = terminalpp::detail::ascii::six,
51 seven = terminalpp::detail::ascii::seven,
52 eight = terminalpp::detail::ascii::eight,
53 nine = terminalpp::detail::ascii::nine,
54 colon = terminalpp::detail::ascii::colon,
55 semi_colon = terminalpp::detail::ascii::semi_colon,
56 less_than = terminalpp::detail::ascii::less_than,
57 equals = terminalpp::detail::ascii::equals,
58 greater_than = terminalpp::detail::ascii::greater_than,
59 question_mark = terminalpp::detail::ascii::question_mark,
60 at = terminalpp::detail::ascii::at,
70 uppercase_a = terminalpp::detail::ascii::uppercase_a,
71 uppercase_b = terminalpp::detail::ascii::uppercase_b,
72 uppercase_c = terminalpp::detail::ascii::uppercase_c,
73 uppercase_d = terminalpp::detail::ascii::uppercase_d,
74 uppercase_e = terminalpp::detail::ascii::uppercase_e,
75 uppercase_f = terminalpp::detail::ascii::uppercase_f,
76 uppercase_g = terminalpp::detail::ascii::uppercase_g,
77 uppercase_h = terminalpp::detail::ascii::uppercase_h,
78 uppercase_i = terminalpp::detail::ascii::uppercase_i,
79 uppercase_j = terminalpp::detail::ascii::uppercase_j,
80 uppercase_k = terminalpp::detail::ascii::uppercase_k,
81 uppercase_l = terminalpp::detail::ascii::uppercase_l,
82 uppercase_m = terminalpp::detail::ascii::uppercase_m,
83 uppercase_n = terminalpp::detail::ascii::uppercase_n,
84 uppercase_o = terminalpp::detail::ascii::uppercase_o,
85 uppercase_p = terminalpp::detail::ascii::uppercase_p,
86 uppercase_q = terminalpp::detail::ascii::uppercase_q,
87 uppercase_r = terminalpp::detail::ascii::uppercase_r,
88 uppercase_s = terminalpp::detail::ascii::uppercase_s,
89 uppercase_t = terminalpp::detail::ascii::uppercase_t,
90 uppercase_u = terminalpp::detail::ascii::uppercase_u,
91 uppercase_v = terminalpp::detail::ascii::uppercase_v,
92 uppercase_w = terminalpp::detail::ascii::uppercase_w,
93 uppercase_x = terminalpp::detail::ascii::uppercase_x,
94 uppercase_y = terminalpp::detail::ascii::uppercase_y,
95 uppercase_z = terminalpp::detail::ascii::uppercase_z,
97 open_bracket = terminalpp::detail::ascii::open_bracket,
98 backslash = terminalpp::detail::ascii::backslash,
99 close_bracket = terminalpp::detail::ascii::close_bracket,
100 caret = terminalpp::detail::ascii::caret,
101 underscore = terminalpp::detail::ascii::underscore,
102 grave = terminalpp::detail::ascii::grave,
104 lowercase_a = terminalpp::detail::ascii::lowercase_a,
105 lowercase_b = terminalpp::detail::ascii::lowercase_b,
106 lowercase_c = terminalpp::detail::ascii::lowercase_c,
107 lowercase_d = terminalpp::detail::ascii::lowercase_d,
108 lowercase_e = terminalpp::detail::ascii::lowercase_e,
109 lowercase_f = terminalpp::detail::ascii::lowercase_f,
110 lowercase_g = terminalpp::detail::ascii::lowercase_g,
111 lowercase_h = terminalpp::detail::ascii::lowercase_h,
112 lowercase_i = terminalpp::detail::ascii::lowercase_i,
113 lowercase_j = terminalpp::detail::ascii::lowercase_j,
114 lowercase_k = terminalpp::detail::ascii::lowercase_k,
115 lowercase_l = terminalpp::detail::ascii::lowercase_l,
116 lowercase_m = terminalpp::detail::ascii::lowercase_m,
117 lowercase_n = terminalpp::detail::ascii::lowercase_n,
118 lowercase_o = terminalpp::detail::ascii::lowercase_o,
119 lowercase_p = terminalpp::detail::ascii::lowercase_p,
120 lowercase_q = terminalpp::detail::ascii::lowercase_q,
121 lowercase_r = terminalpp::detail::ascii::lowercase_r,
122 lowercase_s = terminalpp::detail::ascii::lowercase_s,
123 lowercase_t = terminalpp::detail::ascii::lowercase_t,
124 lowercase_u = terminalpp::detail::ascii::lowercase_u,
125 lowercase_v = terminalpp::detail::ascii::lowercase_v,
126 lowercase_w = terminalpp::detail::ascii::lowercase_w,
127 lowercase_x = terminalpp::detail::ascii::lowercase_x,
128 lowercase_y = terminalpp::detail::ascii::lowercase_y,
129 lowercase_z = terminalpp::detail::ascii::lowercase_z,
131 open_brace = terminalpp::detail::ascii::open_brace,
132 pipe = terminalpp::detail::ascii::pipe,
133 close_brace = terminalpp::detail::ascii::close_brace,
134 tilde = terminalpp::detail::ascii::tilde,
135 del = terminalpp::detail::ascii::del,
171enum class vk_modifier :
byte
198 vk_modifier modifiers = vk_modifier::none;
201 int repeat_count = 0;
222constexpr vk_modifier operator|(
223 vk_modifier
const &
lhs, vk_modifier
const &
rhs)
noexcept
225 return vk_modifier(
byte(
lhs) |
byte(
rhs));
231constexpr vk_modifier &operator|=(
232 vk_modifier &lhs, vk_modifier
const &rhs)
noexcept
241constexpr vk_modifier operator&(
242 vk_modifier
const &lhs, vk_modifier
const &rhs)
noexcept
244 return vk_modifier(
byte(lhs) &
byte(rhs));
250constexpr vk_modifier &operator&=(
251 vk_modifier &lhs, vk_modifier
const &rhs)
noexcept
261std::ostream &operator<<(std::ostream &out, vk
const &key);
266constexpr bool is_control_key(vk
const &key)
noexcept
268 constexpr vk control_set_begin = vk::nul;
269 constexpr vk control_set_end = vk::us;
271 constexpr vk abstract_set_begin = vk::del;
272 constexpr vk abstract_set_end = vk::f12;
274 return (key >= control_set_begin && key <= control_set_end)
275 || (key >= abstract_set_begin && key <= abstract_set_end);
A structure representing an ANSI graphics effect (e.g. intensity, underlining)
Definition effect.hpp:27
constexpr effect() noexcept
Initialises the intensity to the default (normal) value.
Definition effect.hpp:31
A class that represents a keypress, possibly combined with modifiers such as shift,...
Definition virtual_key.hpp:187
constexpr friend auto operator<=>(virtual_key const &lhs, virtual_key const &rhs) noexcept=default
Relational operators for virtual keys.
std::variant< byte, control_sequence > input_sequence
A virtual key is generated from either a single character or some control sequence that represents th...
Definition virtual_key.hpp:190
input_sequence sequence
The actual received data for the key.
Definition virtual_key.hpp:204