diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-29 12:43:04 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-29 12:43:04 +0800 |
| commit | 0b953f7f33b81491d5f3dd5df36f46d4c00891e4 (patch) | |
| tree | 543a99d369e81d6358728f0c29262c2a945aa3d5 | |
| parent | 81629315ea431723ef73f9d8b8471789206713b4 (diff) | |
| download | cru-0b953f7f33b81491d5f3dd5df36f46d4c00891e4.tar.gz cru-0b953f7f33b81491d5f3dd5df36f46d4c00891e4.tar.bz2 cru-0b953f7f33b81491d5f3dd5df36f46d4c00891e4.zip | |
Use scan code in sdk input.
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | include/cru/platform/gui/sdl/Input.h | 4 | ||||
| -rw-r--r-- | src/platform/gui/sdl/Input.cpp | 10 | ||||
| -rw-r--r-- | src/platform/gui/sdl/Window.cpp | 2 |
4 files changed, 9 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c988aee2..bfa475a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ set(CRU_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) set(CRU_ASSETS_DIR ${PROJECT_SOURCE_DIR}/assets) function(target_add_resources target res_dir) - message("Add resources for target ${target} with files ${res_dir}.") + message("Add resources files in ${res_dir} to target ${target}.") file(GLOB_RECURSE RES_SOURCES "${CRU_ASSETS_DIR}/${res_dir}/*") target_sources(${target} PUBLIC ${RES_SOURCES}) diff --git a/include/cru/platform/gui/sdl/Input.h b/include/cru/platform/gui/sdl/Input.h index 3e7d4a55..72bf4dfc 100644 --- a/include/cru/platform/gui/sdl/Input.h +++ b/include/cru/platform/gui/sdl/Input.h @@ -3,12 +3,12 @@ #include <cru/platform/gui/Input.h> #include <SDL3/SDL_keyboard.h> -#include <SDL3/SDL_keycode.h> +#include <SDL3/SDL_scancode.h> #include <SDL3/SDL_mouse.h> namespace cru::platform::gui::sdl { MouseButton ConvertMouseButton(Uint8 button); -KeyCode ConvertKeyCode(SDL_Keycode keycode); +KeyCode ConvertKeyScanCode(SDL_Scancode scancode); KeyModifier ConvertKeyModifier(SDL_Keymod keymod); KeyModifier GetKeyModifier(); } // namespace cru::platform::gui::sdl diff --git a/src/platform/gui/sdl/Input.cpp b/src/platform/gui/sdl/Input.cpp index c985928c..874d6e54 100644 --- a/src/platform/gui/sdl/Input.cpp +++ b/src/platform/gui/sdl/Input.cpp @@ -14,11 +14,11 @@ MouseButton ConvertMouseButton(Uint8 button) { return MouseButtons::Unknown; } -KeyCode ConvertKeyCode(SDL_Keycode keycode) { - switch (keycode) { -#define CRU_SDL_DEFINE_KEY_CODE_CONVERT(cru_key_code, sdl_key_code) \ - case SDLK_##sdl_key_code: \ - return KeyCode::cru_key_code; +KeyCode ConvertKeyScanCode(SDL_Scancode scancode) { + switch (scancode) { +#define CRU_SDL_DEFINE_KEY_CODE_CONVERT(cru_keycode, sdl_scancode) \ + case SDL_SCANCODE_##sdl_scancode: \ + return KeyCode::cru_keycode; CRU_SDL_DEFINE_KEY_CODE_CONVERT(Grave, GRAVE) CRU_SDL_DEFINE_KEY_CODE_CONVERT(Escape, ESCAPE) diff --git a/src/platform/gui/sdl/Window.cpp b/src/platform/gui/sdl/Window.cpp index 77cec606..f4b0422e 100644 --- a/src/platform/gui/sdl/Window.cpp +++ b/src/platform/gui/sdl/Window.cpp @@ -278,7 +278,7 @@ NativeMouseButtonEventArgs ConvertMouseButtonEvent( } NativeKeyEventArgs ConvertKeyEvent(const SDL_KeyboardEvent& event) { - return {ConvertKeyCode(event.key), ConvertKeyModifier(event.mod)}; + return {ConvertKeyScanCode(event.scancode), ConvertKeyModifier(event.mod)}; } } // namespace |
