diff --git a/command.c b/command.c index caf2402215..7e4bf1ff36 100644 --- a/command.c +++ b/command.c @@ -184,6 +184,8 @@ static const struct cmd_map map[] = { { "UI_COMPANION_TOGGLE", RARCH_UI_COMPANION_TOGGLE }, { "GAME_FOCUS_TOGGLE", RARCH_GAME_FOCUS_TOGGLE }, { "MENU_TOGGLE", RARCH_MENU_TOGGLE }, + { "RECORDING_TOGGLE", RARCH_RECORDING_TOGGLE }, + { "STREAMING_TOGGLE", RARCH_STREAMING_TOGGLE }, { "MENU_UP", RETRO_DEVICE_ID_JOYPAD_UP }, { "MENU_DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN }, { "MENU_LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT }, diff --git a/config.def.keybinds.h b/config.def.keybinds.h index bdb13d86ad..169cc7b5fc 100644 --- a/config.def.keybinds.h +++ b/config.def.keybinds.h @@ -99,6 +99,8 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_GAME_FOCUS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_UI_COMPANION_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_SPACE, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_RECORDING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, #else { true, RETRO_DEVICE_ID_JOYPAD_B, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_z, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RETRO_DEVICE_ID_JOYPAD_Y, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_a, NO_BTN, NO_BTN, 0, AXIS_NONE }, @@ -175,6 +177,8 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_GAME_FOCUS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_SCROLLOCK, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_UI_COMPANION_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_F5, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_F1, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_RECORDING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, #endif }; diff --git a/input/input_defines.h b/input/input_defines.h index 5224297acb..ea52a3c890 100644 --- a/input/input_defines.h +++ b/input/input_defines.h @@ -111,6 +111,9 @@ enum RARCH_MENU_TOGGLE, + RARCH_RECORDING_TOGGLE, + RARCH_STREAMING_TOGGLE, + RARCH_BIND_LIST_END, RARCH_BIND_LIST_END_NULL }; diff --git a/input/input_driver.c b/input/input_driver.c index 43d3876366..f49fd829fe 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -351,6 +351,8 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = { #ifdef HAVE_MENU DECLARE_META_BIND(1, menu_toggle, RARCH_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE), #endif + DECLARE_META_BIND(2, recording_toggle, RARCH_RECORDING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE), + DECLARE_META_BIND(2, streaming_toggle, RARCH_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE), }; diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index 1a3ac7895a..3637d73f59 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -3615,3 +3615,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index c31a6742be..4a896b5cd0 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -3399,3 +3399,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index d597a3f4f3..24b4208ee0 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3391,3 +3391,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index aca093c5d7..f09463e65e 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3501,3 +3501,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index a0089dd48d..8195b68ea2 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -3266,3 +3266,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index 6227ad7752..c1ce876b20 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -7521,3 +7521,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Detiene el streaming" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 8d9f7b10bf..3235d8b0c7 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -3425,3 +3425,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index 23b1229925..6e7acd9573 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3485,3 +3485,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Interrompe lo streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index f678b38104..47b74227f1 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -3886,3 +3886,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 966cd1ff27..6ff9ba24db 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -3386,3 +3386,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index f77ee2a6e6..72d03d008c 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3555,3 +3555,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 8746a22b40..ede48bca8c 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7522,3 +7522,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index d3e32b354e..d04fb41909 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3423,3 +3423,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_QUICK_MENU_STOP_STREAMING, "Stops streaming." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + "Recording toggle" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, + "Streaming toggle" + ) diff --git a/msg_hash.h b/msg_hash.h index f286102fed..822c787755 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -657,6 +657,8 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_INPUT_META_GRAB_MOUSE_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, + MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, + MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_INDEX, diff --git a/retroarch.c b/retroarch.c index 46b1379a35..5d247c98ba 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2930,6 +2930,36 @@ static enum runloop_state runloop_check_state( old_pressed = pressed; } + /* Check recording toggle */ + { + static bool old_pressed = false; + bool pressed = BIT256_GET( + current_input, RARCH_RECORDING_TOGGLE); + + if (pressed && !old_pressed) + { + /* TODO/FIXME */ + /* insert logic here */ + } + + old_pressed = pressed; + } + + /* Check streaming toggle */ + { + static bool old_pressed = false; + bool pressed = BIT256_GET( + current_input, RARCH_STREAMING_TOGGLE); + + if (pressed && !old_pressed) + { + /* TODO/FIXME */ + /* insert logic here */ + } + + old_pressed = pressed; + } + if (BIT256_GET(current_input, RARCH_VOLUME_UP)) command_event(CMD_EVENT_VOLUME_UP, NULL); else if (BIT256_GET(current_input, RARCH_VOLUME_DOWN))