refactor(input): 重构输入代码为独立枚举类并移除SDL依赖
将原本基于SDL的输入代码重构为独立的枚举类,移除对SDL的依赖 删除旧的input_codes.h文件,将键盘、鼠标和手柄的输入代码统一到新的keys.h中
This commit is contained in:
parent
3a12ee1a6d
commit
3cec8ff7ef
|
|
@ -1,212 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
// SDL2 键码定义
|
|
||||||
#include <SDL2/SDL.h>
|
|
||||||
|
|
||||||
namespace extra2d {
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 键盘按键码 (基于 SDL2)
|
|
||||||
// ============================================================================
|
|
||||||
namespace Key {
|
|
||||||
enum : int {
|
|
||||||
Unknown = SDLK_UNKNOWN,
|
|
||||||
Space = SDLK_SPACE,
|
|
||||||
Apostrophe = SDLK_QUOTE,
|
|
||||||
Comma = SDLK_COMMA,
|
|
||||||
Minus = SDLK_MINUS,
|
|
||||||
Period = SDLK_PERIOD,
|
|
||||||
Slash = SDLK_SLASH,
|
|
||||||
Num0 = SDLK_0,
|
|
||||||
Num1 = SDLK_1,
|
|
||||||
Num2 = SDLK_2,
|
|
||||||
Num3 = SDLK_3,
|
|
||||||
Num4 = SDLK_4,
|
|
||||||
Num5 = SDLK_5,
|
|
||||||
Num6 = SDLK_6,
|
|
||||||
Num7 = SDLK_7,
|
|
||||||
Num8 = SDLK_8,
|
|
||||||
Num9 = SDLK_9,
|
|
||||||
Semicolon = SDLK_SEMICOLON,
|
|
||||||
Equal = SDLK_EQUALS,
|
|
||||||
A = SDLK_a,
|
|
||||||
B = SDLK_b,
|
|
||||||
C = SDLK_c,
|
|
||||||
D = SDLK_d,
|
|
||||||
E = SDLK_e,
|
|
||||||
F = SDLK_f,
|
|
||||||
G = SDLK_g,
|
|
||||||
H = SDLK_h,
|
|
||||||
I = SDLK_i,
|
|
||||||
J = SDLK_j,
|
|
||||||
K = SDLK_k,
|
|
||||||
L = SDLK_l,
|
|
||||||
M = SDLK_m,
|
|
||||||
N = SDLK_n,
|
|
||||||
O = SDLK_o,
|
|
||||||
P = SDLK_p,
|
|
||||||
Q = SDLK_q,
|
|
||||||
R = SDLK_r,
|
|
||||||
S = SDLK_s,
|
|
||||||
T = SDLK_t,
|
|
||||||
U = SDLK_u,
|
|
||||||
V = SDLK_v,
|
|
||||||
W = SDLK_w,
|
|
||||||
X = SDLK_x,
|
|
||||||
Y = SDLK_y,
|
|
||||||
Z = SDLK_z,
|
|
||||||
LeftBracket = SDLK_LEFTBRACKET,
|
|
||||||
Backslash = SDLK_BACKSLASH,
|
|
||||||
RightBracket = SDLK_RIGHTBRACKET,
|
|
||||||
GraveAccent = SDLK_BACKQUOTE,
|
|
||||||
Escape = SDLK_ESCAPE,
|
|
||||||
Enter = SDLK_RETURN,
|
|
||||||
Tab = SDLK_TAB,
|
|
||||||
Backspace = SDLK_BACKSPACE,
|
|
||||||
Insert = SDLK_INSERT,
|
|
||||||
Delete = SDLK_DELETE,
|
|
||||||
Right = SDLK_RIGHT,
|
|
||||||
Left = SDLK_LEFT,
|
|
||||||
Down = SDLK_DOWN,
|
|
||||||
Up = SDLK_UP,
|
|
||||||
PageUp = SDLK_PAGEUP,
|
|
||||||
PageDown = SDLK_PAGEDOWN,
|
|
||||||
Home = SDLK_HOME,
|
|
||||||
End = SDLK_END,
|
|
||||||
CapsLock = SDLK_CAPSLOCK,
|
|
||||||
ScrollLock = SDLK_SCROLLLOCK,
|
|
||||||
NumLock = SDLK_NUMLOCKCLEAR,
|
|
||||||
PrintScreen = SDLK_PRINTSCREEN,
|
|
||||||
Pause = SDLK_PAUSE,
|
|
||||||
F1 = SDLK_F1,
|
|
||||||
F2 = SDLK_F2,
|
|
||||||
F3 = SDLK_F3,
|
|
||||||
F4 = SDLK_F4,
|
|
||||||
F5 = SDLK_F5,
|
|
||||||
F6 = SDLK_F6,
|
|
||||||
F7 = SDLK_F7,
|
|
||||||
F8 = SDLK_F8,
|
|
||||||
F9 = SDLK_F9,
|
|
||||||
F10 = SDLK_F10,
|
|
||||||
F11 = SDLK_F11,
|
|
||||||
F12 = SDLK_F12,
|
|
||||||
F13 = SDLK_F13,
|
|
||||||
F14 = SDLK_F14,
|
|
||||||
F15 = SDLK_F15,
|
|
||||||
F16 = SDLK_F16,
|
|
||||||
F17 = SDLK_F17,
|
|
||||||
F18 = SDLK_F18,
|
|
||||||
F19 = SDLK_F19,
|
|
||||||
F20 = SDLK_F20,
|
|
||||||
F21 = SDLK_F21,
|
|
||||||
F22 = SDLK_F22,
|
|
||||||
F23 = SDLK_F23,
|
|
||||||
F24 = SDLK_F24,
|
|
||||||
KP0 = SDLK_KP_0,
|
|
||||||
KP1 = SDLK_KP_1,
|
|
||||||
KP2 = SDLK_KP_2,
|
|
||||||
KP3 = SDLK_KP_3,
|
|
||||||
KP4 = SDLK_KP_4,
|
|
||||||
KP5 = SDLK_KP_5,
|
|
||||||
KP6 = SDLK_KP_6,
|
|
||||||
KP7 = SDLK_KP_7,
|
|
||||||
KP8 = SDLK_KP_8,
|
|
||||||
KP9 = SDLK_KP_9,
|
|
||||||
KPDecimal = SDLK_KP_PERIOD,
|
|
||||||
KPDivide = SDLK_KP_DIVIDE,
|
|
||||||
KPMultiply = SDLK_KP_MULTIPLY,
|
|
||||||
KPSubtract = SDLK_KP_MINUS,
|
|
||||||
KPAdd = SDLK_KP_PLUS,
|
|
||||||
KPEnter = SDLK_KP_ENTER,
|
|
||||||
KPEqual = SDLK_KP_EQUALS,
|
|
||||||
LeftShift = SDLK_LSHIFT,
|
|
||||||
LeftControl = SDLK_LCTRL,
|
|
||||||
LeftAlt = SDLK_LALT,
|
|
||||||
LeftSuper = SDLK_LGUI,
|
|
||||||
RightShift = SDLK_RSHIFT,
|
|
||||||
RightControl = SDLK_RCTRL,
|
|
||||||
RightAlt = SDLK_RALT,
|
|
||||||
RightSuper = SDLK_RGUI,
|
|
||||||
Menu = SDLK_MENU,
|
|
||||||
Last = SDLK_MENU
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 修饰键
|
|
||||||
// ============================================================================
|
|
||||||
namespace Mod {
|
|
||||||
enum : int {
|
|
||||||
Shift = KMOD_SHIFT,
|
|
||||||
Control = KMOD_CTRL,
|
|
||||||
Alt = KMOD_ALT,
|
|
||||||
Super = KMOD_GUI,
|
|
||||||
CapsLock = KMOD_CAPS,
|
|
||||||
NumLock = KMOD_NUM
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 鼠标按键码
|
|
||||||
// ============================================================================
|
|
||||||
namespace Mouse {
|
|
||||||
enum : int {
|
|
||||||
Button1 = 0,
|
|
||||||
Button2 = 1,
|
|
||||||
Button3 = 2,
|
|
||||||
Button4 = 3,
|
|
||||||
Button5 = 4,
|
|
||||||
Button6 = 5,
|
|
||||||
Button7 = 6,
|
|
||||||
Button8 = 7,
|
|
||||||
ButtonLast = Button8,
|
|
||||||
ButtonLeft = Button1,
|
|
||||||
ButtonRight = Button2,
|
|
||||||
ButtonMiddle = Button3
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 游戏手柄按键
|
|
||||||
// ============================================================================
|
|
||||||
namespace GamepadButton {
|
|
||||||
enum : int {
|
|
||||||
A = SDL_CONTROLLER_BUTTON_A,
|
|
||||||
B = SDL_CONTROLLER_BUTTON_B,
|
|
||||||
X = SDL_CONTROLLER_BUTTON_X,
|
|
||||||
Y = SDL_CONTROLLER_BUTTON_Y,
|
|
||||||
LeftBumper = SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
|
|
||||||
RightBumper = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
|
|
||||||
Back = SDL_CONTROLLER_BUTTON_BACK,
|
|
||||||
Start = SDL_CONTROLLER_BUTTON_START,
|
|
||||||
Guide = SDL_CONTROLLER_BUTTON_GUIDE,
|
|
||||||
LeftThumb = SDL_CONTROLLER_BUTTON_LEFTSTICK,
|
|
||||||
RightThumb = SDL_CONTROLLER_BUTTON_RIGHTSTICK,
|
|
||||||
DPadUp = SDL_CONTROLLER_BUTTON_DPAD_UP,
|
|
||||||
DPadRight = SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
|
|
||||||
DPadDown = SDL_CONTROLLER_BUTTON_DPAD_DOWN,
|
|
||||||
DPadLeft = SDL_CONTROLLER_BUTTON_DPAD_LEFT,
|
|
||||||
Last = SDL_CONTROLLER_BUTTON_DPAD_LEFT,
|
|
||||||
Cross = A,
|
|
||||||
Circle = B,
|
|
||||||
Square = X,
|
|
||||||
Triangle = Y
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 游戏手柄轴
|
|
||||||
// ============================================================================
|
|
||||||
namespace GamepadAxis {
|
|
||||||
enum : int {
|
|
||||||
LeftX = SDL_CONTROLLER_AXIS_LEFTX,
|
|
||||||
LeftY = SDL_CONTROLLER_AXIS_LEFTY,
|
|
||||||
RightX = SDL_CONTROLLER_AXIS_RIGHTX,
|
|
||||||
RightY = SDL_CONTROLLER_AXIS_RIGHTY,
|
|
||||||
LeftTrigger = SDL_CONTROLLER_AXIS_TRIGGERLEFT,
|
|
||||||
RightTrigger = SDL_CONTROLLER_AXIS_TRIGGERRIGHT,
|
|
||||||
Last = SDL_CONTROLLER_AXIS_TRIGGERRIGHT
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace extra2d
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace extra2d {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 键盘按键码
|
||||||
|
*/
|
||||||
|
enum class Key : int {
|
||||||
|
None = 0,
|
||||||
|
A, B, C, D, E, F, G, H, I, J, K, L, M,
|
||||||
|
N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
|
||||||
|
Num0, Num1, Num2, Num3, Num4,
|
||||||
|
Num5, Num6, Num7, Num8, Num9,
|
||||||
|
F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
|
||||||
|
Space, Enter, Escape, Tab, Backspace,
|
||||||
|
Insert, Delete, Home, End, PageUp, PageDown,
|
||||||
|
Up, Down, Left, Right,
|
||||||
|
LShift, RShift, LCtrl, RCtrl, LAlt, RAlt,
|
||||||
|
CapsLock, NumLock, ScrollLock,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 鼠标按钮
|
||||||
|
*/
|
||||||
|
enum class Mouse : int {
|
||||||
|
Left = 0,
|
||||||
|
Right,
|
||||||
|
Middle,
|
||||||
|
X1,
|
||||||
|
X2,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 游戏手柄按钮
|
||||||
|
*/
|
||||||
|
enum class Gamepad : int {
|
||||||
|
A = 0,
|
||||||
|
B,
|
||||||
|
X,
|
||||||
|
Y,
|
||||||
|
LB,
|
||||||
|
RB,
|
||||||
|
LT,
|
||||||
|
RT,
|
||||||
|
Back,
|
||||||
|
Start,
|
||||||
|
Guide,
|
||||||
|
LStick,
|
||||||
|
RStick,
|
||||||
|
DUp,
|
||||||
|
DDown,
|
||||||
|
DLeft,
|
||||||
|
DRight,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 手柄轴
|
||||||
|
*/
|
||||||
|
enum class GamepadAxis : int {
|
||||||
|
LeftX = 0,
|
||||||
|
LeftY,
|
||||||
|
RightX,
|
||||||
|
RightY,
|
||||||
|
LeftTrigger,
|
||||||
|
RightTrigger,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace extra2d
|
||||||
Loading…
Reference in New Issue