ShitEngine
1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
Toggle main menu visibility
载入中...
搜索中...
未找到
KeyCode.h
浏览该文件的文档.
1
#pragma once
2
3
#include <SDL3/SDL_scancode.h>
4
5
namespace
Shit
{
6
14
enum class
KeyCode
:
int
{
15
Unknown
= SDL_SCANCODE_UNKNOWN,
16
17
// Letters
18
A
= SDL_SCANCODE_A,
19
B
= SDL_SCANCODE_B,
20
C
= SDL_SCANCODE_C,
21
D
= SDL_SCANCODE_D,
22
E
= SDL_SCANCODE_E,
23
F
= SDL_SCANCODE_F,
24
G
= SDL_SCANCODE_G,
25
H
= SDL_SCANCODE_H,
26
I
= SDL_SCANCODE_I,
27
J
= SDL_SCANCODE_J,
28
K
= SDL_SCANCODE_K,
29
L
= SDL_SCANCODE_L,
30
M
= SDL_SCANCODE_M,
31
N
= SDL_SCANCODE_N,
32
O
= SDL_SCANCODE_O,
33
P
= SDL_SCANCODE_P,
34
Q
= SDL_SCANCODE_Q,
35
R
= SDL_SCANCODE_R,
36
S
= SDL_SCANCODE_S,
37
T
= SDL_SCANCODE_T,
38
U
= SDL_SCANCODE_U,
39
V
= SDL_SCANCODE_V,
40
W
= SDL_SCANCODE_W,
41
X
= SDL_SCANCODE_X,
42
Y
= SDL_SCANCODE_Y,
43
Z
= SDL_SCANCODE_Z,
44
45
// Numbers (top row)
46
Num1
= SDL_SCANCODE_1,
47
Num2
= SDL_SCANCODE_2,
48
Num3
= SDL_SCANCODE_3,
49
Num4
= SDL_SCANCODE_4,
50
Num5
= SDL_SCANCODE_5,
51
Num6
= SDL_SCANCODE_6,
52
Num7
= SDL_SCANCODE_7,
53
Num8
= SDL_SCANCODE_8,
54
Num9
= SDL_SCANCODE_9,
55
Num0
= SDL_SCANCODE_0,
56
57
// Whitespace / control
58
Return
= SDL_SCANCODE_RETURN,
59
Escape
= SDL_SCANCODE_ESCAPE,
60
Backspace
= SDL_SCANCODE_BACKSPACE,
61
Tab
= SDL_SCANCODE_TAB,
62
Space
= SDL_SCANCODE_SPACE,
63
64
// Punctuation
65
Minus
= SDL_SCANCODE_MINUS,
66
Equals
= SDL_SCANCODE_EQUALS,
67
LeftBracket
= SDL_SCANCODE_LEFTBRACKET,
68
RightBracket
= SDL_SCANCODE_RIGHTBRACKET,
69
Backslash
= SDL_SCANCODE_BACKSLASH,
70
NonUSH
= SDL_SCANCODE_NONUSHASH,
71
Semicolon
= SDL_SCANCODE_SEMICOLON,
72
Apostrophe
= SDL_SCANCODE_APOSTROPHE,
73
Grave
= SDL_SCANCODE_GRAVE,
74
Comma
= SDL_SCANCODE_COMMA,
75
Period
= SDL_SCANCODE_PERIOD,
76
Slash
= SDL_SCANCODE_SLASH,
77
78
CapsLock
= SDL_SCANCODE_CAPSLOCK,
79
80
// Function keys
81
F1
= SDL_SCANCODE_F1,
82
F2
= SDL_SCANCODE_F2,
83
F3
= SDL_SCANCODE_F3,
84
F4
= SDL_SCANCODE_F4,
85
F5
= SDL_SCANCODE_F5,
86
F6
= SDL_SCANCODE_F6,
87
F7
= SDL_SCANCODE_F7,
88
F8
= SDL_SCANCODE_F8,
89
F9
= SDL_SCANCODE_F9,
90
F10
= SDL_SCANCODE_F10,
91
F11
= SDL_SCANCODE_F11,
92
F12
= SDL_SCANCODE_F12,
93
94
PrintScreen
= SDL_SCANCODE_PRINTSCREEN,
95
ScrollLock
= SDL_SCANCODE_SCROLLLOCK,
96
Pause
= SDL_SCANCODE_PAUSE,
97
Insert
= SDL_SCANCODE_INSERT,
98
Home
= SDL_SCANCODE_HOME,
99
PageUp
= SDL_SCANCODE_PAGEUP,
100
Delete
= SDL_SCANCODE_DELETE,
101
End
= SDL_SCANCODE_END,
102
PageDown
= SDL_SCANCODE_PAGEDOWN,
103
Right
= SDL_SCANCODE_RIGHT,
104
Left
= SDL_SCANCODE_LEFT,
105
Down
= SDL_SCANCODE_DOWN,
106
Up
= SDL_SCANCODE_UP,
107
108
NumLockClear
= SDL_SCANCODE_NUMLOCKCLEAR,
109
110
// Keypad
111
KP_Divide
= SDL_SCANCODE_KP_DIVIDE,
112
KP_Multiply
= SDL_SCANCODE_KP_MULTIPLY,
113
KP_Minus
= SDL_SCANCODE_KP_MINUS,
114
KP_Plus
= SDL_SCANCODE_KP_PLUS,
115
KP_Enter
= SDL_SCANCODE_KP_ENTER,
116
KP_1
= SDL_SCANCODE_KP_1,
117
KP_2
= SDL_SCANCODE_KP_2,
118
KP_3
= SDL_SCANCODE_KP_3,
119
KP_4
= SDL_SCANCODE_KP_4,
120
KP_5
= SDL_SCANCODE_KP_5,
121
KP_6
= SDL_SCANCODE_KP_6,
122
KP_7
= SDL_SCANCODE_KP_7,
123
KP_8
= SDL_SCANCODE_KP_8,
124
KP_9
= SDL_SCANCODE_KP_9,
125
KP_0
= SDL_SCANCODE_KP_0,
126
KP_Period
= SDL_SCANCODE_KP_PERIOD,
127
128
NonUSBackslash
= SDL_SCANCODE_NONUSBACKSLASH,
129
Application
= SDL_SCANCODE_APPLICATION,
130
Power
= SDL_SCANCODE_POWER,
131
KP_Equals
= SDL_SCANCODE_KP_EQUALS,
132
133
// Extended function keys
134
F13
= SDL_SCANCODE_F13,
135
F14
= SDL_SCANCODE_F14,
136
F15
= SDL_SCANCODE_F15,
137
F16
= SDL_SCANCODE_F16,
138
F17
= SDL_SCANCODE_F17,
139
F18
= SDL_SCANCODE_F18,
140
F19
= SDL_SCANCODE_F19,
141
F20
= SDL_SCANCODE_F20,
142
F21
= SDL_SCANCODE_F21,
143
F22
= SDL_SCANCODE_F22,
144
F23
= SDL_SCANCODE_F23,
145
F24
= SDL_SCANCODE_F24,
146
147
// International / multimedia / mobile keys (partial)
148
Sleep
= SDL_SCANCODE_SLEEP,
149
Wake
= SDL_SCANCODE_WAKE,
150
MediaPlay
= SDL_SCANCODE_MEDIA_PLAY,
151
MediaPause
= SDL_SCANCODE_MEDIA_PAUSE,
152
MediaRecord
= SDL_SCANCODE_MEDIA_RECORD,
153
MediaNext
= SDL_SCANCODE_MEDIA_NEXT_TRACK,
154
MediaPrev
= SDL_SCANCODE_MEDIA_PREVIOUS_TRACK,
155
MediaStop
= SDL_SCANCODE_MEDIA_STOP,
156
MediaPlayPause
= SDL_SCANCODE_MEDIA_PLAY_PAUSE,
157
158
// Modifiers
159
LCtrl
= SDL_SCANCODE_LCTRL,
160
LShift
= SDL_SCANCODE_LSHIFT,
161
LAlt
= SDL_SCANCODE_LALT,
162
LGui
= SDL_SCANCODE_LGUI,
163
RCtrl
= SDL_SCANCODE_RCTRL,
164
RShift
= SDL_SCANCODE_RSHIFT,
165
RAlt
= SDL_SCANCODE_RALT,
166
RGui
= SDL_SCANCODE_RGUI,
167
168
Mode
= SDL_SCANCODE_MODE,
169
170
// Reserved / bounds
171
Reserved
= SDL_SCANCODE_RESERVED,
172
Count
= SDL_SCANCODE_COUNT
173
};
174
178
enum class
MouseButton
:
int
{
179
Left
= SDL_BUTTON_LEFT,
180
Right
= SDL_BUTTON_RIGHT,
181
Middle
= SDL_BUTTON_MIDDLE,
182
XButton1
= SDL_BUTTON_X1,
183
XButton2
= SDL_BUTTON_X2,
184
Count
= 6
185
};
186
187
}
Shit
定义
AnimationClip.h:12
Shit::MouseButton
MouseButton
鼠标按键码(左/右/中键 + 两个侧键)
定义
KeyCode.h:178
Shit::MouseButton::XButton2
@ XButton2
定义
KeyCode.h:183
Shit::MouseButton::XButton1
@ XButton1
定义
KeyCode.h:182
Shit::MouseButton::Middle
@ Middle
定义
KeyCode.h:181
Shit::KeyCode
KeyCode
键盘键码表(基于 SDL 扫描码,值为物理键位、不随键盘布局变化)
定义
KeyCode.h:14
Shit::KeyCode::Escape
@ Escape
定义
KeyCode.h:59
Shit::KeyCode::X
@ X
定义
KeyCode.h:41
Shit::KeyCode::Num6
@ Num6
定义
KeyCode.h:51
Shit::KeyCode::RAlt
@ RAlt
定义
KeyCode.h:165
Shit::KeyCode::Down
@ Down
定义
KeyCode.h:105
Shit::KeyCode::Equals
@ Equals
定义
KeyCode.h:66
Shit::KeyCode::C
@ C
定义
KeyCode.h:20
Shit::KeyCode::KP_Enter
@ KP_Enter
定义
KeyCode.h:115
Shit::KeyCode::Pause
@ Pause
定义
KeyCode.h:96
Shit::KeyCode::MediaPlay
@ MediaPlay
定义
KeyCode.h:150
Shit::KeyCode::MediaPause
@ MediaPause
定义
KeyCode.h:151
Shit::KeyCode::Period
@ Period
定义
KeyCode.h:75
Shit::KeyCode::F6
@ F6
定义
KeyCode.h:86
Shit::KeyCode::KP_6
@ KP_6
定义
KeyCode.h:121
Shit::KeyCode::Z
@ Z
定义
KeyCode.h:43
Shit::KeyCode::Sleep
@ Sleep
定义
KeyCode.h:148
Shit::KeyCode::F14
@ F14
定义
KeyCode.h:135
Shit::KeyCode::Up
@ Up
定义
KeyCode.h:106
Shit::KeyCode::RGui
@ RGui
定义
KeyCode.h:166
Shit::KeyCode::KP_2
@ KP_2
定义
KeyCode.h:117
Shit::KeyCode::MediaPrev
@ MediaPrev
定义
KeyCode.h:154
Shit::KeyCode::NonUSBackslash
@ NonUSBackslash
定义
KeyCode.h:128
Shit::KeyCode::KP_Plus
@ KP_Plus
定义
KeyCode.h:114
Shit::KeyCode::Slash
@ Slash
定义
KeyCode.h:76
Shit::KeyCode::F5
@ F5
定义
KeyCode.h:85
Shit::KeyCode::E
@ E
定义
KeyCode.h:22
Shit::KeyCode::MediaRecord
@ MediaRecord
定义
KeyCode.h:152
Shit::KeyCode::KP_9
@ KP_9
定义
KeyCode.h:124
Shit::KeyCode::P
@ P
定义
KeyCode.h:33
Shit::KeyCode::Minus
@ Minus
定义
KeyCode.h:65
Shit::KeyCode::RightBracket
@ RightBracket
定义
KeyCode.h:68
Shit::KeyCode::F7
@ F7
定义
KeyCode.h:87
Shit::KeyCode::F8
@ F8
定义
KeyCode.h:88
Shit::KeyCode::LeftBracket
@ LeftBracket
定义
KeyCode.h:67
Shit::KeyCode::KP_Multiply
@ KP_Multiply
定义
KeyCode.h:112
Shit::KeyCode::Num7
@ Num7
定义
KeyCode.h:52
Shit::KeyCode::F3
@ F3
定义
KeyCode.h:83
Shit::KeyCode::U
@ U
定义
KeyCode.h:38
Shit::KeyCode::MediaNext
@ MediaNext
定义
KeyCode.h:153
Shit::KeyCode::MediaStop
@ MediaStop
定义
KeyCode.h:155
Shit::KeyCode::V
@ V
定义
KeyCode.h:39
Shit::KeyCode::F16
@ F16
定义
KeyCode.h:137
Shit::KeyCode::Y
@ Y
定义
KeyCode.h:42
Shit::KeyCode::KP_Minus
@ KP_Minus
定义
KeyCode.h:113
Shit::KeyCode::Comma
@ Comma
定义
KeyCode.h:74
Shit::KeyCode::Tab
@ Tab
定义
KeyCode.h:61
Shit::KeyCode::S
@ S
定义
KeyCode.h:36
Shit::KeyCode::RCtrl
@ RCtrl
定义
KeyCode.h:163
Shit::KeyCode::W
@ W
定义
KeyCode.h:40
Shit::KeyCode::KP_8
@ KP_8
定义
KeyCode.h:123
Shit::KeyCode::F11
@ F11
定义
KeyCode.h:91
Shit::KeyCode::Mode
@ Mode
定义
KeyCode.h:168
Shit::KeyCode::LShift
@ LShift
定义
KeyCode.h:160
Shit::KeyCode::Wake
@ Wake
定义
KeyCode.h:149
Shit::KeyCode::LCtrl
@ LCtrl
定义
KeyCode.h:159
Shit::KeyCode::M
@ M
定义
KeyCode.h:30
Shit::KeyCode::KP_Period
@ KP_Period
定义
KeyCode.h:126
Shit::KeyCode::KP_7
@ KP_7
定义
KeyCode.h:122
Shit::KeyCode::Num2
@ Num2
定义
KeyCode.h:47
Shit::KeyCode::KP_3
@ KP_3
定义
KeyCode.h:118
Shit::KeyCode::F21
@ F21
定义
KeyCode.h:142
Shit::KeyCode::KP_Divide
@ KP_Divide
定义
KeyCode.h:111
Shit::KeyCode::ScrollLock
@ ScrollLock
定义
KeyCode.h:95
Shit::KeyCode::Num5
@ Num5
定义
KeyCode.h:50
Shit::KeyCode::F22
@ F22
定义
KeyCode.h:143
Shit::KeyCode::A
@ A
定义
KeyCode.h:18
Shit::KeyCode::F
@ F
定义
KeyCode.h:23
Shit::KeyCode::F18
@ F18
定义
KeyCode.h:139
Shit::KeyCode::Num0
@ Num0
定义
KeyCode.h:55
Shit::KeyCode::End
@ End
定义
KeyCode.h:101
Shit::KeyCode::Unknown
@ Unknown
定义
KeyCode.h:15
Shit::KeyCode::F23
@ F23
定义
KeyCode.h:144
Shit::KeyCode::F9
@ F9
定义
KeyCode.h:89
Shit::KeyCode::Num8
@ Num8
定义
KeyCode.h:53
Shit::KeyCode::KP_Equals
@ KP_Equals
定义
KeyCode.h:131
Shit::KeyCode::Home
@ Home
定义
KeyCode.h:98
Shit::KeyCode::CapsLock
@ CapsLock
定义
KeyCode.h:78
Shit::KeyCode::N
@ N
定义
KeyCode.h:31
Shit::KeyCode::RShift
@ RShift
定义
KeyCode.h:164
Shit::KeyCode::Right
@ Right
定义
KeyCode.h:103
Shit::KeyCode::Reserved
@ Reserved
定义
KeyCode.h:171
Shit::KeyCode::Left
@ Left
定义
KeyCode.h:104
Shit::KeyCode::F13
@ F13
定义
KeyCode.h:134
Shit::KeyCode::Semicolon
@ Semicolon
定义
KeyCode.h:71
Shit::KeyCode::Return
@ Return
定义
KeyCode.h:58
Shit::KeyCode::PageUp
@ PageUp
定义
KeyCode.h:99
Shit::KeyCode::KP_4
@ KP_4
定义
KeyCode.h:119
Shit::KeyCode::B
@ B
定义
KeyCode.h:19
Shit::KeyCode::NumLockClear
@ NumLockClear
定义
KeyCode.h:108
Shit::KeyCode::NonUSH
@ NonUSH
定义
KeyCode.h:70
Shit::KeyCode::Num3
@ Num3
定义
KeyCode.h:48
Shit::KeyCode::Insert
@ Insert
定义
KeyCode.h:97
Shit::KeyCode::K
@ K
定义
KeyCode.h:28
Shit::KeyCode::LAlt
@ LAlt
定义
KeyCode.h:161
Shit::KeyCode::MediaPlayPause
@ MediaPlayPause
定义
KeyCode.h:156
Shit::KeyCode::F10
@ F10
定义
KeyCode.h:90
Shit::KeyCode::Apostrophe
@ Apostrophe
定义
KeyCode.h:72
Shit::KeyCode::T
@ T
定义
KeyCode.h:37
Shit::KeyCode::Num1
@ Num1
定义
KeyCode.h:46
Shit::KeyCode::PrintScreen
@ PrintScreen
定义
KeyCode.h:94
Shit::KeyCode::H
@ H
定义
KeyCode.h:25
Shit::KeyCode::F19
@ F19
定义
KeyCode.h:140
Shit::KeyCode::Backspace
@ Backspace
定义
KeyCode.h:60
Shit::KeyCode::L
@ L
定义
KeyCode.h:29
Shit::KeyCode::Space
@ Space
定义
KeyCode.h:62
Shit::KeyCode::Num9
@ Num9
定义
KeyCode.h:54
Shit::KeyCode::KP_5
@ KP_5
定义
KeyCode.h:120
Shit::KeyCode::Power
@ Power
定义
KeyCode.h:130
Shit::KeyCode::I
@ I
定义
KeyCode.h:26
Shit::KeyCode::G
@ G
定义
KeyCode.h:24
Shit::KeyCode::Num4
@ Num4
定义
KeyCode.h:49
Shit::KeyCode::F1
@ F1
定义
KeyCode.h:81
Shit::KeyCode::R
@ R
定义
KeyCode.h:35
Shit::KeyCode::Application
@ Application
定义
KeyCode.h:129
Shit::KeyCode::F15
@ F15
定义
KeyCode.h:136
Shit::KeyCode::F4
@ F4
定义
KeyCode.h:84
Shit::KeyCode::F12
@ F12
定义
KeyCode.h:92
Shit::KeyCode::Count
@ Count
定义
KeyCode.h:172
Shit::KeyCode::F24
@ F24
定义
KeyCode.h:145
Shit::KeyCode::Grave
@ Grave
定义
KeyCode.h:73
Shit::KeyCode::PageDown
@ PageDown
定义
KeyCode.h:102
Shit::KeyCode::Q
@ Q
定义
KeyCode.h:34
Shit::KeyCode::O
@ O
定义
KeyCode.h:32
Shit::KeyCode::Delete
@ Delete
定义
KeyCode.h:100
Shit::KeyCode::D
@ D
定义
KeyCode.h:21
Shit::KeyCode::Backslash
@ Backslash
定义
KeyCode.h:69
Shit::KeyCode::F20
@ F20
定义
KeyCode.h:141
Shit::KeyCode::KP_1
@ KP_1
定义
KeyCode.h:116
Shit::KeyCode::F2
@ F2
定义
KeyCode.h:82
Shit::KeyCode::LGui
@ LGui
定义
KeyCode.h:162
Shit::KeyCode::J
@ J
定义
KeyCode.h:27
Shit::KeyCode::F17
@ F17
定义
KeyCode.h:138
Shit::KeyCode::KP_0
@ KP_0
定义
KeyCode.h:125
include
ShitEngine
Input
KeyCode.h
制作者
1.17.0