From 9336a924065553d94732941900375385284c47ee Mon Sep 17 00:00:00 2001
From: cpasjuste <cpasjuste@gmail.com>
Date: Wed, 29 Apr 2020 11:49:01 +0200
Subject: switch: fix software keyboard validation event, fix paths

---
 src/dirs.cpp         | 4 ++++
 src/fs/paths.cpp     | 6 ++----
 src/gui/sdlinput.cpp | 4 ++--
 3 files changed, 8 insertions(+), 6 deletions(-)

(limited to 'src')

diff --git a/src/dirs.cpp b/src/dirs.cpp
index 26c0032d9..e33407fff 100644
--- a/src/dirs.cpp
+++ b/src/dirs.cpp
@@ -359,6 +359,8 @@ void Dirs::initLocalDataDir()
             "local");
 #elif defined __native_client__
         settings.localDataDir = pathJoin(_nacl_dir, "local");
+#elif defined __SWITCH__
+        settings.localDataDir = pathJoin(VirtFs::getUserDir(),"local");
 #else  // __APPLE__
 
         settings.localDataDir = pathJoin(VirtFs::getUserDir(),
@@ -421,6 +423,8 @@ void Dirs::initConfigDir()
             "config");
 #elif defined __native_client__
         settings.configDir = pathJoin(_nacl_dir, "config");
+#elif defined __SWITCH__
+        settings.configDir = pathJoin(VirtFs::getUserDir(), "config");
 #else  // __APPLE__
 
         settings.configDir = pathJoin(VirtFs::getUserDir(),
diff --git a/src/fs/paths.cpp b/src/fs/paths.cpp
index 036020fce..1e76f249d 100644
--- a/src/fs/paths.cpp
+++ b/src/fs/paths.cpp
@@ -257,13 +257,12 @@ std::string getHomePath()
 #else  // defined(UNITTESTS) && defined(UNITESTSDIR)
 #ifdef WIN32
     return getSpecialFolderLocation(CSIDL_LOCAL_APPDATA);
+#elif __SWITCH__
+    return VirtFs::getBaseDir();
 #else
     const char *path = getenv("HOME");
     if (path == nullptr)
     {
-#ifdef __SWITCH__
-        return "/switch/manaplus";
-#else
         const uid_t uid = getuid();
         const struct passwd *const pw = getpwuid(uid);
         if (pw != nullptr &&
@@ -273,7 +272,6 @@ std::string getHomePath()
         }
         if (path == nullptr)
             return dirSeparator;
-#endif
     }
     std::string dir = path;
     if (findLast(dir, std::string(dirSeparator)) == false)
diff --git a/src/gui/sdlinput.cpp b/src/gui/sdlinput.cpp
index b6fabd8a5..c4c7c9741 100644
--- a/src/gui/sdlinput.cpp
+++ b/src/gui/sdlinput.cpp
@@ -139,7 +139,7 @@ void SDLInput::pushInput(const SDL_Event &event)
     MouseInput mouseInput;
 
 #ifdef __SWITCH__
-    // send an escape/cancel key on keyboard dismiss event
+    // send an enter/select key on keyboard dismiss event
     bool visible = SDL_GetEventState(SDL_TEXTINPUT) == SDL_ENABLE;
     if(visible)
     {
@@ -147,7 +147,7 @@ void SDLInput::pushInput(const SDL_Event &event)
     }
     else if(!keyboardClosed)
     {
-        simulateKey(KeyValue::ESCAPE, InputAction::GUI_CANCEL);
+        simulateKey(KeyValue::ENTER, InputAction::GUI_SELECT2);
         keyboardClosed = true;
     }
 #endif
-- 
cgit v1.2.3-70-g09d2