sdlapp: Enable compilation of most apps/games

Removes `#ifdef`s in many places to just have `HAVE_TOUCHSCREEN` be the
input fall back, as is already tentatively the case in the code.

Solitaire was the only app excluded since there aren’t enough buttons
for it mapped in the SDL layer.

Change-Id: I62450b7110b86c8037a121e96cd2e46754be79a3
This commit is contained in:
Erin of Yukis 2026-02-10 14:15:54 +01:00 committed by Solomon Peachy
parent e677895e29
commit 96b5642c93
30 changed files with 56 additions and 93 deletions

View file

@ -157,7 +157,10 @@ pong.c
sliding_puzzle.c
snake.c
snake2.c
#ifndef SDLAPP
/* Too many buttons for SDL */
solitaire.c
#endif
sokoban.c
star.c
starfield.c

View file

@ -1,4 +1,4 @@
#if !defined(HAVE_TOUCHSCREEN) || defined(DX50) || defined(DX90) || defined(HIBY_R3PROII) || defined(HIBY_R1)
#if !defined(HAVE_TOUCHSCREEN) || defined(DX50) || defined(DX90) || defined(HIBY_R3PROII) || defined(HIBY_R1) || defined(SDLAPP)
/* In devices running RockBox as an application, but having a keypad */
#include "SOURCES"
#else

View file

@ -628,7 +628,7 @@ enum {
#define BJACK_RIGHT BUTTON_RIGHT
#define BJACK_LEFT BUTTON_LEFT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif
@ -641,6 +641,10 @@ enum {
#define BJACK_SELECT BUTTON_CENTER
#define BJACK_SELECT_NAME "BUTTON_CENTER"
#endif
#ifndef BJACK_QUIT
#define BJACK_QUIT BUTTON_BOTTOMRIGHT
#define BJACK_QUIT_NAME "BUTTON_BOTTOMRIGHT"
#endif
#ifndef BJACK_MAX
#define BJACK_MAX BUTTON_TOPRIGHT
#endif

View file

@ -707,7 +707,9 @@ if HAS_TOUCHSCREEN then
rb.touchscreen_mode(rb.TOUCHSCREEN_POINT)
end
rb.backlight_force_on()
if rb.backlight_force_on then
rb.backlight_force_on()
end
local eva = rockev.register("action", action_event, rb.HZ / 10)
@ -761,7 +763,9 @@ else
end
-- Restore user backlight settings
rb.backlight_use_settings()
if rb.backlight_use_settings then
rb.backlight_use_settings()
end
if rb.cpu_boost then rb.cpu_boost(false) end
os.exit()

View file

@ -382,7 +382,7 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif
@ -408,6 +408,9 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#ifndef DOWN
#define DOWN BUTTON_BOTTOMMIDDLE
#endif
#ifndef QUIT
#define QUIT BUTTON_BOTTOMRIGHT
#endif
#endif
/* MI: fallback for the suicide combination */

View file

@ -557,7 +557,7 @@ F3: equal to "="
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_USER
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif
@ -583,6 +583,9 @@ F3: equal to "="
#ifndef CALCULATOR_CLEAR
#define CALCULATOR_CLEAR BUTTON_TOPRIGHT
#endif
#ifndef CALCULATOR_QUIT
#define CALCULATOR_QUIT BUTTON_TOPLEFT
#endif
#include "lib/pluginlib_touchscreen.h"
static struct ts_raster calc_raster = { X_0_POS, Y_1_POS,

View file

@ -409,9 +409,6 @@
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define CALENDAR_QUIT (BUTTON_BACK|BUTTON_MENU)
#define CALENDAR_SELECT BUTTON_PLAY
@ -443,7 +440,7 @@
#define CALENDAR_NEXT_MONTH BUTTON_POWER
#define CALENDAR_PREV_MONTH BUTTON_USER
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error "No keypad setting."
#endif

View file

@ -418,7 +418,7 @@
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_BACK
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif
@ -444,6 +444,9 @@
#ifndef CHC_MENU
#define CHC_MENU BUTTON_TOPRIGHT
#endif
#ifndef CHC_QUIT
#define CHC_QUIT BUTTON_BOTTOMRIGHT
#endif
#endif

View file

@ -1314,10 +1314,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define CHIP8_KEY8 BUTTON_POWER
#define CHIP8_KEY9 BUTTON_USER
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -392,9 +392,6 @@
#define CUBE_PAUSE BUTTON_PLAY
#define CUBE_HIGHSPEED BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define CUBE_QUIT BUTTON_BACK
#define CUBE_NEXT BUTTON_RIGHT
@ -425,7 +422,7 @@
#define CUBE_PAUSE BUTTON_USER
#define CUBE_HIGHSPEED BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -56,7 +56,8 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
|| (CONFIG_KEYPAD == IPOD_3G_PAD) \
|| (CONFIG_KEYPAD == IPOD_4G_PAD)
|| (CONFIG_KEYPAD == IPOD_4G_PAD) \
|| defined(SDLAPP)
#define FFT_QUIT PLA_UP
#else
#define FFT_QUIT PLA_EXIT

View file

@ -482,9 +482,6 @@
#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
#define FLIPIT_TOGGLE BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define FLIPIT_LEFT BUTTON_LEFT
@ -523,7 +520,7 @@
#define FLIPIT_STEP_BY_STEP BUTTON_POWER
#define FLIPIT_TOGGLE BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -281,9 +281,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define QUIT BUTTON_BACK
@ -305,7 +302,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error INVADROX: Unsupported keypad
#endif

View file

@ -367,9 +367,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define HK_SELECT "SELECT"
#define HK_CANCEL "BACK"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define JEWELS_UP BUTTON_UP
#define JEWELS_DOWN BUTTON_DOWN
@ -400,7 +397,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define HK_SELECT "A"
#define HK_CANCEL "B"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -86,6 +86,8 @@ enum metronome_errors
|| (CONFIG_KEYPAD == IPOD_3G_PAD) \
|| (CONFIG_KEYPAD == IPOD_4G_PAD)
#define METRONOME_QUIT PLA_UP
#elif defined(SDLAPP)
#define METRONOME_QUIT PLA_CANCEL
#else
#define METRONOME_QUIT PLA_EXIT
#endif

View file

@ -442,9 +442,6 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER (BUTTON_MENU|BUTTON_REPEAT)
# define MINESWP_INFO BUTTON_MENU
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == RG_NANO_PAD
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
@ -465,7 +462,7 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER BUTTON_SELECT
# define MINESWP_INFO BUTTON_MENU
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -2577,9 +2577,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define MP3ENC_PREV BUTTON_LEFT
#define MP3ENC_NEXT BUTTON_RIGHT
@ -2598,7 +2595,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -550,9 +550,6 @@
#define OSCILLOSCOPE_VOL_UP BUTTON_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == RG_NANO_PAD
#define OSCILLOSCOPE_QUIT BUTTON_START
#define OSCILLOSCOPE_DRAWMODE BUTTON_X
@ -576,7 +573,7 @@
#define OSCILLOSCOPE_VOL_UP BUTTON_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -711,9 +711,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "UP+MENU"
#define LVL_DOWN_TEXT "DOWN+MENU"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == RG_NANO_PAD
#define PEGBOX_SELECT BUTTON_A
#define PEGBOX_QUIT BUTTON_START
@ -748,7 +745,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_DOWN_TEXT "Start"
#define SELECT_TEXT "A"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error "Unsupported keymap!"
#endif

View file

@ -318,9 +318,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_BACK
#define PONG_RIGHT_DOWN BUTTON_RIGHT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define PONG_QUIT BUTTON_BACK
#define PONG_PAUSE BUTTON_PLAY
@ -345,7 +342,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_MENU
#define PONG_RIGHT_DOWN BUTTON_POWER
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -458,9 +458,6 @@
#define ROCKBLOX_RESTART BUTTON_BACK
#define ROCKBLOX_SCROLL_ENABLED 1
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define ROCKBLOX_OFF (BUTTON_BACK|BUTTON_REPEAT)
#define ROCKBLOX_ROTATE_CCW BUTTON_UP
@ -495,7 +492,7 @@
#define ROCKBLOX_DROP BUTTON_SELECT
#define ROCKBLOX_RESTART BUTTON_USER
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -348,9 +348,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE BUTTON_BACK
#define PUZZLE_PICTURE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define PUZZLE_QUIT BUTTON_BACK
#define PUZZLE_LEFT BUTTON_LEFT
@ -378,7 +375,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_MENU
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -305,9 +305,6 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define SNAKE_QUIT BUTTON_BACK
#define SNAKE_LEFT BUTTON_LEFT
@ -332,7 +329,7 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -449,9 +449,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
@ -479,7 +476,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_SELECT
#define SNAKE2_PLAYPAUSE_TEXT "A"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -681,9 +681,6 @@
#define BUTTON_SAVE BUTTON_BACK
#define BUTTON_SAVE_NAME "BACK"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
@ -734,7 +731,7 @@
#define SOKOBAN_LEVEL_REPEAT_NAME "[TOPRIGHT]"
#define BUTTON_SAVE_NAME "A [CENTER]"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -363,9 +363,6 @@
#define AST_RIGHT BUTTON_RIGHT
#define AST_FIRE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define AST_PAUSE BUTTON_MENU
#define AST_QUIT BUTTON_BACK
@ -393,7 +390,7 @@
#define AST_RIGHT BUTTON_RIGHT
#define AST_FIRE BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -705,15 +705,15 @@
#define STAR_LEVEL_DOWN_NAME "Start"
#define STAR_LEVEL_REPEAT_NAME "Y"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif
#ifdef HAVE_TOUCHSCREEN
//#ifndef STAR_QUIT
//#define STAR_QUIT BUTTON_TOPLEFT
//#define STAR_QUIT_NAME "TOPLEFT"
//#endif
#ifndef STAR_QUIT
#define STAR_QUIT BUTTON_TOPRIGHT
#define STAR_QUIT_NAME "TOPRIGHT"
#endif
#ifndef STAR_LEFT
#define STAR_LEFT BUTTON_MIDLEFT
#endif

View file

@ -443,9 +443,6 @@
#define LABEL_MENU "MENU"
#define LABEL_VOLUME "VOL+/VOL-"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define VUMETER_QUIT BUTTON_BACK
#define VUMETER_HELP BUTTON_LEFT
@ -479,7 +476,7 @@
#define LABEL_MENU "X"
#define LABEL_VOLUME "Up/Down"
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -397,9 +397,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == MA_PAD
#define BTN_DIR_UP BUTTON_UP
#define BTN_DIR_DOWN BUTTON_DOWN
@ -429,7 +426,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_BACK
#define BTN_STOPRESET BUTTON_MENU
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error No keymap defined!
#endif

View file

@ -351,9 +351,6 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD
/* use touchscreen */
#elif CONFIG_KEYPAD == RG_NANO_PAD
#define QUIT BUTTON_START
@ -372,7 +369,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_SELECT
#else
#elif !defined(HAVE_TOUCHSCREEN)
#error "No keymap defined!"
#endif