KTech
1.1.0
C++ 2D terminal game engine library
Loading...
Searching...
No Matches
ktech
utility
keys.hpp
1
/*
2
KTech, Kaup's C++ 2D terminal game engine library.
3
Copyright (C) 2023-2025 Ethan Kaufman (AKA Kaup)
4
5
This file is part of KTech.
6
7
KTech is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
any later version.
11
12
KTech is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with KTech. If not, see <https://www.gnu.org/licenses/>.
19
*/
20
21
#pragma once
22
28
namespace
KTech::Keys
29
{
30
constexpr
char
const
* up =
"\x1b[A"
;
31
constexpr
char
const
* down =
"\x1b[B"
;
32
constexpr
char
const
* right =
"\x1b[C"
;
33
constexpr
char
const
* left =
"\x1b[D"
;
34
#ifdef _WIN32
35
constexpr
char
const
* return_ =
"\r"
;
36
#else
37
constexpr
char
const
* return_ =
"\n"
;
38
#endif
39
constexpr
char
const
* backspace =
"\x7f"
;
40
constexpr
char
const
* escape =
"\x1b"
;
41
constexpr
char
const
* pageUp =
"\x1b[5~"
;
42
constexpr
char
const
* pageDown =
"\x1b[6~"
;
43
constexpr
char
const
* home =
"\x1b[H"
;
44
constexpr
char
const
* end =
"\x1b[F"
;
45
constexpr
char
const
* insert =
"\x1b[2~"
;
46
constexpr
char
const
* delete_ =
"\x1b[3~"
;
47
constexpr
char
const
* f1 =
"\x1bOP"
;
48
constexpr
char
const
* f2 =
"\x1bOQ"
;
49
constexpr
char
const
* f3 =
"\x1bOR"
;
50
constexpr
char
const
* f4 =
"\x1bOS"
;
51
constexpr
char
const
* f5 =
"\x1b[15~"
;
52
constexpr
char
const
* f6 =
"\x1b[17~"
;
53
constexpr
char
const
* f7 =
"\x1b[18~"
;
54
constexpr
char
const
* f8 =
"\x1b[19~"
;
55
constexpr
char
const
* f9 =
"\x1b[20~"
;
56
constexpr
char
const
* f10 =
"\x1b[21~"
;
57
// No F11 because of fullscreen
58
constexpr
char
const
* f12 =
"\x1b[24~"
;
59
constexpr
char
const
* tab =
"\x09"
;
60
62
namespace
Shift
63
{
64
constexpr
char
const
* return_ =
"\x1bOM"
;
65
constexpr
char
const
* delete_ =
"\x1b[3;2~"
;
66
constexpr
char
const
* tab =
"\x1b[Z"
;
67
}
68
70
namespace
Ctrl
71
{
72
constexpr
char
const
* up =
"\33[1;5A"
;
73
constexpr
char
const
* down =
"\33[1;5B"
;
74
constexpr
char
const
* right =
"\33[1;5C"
;
75
constexpr
char
const
* left =
"\33[1;5D"
;
76
constexpr
char
const
* pageUp =
"\x1b[5;5~"
;
77
constexpr
char
const
* pageDown =
"\x1b[6;5~"
;
78
constexpr
char
const
* home =
"\x1b[1;5H"
;
79
constexpr
char
const
* end =
"\x1b[1;5F"
;
80
constexpr
char
const
* delete_ =
"\x1b[3;5~"
;
81
constexpr
char
const
* backspace =
"\x08"
;
82
}
83
85
namespace
Alt
86
{
87
constexpr
char
const
* up =
"\33[1;3A"
;
88
constexpr
char
const
* down =
"\33[1;3B"
;
89
constexpr
char
const
* right =
"\33[1;3C"
;
90
constexpr
char
const
* left =
"\33[1;3D"
;
91
constexpr
char
const
* return_ =
"\x1b\x0a"
;
92
constexpr
char
const
* backspace =
"\x1b\x7f"
;
93
constexpr
char
const
* escape =
"\x1b\x1b"
;
94
constexpr
char
const
* pageUp =
"\x1b[5;3~"
;
95
constexpr
char
const
* pageDown =
"\x1b[6;3~"
;
96
constexpr
char
const
* home =
"\x1b[1;3H"
;
97
constexpr
char
const
* end =
"\x1b[1;3F"
;
98
constexpr
char
const
* insert =
"\x1b[2;3~"
;
99
constexpr
char
const
* delete_ =
"\x1b[3;3~"
;
100
}
101
103
namespace
CtrlAlt
104
{
105
constexpr
char
const
* up =
"\33[1;7A"
;
106
constexpr
char
const
* down =
"\33[1;7B"
;
107
constexpr
char
const
* right =
"\33[1;7C"
;
108
constexpr
char
const
* left =
"\33[1;7D"
;
109
constexpr
char
const
* pageUp =
"\x1b[5;7~"
;
110
constexpr
char
const
* pageDown =
"\x1b[6;7~"
;
111
constexpr
char
const
* home =
"\x1b[1;7H"
;
112
constexpr
char
const
* end =
"\x1b[1;7F"
;
113
constexpr
char
const
* insert =
"\x1b[2;7~"
;
114
}
115
117
namespace
CtrlShift
118
{
119
constexpr
char
const
* up =
"\33[1;6A"
;
120
constexpr
char
const
* down =
"\33[1;6B"
;
121
constexpr
char
const
* right =
"\33[1;6C"
;
122
constexpr
char
const
* left =
"\33[1;6D"
;
123
}
124
}
KTech::Keys
Various terminal input escape sequences.
Definition
ktech.hpp:69
Generated by
1.12.0