From 2f2a86e97f4f8f1e47bb650266c023e7a1ec092d Mon Sep 17 00:00:00 2001 From: Radius Date: Wed, 25 Mar 2015 22:24:12 -0500 Subject: [PATCH] add osk enable hotkey --- command.c | 1 + config.def.h | 1 + driver.h | 1 + input/input_common.c | 1 + intl/english.h | 1 + retroarch.h | 1 + runloop.c | 10 ++++++++++ settings.c | 3 +++ 8 files changed, 19 insertions(+) diff --git a/command.c b/command.c index 979e5cdb33..5bd34a29a5 100644 --- a/command.c +++ b/command.c @@ -196,6 +196,7 @@ static const struct cmd_map map[] = { { "CHEAT_TOGGLE", RARCH_CHEAT_TOGGLE }, { "SCREENSHOT", RARCH_SCREENSHOT }, { "MUTE", RARCH_MUTE }, + { "OSK", RARCH_OSK }, { "NETPLAY_FLIP", RARCH_NETPLAY_FLIP }, { "SLOWMOTION", RARCH_SLOWMOTION }, { "VOLUME_UP", RARCH_VOLUME_UP }, diff --git a/config.def.h b/config.def.h index 3c6af5d12e..d4b24a2439 100644 --- a/config.def.h +++ b/config.def.h @@ -737,6 +737,7 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_CHEAT_TOGGLE, RETRO_LBL_CHEAT_TOGGLE, RETROK_u, NO_BTN, 0, AXIS_NONE }, { true, RARCH_SCREENSHOT, RETRO_LBL_SCREENSHOT, RETROK_F8, NO_BTN, 0, AXIS_NONE }, { true, RARCH_MUTE, RETRO_LBL_MUTE, RETROK_F9, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_OSK, RETRO_LBL_OSK, RETROK_F12, NO_BTN, 0, AXIS_NONE }, { true, RARCH_NETPLAY_FLIP, RETRO_LBL_NETPLAY_FLIP, RETROK_i, NO_BTN, 0, AXIS_NONE }, { true, RARCH_SLOWMOTION, RETRO_LBL_SLOWMOTION, RETROK_e, NO_BTN, 0, AXIS_NONE }, { true, RARCH_ENABLE_HOTKEY, RETRO_LBL_ENABLE_HOTKEY, RETROK_UNKNOWN, NO_BTN, 0, AXIS_NONE }, diff --git a/driver.h b/driver.h index ee5dd52a8a..42be50f91a 100644 --- a/driver.h +++ b/driver.h @@ -113,6 +113,7 @@ enum RARCH_CHEAT_TOGGLE, RARCH_SCREENSHOT, RARCH_MUTE, + RARCH_OSK, RARCH_NETPLAY_FLIP, RARCH_SLOWMOTION, RARCH_ENABLE_HOTKEY, diff --git a/input/input_common.c b/input/input_common.c index e099ebbc1f..47c713d947 100644 --- a/input/input_common.c +++ b/input/input_common.c @@ -97,6 +97,7 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = { DECLARE_META_BIND(2, cheat_toggle, RARCH_CHEAT_TOGGLE, "Cheat toggle"), DECLARE_META_BIND(2, screenshot, RARCH_SCREENSHOT, "Take screenshot"), DECLARE_META_BIND(2, audio_mute, RARCH_MUTE, "Audio mute toggle"), + DECLARE_META_BIND(2, osk_toggle, RARCH_OSK, "On-screen keyboard toggle"), DECLARE_META_BIND(2, netplay_flip_players, RARCH_NETPLAY_FLIP, "Netplay flip users"), DECLARE_META_BIND(2, slowmotion, RARCH_SLOWMOTION, "Slow motion"), DECLARE_META_BIND(2, enable_hotkey, RARCH_ENABLE_HOTKEY, "Enable hotkeys"), diff --git a/intl/english.h b/intl/english.h index a7eb3fdc0a..3bb03054d7 100644 --- a/intl/english.h +++ b/intl/english.h @@ -64,6 +64,7 @@ #define RETRO_LBL_CHEAT_TOGGLE "Cheat Toggle" #define RETRO_LBL_SCREENSHOT "Screenshot" #define RETRO_LBL_MUTE "Mute Audio" +#define RETRO_LBL_OSK "Enable On-Screen Keyboard" #define RETRO_LBL_NETPLAY_FLIP "Netplay Flip Users" #define RETRO_LBL_SLOWMOTION "Slowmotion" #define RETRO_LBL_ENABLE_HOTKEY "Enable Hotkey" diff --git a/retroarch.h b/retroarch.h index db0fc91adb..d1fef799b6 100644 --- a/retroarch.h +++ b/retroarch.h @@ -229,6 +229,7 @@ typedef struct rarch_cmd_state bool quit_key_pressed; bool screenshot_pressed; bool mute_pressed; + bool osk_pressed; bool volume_up_pressed; bool volume_down_pressed; bool reset_pressed; diff --git a/runloop.c b/runloop.c index 59edf66113..1ed22c68ac 100644 --- a/runloop.c +++ b/runloop.c @@ -25,6 +25,7 @@ #include "retroarch.h" #include "runloop.h" #include "runloop_data.h" +#include "input/keyboard_line.h" #ifdef HAVE_MENU #include "menu/menu.h" @@ -528,6 +529,14 @@ static int do_state_checks(rarch_cmd_state_t *cmd) if (cmd->mute_pressed) rarch_main_command(RARCH_CMD_AUDIO_MUTE_TOGGLE); + if (cmd->osk_pressed) + { + driver_t *driver = driver_get_ptr(); + settings_t *settings = config_get_ptr(); + + driver->keyboard_linefeed_enable = !driver->keyboard_linefeed_enable; + } + if (cmd->volume_up_pressed) rarch_main_command(RARCH_CMD_VOLUME_UP); else if (cmd->volume_down_pressed) @@ -1023,6 +1032,7 @@ static void rarch_main_cmd_get_state(rarch_cmd_state_t *cmd, cmd->quit_key_pressed = BIT64_GET(input, RARCH_QUIT_KEY); cmd->screenshot_pressed = BIT64_GET(trigger_input, RARCH_SCREENSHOT); cmd->mute_pressed = BIT64_GET(trigger_input, RARCH_MUTE); + cmd->osk_pressed = BIT64_GET(trigger_input, RARCH_OSK); cmd->volume_up_pressed = BIT64_GET(input, RARCH_VOLUME_UP); cmd->volume_down_pressed = BIT64_GET(input, RARCH_VOLUME_DOWN); cmd->reset_pressed = BIT64_GET(trigger_input, RARCH_RESET); diff --git a/settings.c b/settings.c index fc65e3a0bf..e87565fbf7 100644 --- a/settings.c +++ b/settings.c @@ -2820,6 +2820,9 @@ int setting_get_description(const char *label, char *msg, else if (!strcmp(label, "audio_mute")) snprintf(msg, sizeof_msg, " -- Mute/unmute audio."); + else if (!strcmp(label, "osk_enable")) + snprintf(msg, sizeof_msg, + " -- Enable/disable on-screen keyboard."); else if (!strcmp(label, "screenshot")) snprintf(msg, sizeof_msg, " -- Take screenshot.");