diff --git a/Common/UI/UIScreen.cpp b/Common/UI/UIScreen.cpp index 9c5636a114..2cbd2b6456 100644 --- a/Common/UI/UIScreen.cpp +++ b/Common/UI/UIScreen.cpp @@ -235,7 +235,7 @@ bool PopupScreen::touch(const TouchInput &touch) { bool PopupScreen::key(const KeyInput &key) { if (key.flags & KEY_DOWN) { - if (key.keyCode == NKCODE_ENTER && defaultButton_) { + if ((key.keyCode == NKCODE_ENTER || key.keyCode == NKCODE_NUMPAD_ENTER) && defaultButton_) { UI::EventParams e{}; defaultButton_->OnClick.Trigger(e); return true; diff --git a/Common/UI/View.cpp b/Common/UI/View.cpp index 5dd2a5786b..c8f74ee1f1 100644 --- a/Common/UI/View.cpp +++ b/Common/UI/View.cpp @@ -279,7 +279,7 @@ bool IsAcceptKey(const KeyInput &key) { // This path is pretty much not used, confirmKeys should be set. // TODO: Get rid of this stuff? if (key.deviceId == DEVICE_ID_KEYBOARD) { - return key.keyCode == NKCODE_SPACE || key.keyCode == NKCODE_ENTER || key.keyCode == NKCODE_Z; + return key.keyCode == NKCODE_SPACE || key.keyCode == NKCODE_ENTER || key.keyCode == NKCODE_Z || key.keyCode == NKCODE_NUMPAD_ENTER; } else { return key.keyCode == NKCODE_BUTTON_A || key.keyCode == NKCODE_BUTTON_CROSS || key.keyCode == NKCODE_BUTTON_1 || key.keyCode == NKCODE_DPAD_CENTER; } diff --git a/Core/KeyMap.cpp b/Core/KeyMap.cpp index 0c96adde27..2e63fd70d4 100644 --- a/Core/KeyMap.cpp +++ b/Core/KeyMap.cpp @@ -81,6 +81,7 @@ void UpdateNativeMenuKeys() { const KeyDef hardcodedConfirmKeys[] = { KeyDef(DEVICE_ID_KEYBOARD, NKCODE_SPACE), KeyDef(DEVICE_ID_KEYBOARD, NKCODE_ENTER), + KeyDef(DEVICE_ID_KEYBOARD, NKCODE_NUMPAD_ENTER), KeyDef(DEVICE_ID_ANY, NKCODE_BUTTON_A), KeyDef(DEVICE_ID_PAD_0, NKCODE_DPAD_CENTER), // A number of Android devices. };