diff options
| author | 2026-02-07 13:32:37 -0500 | |
|---|---|---|
| committer | 2026-02-07 13:32:37 -0500 | |
| commit | 8349e95e3e0ea4d3081739e2b8bb5787b9e366ba (patch) | |
| tree | 89c058b1454f3c898fb918dc2ce1c7a2fb701e4b /src/osd/modules/input/input_common.cpp | |
| parent | dba6d057f1186642e73eb7fa020aabf9647b163f (diff) | |
Initial support for SDL3. [R. Belmont, Vas Crabb]
* SDL3 is the default for macOS targets. Linux/Windows can build with
OSD=sdl3 while we wait for better distro support for SDL3. Both X11 and
Wayland sessions are fully supported on Linux.
* SDL3 -sound=sdl supports both input and output. All other video, sound,
and input functionality should otherwise be the same for now. SDL 3.4+
multiple keyboard/mouse support is planned.
Diffstat (limited to 'src/osd/modules/input/input_common.cpp')
| -rw-r--r-- | src/osd/modules/input/input_common.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/osd/modules/input/input_common.cpp b/src/osd/modules/input/input_common.cpp index ddcd3805640..66e9fb85eb0 100644 --- a/src/osd/modules/input/input_common.cpp +++ b/src/osd/modules/input/input_common.cpp @@ -28,7 +28,11 @@ #endif #if defined(OSD_SDL) || defined(SDLMAME_WIN32) +#ifdef SDLMAME_SDL3 +#include <SDL3/SDL.h> +#else #include <SDL2/SDL.h> +#endif #define KEY_TRANS_SDL(sdlsc) SDL_SCANCODE_##sdlsc, #else #define KEY_TRANS_SDL(sdlsc) @@ -173,10 +177,17 @@ key_trans_entry keyboard_trans_table::s_default_table[] = KEY_TRANS_ENTRY0(OTHER_SWITCH, F22, UNKNOWN, VK_F22, 0, "F22"), KEY_TRANS_ENTRY0(OTHER_SWITCH, F23, UNKNOWN, VK_F23, 0, "F23"), KEY_TRANS_ENTRY0(OTHER_SWITCH, F24, UNKNOWN, VK_F24, 0, "F24"), +#ifdef SDLMAME_SDL3 + KEY_TRANS_ENTRY0(OTHER_SWITCH, MEDIA_NEXT_TRACK, NEXTTRACK, VK_MEDIA_NEXT_TRACK, 0, "AUDIONEXT"), + KEY_TRANS_ENTRY0(OTHER_SWITCH, MUTE, MUTE, VK_VOLUME_MUTE, 0, "VOLUMEMUTE"), + KEY_TRANS_ENTRY0(OTHER_SWITCH, MEDIA_PLAY, PLAYPAUSE, VK_MEDIA_PLAY_PAUSE, 0, "AUDIOPLAY"), + KEY_TRANS_ENTRY0(OTHER_SWITCH, MEDIA_STOP, MEDIASTOP, VK_MEDIA_STOP, 0, "AUDIOSTOP"), +#else KEY_TRANS_ENTRY0(OTHER_SWITCH, AUDIONEXT, NEXTTRACK, VK_MEDIA_NEXT_TRACK, 0, "AUDIONEXT"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AUDIOMUTE, MUTE, VK_VOLUME_MUTE, 0, "VOLUMEMUTE"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AUDIOPLAY, PLAYPAUSE, VK_MEDIA_PLAY_PAUSE, 0, "AUDIOPLAY"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AUDIOSTOP, MEDIASTOP, VK_MEDIA_STOP, 0, "AUDIOSTOP"), +#endif KEY_TRANS_ENTRY0(OTHER_SWITCH, VOLUMEDOWN, VOLUMEDOWN, VK_VOLUME_DOWN, 0, "VOLUMEDOWN"), KEY_TRANS_ENTRY0(OTHER_SWITCH, VOLUMEUP, VOLUMEUP, VK_VOLUME_UP, 0, "VOLUMEUP"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AC_HOME, WEBHOME, VK_BROWSER_HOME, 0, "NAVHOME"), @@ -186,8 +197,12 @@ key_trans_entry keyboard_trans_table::s_default_table[] = KEY_TRANS_ENTRY0(OTHER_SWITCH, AC_STOP, WEBSTOP, VK_BROWSER_STOP, 0, "NAVSTOP"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AC_FORWARD, WEBFORWARD, VK_BROWSER_FORWARD, 0, "NAVFORWARD"), KEY_TRANS_ENTRY0(OTHER_SWITCH, AC_BACK, WEBBACK, VK_BROWSER_BACK, 0, "NAVBACK"), +#ifdef SDLMAME_SDL3 + KEY_TRANS_ENTRY0(OTHER_SWITCH, MEDIA_SELECT, MEDIASELECT, VK_LAUNCH_MEDIA_SELECT, 0, "MEDIASEL"), +#else KEY_TRANS_ENTRY0(OTHER_SWITCH, MAIL, MAIL, VK_LAUNCH_MAIL, 0, "MAIL"), KEY_TRANS_ENTRY0(OTHER_SWITCH, MEDIASELECT, MEDIASELECT, VK_LAUNCH_MEDIA_SELECT, 0, "MEDIASEL"), +#endif // sentinel KEY_TRANS_ENTRY0(INVALID, UNKNOWN, UNKNOWN, 0, 0, "INVALID") |
