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