ShitEngine 1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
KeyCode.h
浏览该文件的文档.
1#pragma once
2
3#include <SDL3/SDL_scancode.h>
4
5namespace 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,
185 };
186
187}
定义 AnimationClip.h:12
MouseButton
鼠标按键码(左/右/中键 + 两个侧键)
定义 KeyCode.h:178
@ XButton2
定义 KeyCode.h:183
@ XButton1
定义 KeyCode.h:182
@ Middle
定义 KeyCode.h:181
KeyCode
键盘键码表(基于 SDL 扫描码,值为物理键位、不随键盘布局变化)
定义 KeyCode.h:14
@ Escape
定义 KeyCode.h:59
@ X
定义 KeyCode.h:41
@ Num6
定义 KeyCode.h:51
@ RAlt
定义 KeyCode.h:165
@ Down
定义 KeyCode.h:105
@ Equals
定义 KeyCode.h:66
@ C
定义 KeyCode.h:20
@ KP_Enter
定义 KeyCode.h:115
@ Pause
定义 KeyCode.h:96
@ MediaPlay
定义 KeyCode.h:150
@ MediaPause
定义 KeyCode.h:151
@ Period
定义 KeyCode.h:75
@ F6
定义 KeyCode.h:86
@ KP_6
定义 KeyCode.h:121
@ Z
定义 KeyCode.h:43
@ Sleep
定义 KeyCode.h:148
@ F14
定义 KeyCode.h:135
@ Up
定义 KeyCode.h:106
@ RGui
定义 KeyCode.h:166
@ KP_2
定义 KeyCode.h:117
@ MediaPrev
定义 KeyCode.h:154
@ NonUSBackslash
定义 KeyCode.h:128
@ KP_Plus
定义 KeyCode.h:114
@ Slash
定义 KeyCode.h:76
@ F5
定义 KeyCode.h:85
@ E
定义 KeyCode.h:22
@ MediaRecord
定义 KeyCode.h:152
@ KP_9
定义 KeyCode.h:124
@ P
定义 KeyCode.h:33
@ Minus
定义 KeyCode.h:65
@ RightBracket
定义 KeyCode.h:68
@ F7
定义 KeyCode.h:87
@ F8
定义 KeyCode.h:88
@ LeftBracket
定义 KeyCode.h:67
@ KP_Multiply
定义 KeyCode.h:112
@ Num7
定义 KeyCode.h:52
@ F3
定义 KeyCode.h:83
@ U
定义 KeyCode.h:38
@ MediaNext
定义 KeyCode.h:153
@ MediaStop
定义 KeyCode.h:155
@ V
定义 KeyCode.h:39
@ F16
定义 KeyCode.h:137
@ Y
定义 KeyCode.h:42
@ KP_Minus
定义 KeyCode.h:113
@ Comma
定义 KeyCode.h:74
@ Tab
定义 KeyCode.h:61
@ S
定义 KeyCode.h:36
@ RCtrl
定义 KeyCode.h:163
@ W
定义 KeyCode.h:40
@ KP_8
定义 KeyCode.h:123
@ F11
定义 KeyCode.h:91
@ Mode
定义 KeyCode.h:168
@ LShift
定义 KeyCode.h:160
@ Wake
定义 KeyCode.h:149
@ LCtrl
定义 KeyCode.h:159
@ M
定义 KeyCode.h:30
@ KP_Period
定义 KeyCode.h:126
@ KP_7
定义 KeyCode.h:122
@ Num2
定义 KeyCode.h:47
@ KP_3
定义 KeyCode.h:118
@ F21
定义 KeyCode.h:142
@ KP_Divide
定义 KeyCode.h:111
@ ScrollLock
定义 KeyCode.h:95
@ Num5
定义 KeyCode.h:50
@ F22
定义 KeyCode.h:143
@ A
定义 KeyCode.h:18
@ F
定义 KeyCode.h:23
@ F18
定义 KeyCode.h:139
@ Num0
定义 KeyCode.h:55
@ End
定义 KeyCode.h:101
@ Unknown
定义 KeyCode.h:15
@ F23
定义 KeyCode.h:144
@ F9
定义 KeyCode.h:89
@ Num8
定义 KeyCode.h:53
@ KP_Equals
定义 KeyCode.h:131
@ Home
定义 KeyCode.h:98
@ CapsLock
定义 KeyCode.h:78
@ N
定义 KeyCode.h:31
@ RShift
定义 KeyCode.h:164
@ Right
定义 KeyCode.h:103
@ Reserved
定义 KeyCode.h:171
@ Left
定义 KeyCode.h:104
@ F13
定义 KeyCode.h:134
@ Semicolon
定义 KeyCode.h:71
@ Return
定义 KeyCode.h:58
@ PageUp
定义 KeyCode.h:99
@ KP_4
定义 KeyCode.h:119
@ B
定义 KeyCode.h:19
@ NumLockClear
定义 KeyCode.h:108
@ NonUSH
定义 KeyCode.h:70
@ Num3
定义 KeyCode.h:48
@ Insert
定义 KeyCode.h:97
@ K
定义 KeyCode.h:28
@ LAlt
定义 KeyCode.h:161
@ MediaPlayPause
定义 KeyCode.h:156
@ F10
定义 KeyCode.h:90
@ Apostrophe
定义 KeyCode.h:72
@ T
定义 KeyCode.h:37
@ Num1
定义 KeyCode.h:46
@ PrintScreen
定义 KeyCode.h:94
@ H
定义 KeyCode.h:25
@ F19
定义 KeyCode.h:140
@ Backspace
定义 KeyCode.h:60
@ L
定义 KeyCode.h:29
@ Space
定义 KeyCode.h:62
@ Num9
定义 KeyCode.h:54
@ KP_5
定义 KeyCode.h:120
@ Power
定义 KeyCode.h:130
@ I
定义 KeyCode.h:26
@ G
定义 KeyCode.h:24
@ Num4
定义 KeyCode.h:49
@ F1
定义 KeyCode.h:81
@ R
定义 KeyCode.h:35
@ Application
定义 KeyCode.h:129
@ F15
定义 KeyCode.h:136
@ F4
定义 KeyCode.h:84
@ F12
定义 KeyCode.h:92
@ Count
定义 KeyCode.h:172
@ F24
定义 KeyCode.h:145
@ Grave
定义 KeyCode.h:73
@ PageDown
定义 KeyCode.h:102
@ Q
定义 KeyCode.h:34
@ O
定义 KeyCode.h:32
@ Delete
定义 KeyCode.h:100
@ D
定义 KeyCode.h:21
@ Backslash
定义 KeyCode.h:69
@ F20
定义 KeyCode.h:141
@ KP_1
定义 KeyCode.h:116
@ F2
定义 KeyCode.h:82
@ LGui
定义 KeyCode.h:162
@ J
定义 KeyCode.h:27
@ F17
定义 KeyCode.h:138
@ KP_0
定义 KeyCode.h:125