diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 0d5528d4d..3f7eec1db 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -408,10 +408,6 @@ inline void EmuScreen::setVKeyAnalogY(int stick, int virtualKeyMin, int virtualK } bool EmuScreen::key(const KeyInput &key) { - if ((key.flags & KEY_DOWN) && key.keyCode == NKCODE_BACK) { - pauseTrigger_ = true; - } - std::vector pspKeys; KeyMap::KeyToPspButton(key.deviceId, key.keyCode, &pspKeys); @@ -423,6 +419,14 @@ bool EmuScreen::key(const KeyInput &key) { for (size_t i = 0; i < pspKeys.size(); i++) { pspKey(pspKeys[i], key.flags); } + + if (!pspKeys.size() || key.deviceId == DEVICE_ID_DEFAULT) { + if ((key.flags & KEY_DOWN) && key.keyCode == NKCODE_BACK) { + pauseTrigger_ = true; + return true; + } + } + return pspKeys.size() > 0; } diff --git a/native b/native index 4dce24d05..7f0387a31 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit 4dce24d05cbe02e8bc711698aca01193f1a36433 +Subproject commit 7f0387a31e6391bc9ae7a87f4fa19be171478a46