From f9c37cce56e2d14010ff96ebe0b53a1936c46720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 22 Jan 2019 21:21:59 +0100 Subject: [PATCH] Fix for weird Xbox B button behavior, see #10948. A simpler change was tested to work by Ruler. --- UWP/App.cpp | 13 +++++++++---- UWP/App.h | 3 ++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/UWP/App.cpp b/UWP/App.cpp index 5950a5ada2..124905478f 100644 --- a/UWP/App.cpp +++ b/UWP/App.cpp @@ -1,4 +1,4 @@ -#include "ppsspp_config.h" +#include "ppsspp_config.h" #include "pch.h" #include "App.h" @@ -92,6 +92,7 @@ void App::SetWindow(CoreWindow^ window) { if (Windows::Foundation::Metadata::ApiInformation::IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { m_hardwareButtons.insert(HardwareButton::BACK); + m_isPhone = true; } Windows::UI::Core::SystemNavigationManager::GetForCurrentView()-> @@ -103,11 +104,15 @@ void App::SetWindow(CoreWindow^ window) { } bool App::HasBackButton() { - return m_hardwareButtons.find(HardwareButton::BACK) != m_hardwareButtons.end(); + return m_isPhone; } void App::App_BackRequested(Platform::Object^ sender, Windows::UI::Core::BackRequestedEventArgs^ e) { - e->Handled = m_main->OnHardwareButton(HardwareButton::BACK); + if (m_isPhone) { + e->Handled = m_main->OnHardwareButton(HardwareButton::BACK); + } else { + e->Handled = true; + } } void App::OnKeyDown(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args) { @@ -262,4 +267,4 @@ void App::OnOrientationChanged(DisplayInformation^ sender, Object^ args) { void App::OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) { m_deviceResources->ValidateDevice(); -} \ No newline at end of file +} diff --git a/UWP/App.h b/UWP/App.h index d329ac2c20..bd1fd0b331 100644 --- a/UWP/App.h +++ b/UWP/App.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include @@ -102,6 +102,7 @@ namespace UWP { bool m_windowClosed; bool m_windowVisible; + bool m_isPhone = false; TouchMapper touchMap_; }; }