From 9f8f5766011e2e80257ffced4fff8cb50948d173 Mon Sep 17 00:00:00 2001 From: qgh Date: Fri, 5 Dec 2025 11:22:42 +0800 Subject: [PATCH 1/3] Fix the issue of unresponsive buttons on the HarmonyOS Next platform. --- .../openharmony/OpenHarmonyPlatform.cpp | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp index a1dc1598fb6..944455ea7c4 100644 --- a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp +++ b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp @@ -186,11 +186,45 @@ int ohKeyCodeToCocosKeyCode(OH_NativeXComponent_KeyCode ohKeyCode) { {KEY_SPACE, cc::KeyCode::SPACE}, {KEY_ALT_RIGHT, cc::KeyCode::ALT_RIGHT}, {KEY_CTRL_RIGHT, cc::KeyCode::CONTROL_RIGHT}, + {KEY_DPAD_LEFT, cc::KeyCode::ARROW_LEFT}, {KEY_DPAD_RIGHT, cc::KeyCode::ARROW_RIGHT}, {KEY_DPAD_DOWN, cc::KeyCode::ARROW_DOWN}, {KEY_DPAD_UP, cc::KeyCode::ARROW_UP}, + {KEY_DPAD_CENTER, cc::KeyCode::DPAD_CENTER}, + + {KEY_MOVE_HOME, cc::KeyCode::HOME}, + {KEY_MOVE_END, cc::KeyCode::END}, + {KEY_FORWARD_DEL, cc::KeyCode::DELETE_KEY}, {KEY_INSERT, cc::KeyCode::INSERT}, + {KEY_PAGE_UP, cc::KeyCode::PAGE_UP}, + {KEY_PAGE_DOWN, cc::KeyCode::PAGE_DOWN}, + {KEY_SCROLL_LOCK, cc::KeyCode::SCROLLLOCK}, + // numpad + {KEY_BREAK, cc::KeyCode::PAUSE}, + {KEY_NUM_LOCK, cc::KeyCode::NUM_LOCK}, + {KEY_NUMPAD_DIVIDE, cc::KeyCode::NUMPAD_DIVIDE}, + {KEY_NUMPAD_MULTIPLY, cc::KeyCode::NUMPAD_MULTIPLY}, + {KEY_NUMPAD_SUBTRACT, cc::KeyCode::NUMPAD_MINUS}, + {KEY_NUMPAD_ADD, cc::KeyCode::NUMPAD_PLUS}, + {KEY_NUMPAD_ENTER, cc::KeyCode::NUMPAD_ENTER}, + {KEY_NUMPAD_DOT, cc::KeyCode::NUMPAD_DECIMAL}, + + {KEY_NUMPAD_COMMA, cc::KeyCode::COMMA}, + {KEY_NUMPAD_EQUALS, cc::KeyCode::EQUAL}, + + {KEY_NUMPAD_0, cc::KeyCode::NUMPAD_0}, + {KEY_NUMPAD_1, cc::KeyCode::NUMPAD_1}, + {KEY_NUMPAD_2, cc::KeyCode::NUMPAD_2}, + {KEY_NUMPAD_3, cc::KeyCode::NUMPAD_3}, + {KEY_NUMPAD_4, cc::KeyCode::NUMPAD_4}, + {KEY_NUMPAD_5, cc::KeyCode::NUMPAD_5}, + {KEY_NUMPAD_6, cc::KeyCode::NUMPAD_6}, + {KEY_NUMPAD_7, cc::KeyCode::NUMPAD_7}, + {KEY_NUMPAD_8, cc::KeyCode::NUMPAD_8}, + {KEY_NUMPAD_9, cc::KeyCode::NUMPAD_9}, + + }; if (keyCodeMap.find(ohKeyCode) != keyCodeMap.end()) { return int(keyCodeMap[ohKeyCode]); From 6ff1a2fb96ac49eb144b31f7e33d22217ee5b50f Mon Sep 17 00:00:00 2001 From: qgh Date: Fri, 5 Dec 2025 11:34:12 +0800 Subject: [PATCH 2/3] Adjust code formatting --- native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp index 944455ea7c4..fb7d4f9edb6 100644 --- a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp +++ b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp @@ -209,10 +209,9 @@ int ohKeyCodeToCocosKeyCode(OH_NativeXComponent_KeyCode ohKeyCode) { {KEY_NUMPAD_ADD, cc::KeyCode::NUMPAD_PLUS}, {KEY_NUMPAD_ENTER, cc::KeyCode::NUMPAD_ENTER}, {KEY_NUMPAD_DOT, cc::KeyCode::NUMPAD_DECIMAL}, - {KEY_NUMPAD_COMMA, cc::KeyCode::COMMA}, {KEY_NUMPAD_EQUALS, cc::KeyCode::EQUAL}, - + {KEY_NUMPAD_0, cc::KeyCode::NUMPAD_0}, {KEY_NUMPAD_1, cc::KeyCode::NUMPAD_1}, {KEY_NUMPAD_2, cc::KeyCode::NUMPAD_2}, @@ -223,8 +222,6 @@ int ohKeyCodeToCocosKeyCode(OH_NativeXComponent_KeyCode ohKeyCode) { {KEY_NUMPAD_7, cc::KeyCode::NUMPAD_7}, {KEY_NUMPAD_8, cc::KeyCode::NUMPAD_8}, {KEY_NUMPAD_9, cc::KeyCode::NUMPAD_9}, - - }; if (keyCodeMap.find(ohKeyCode) != keyCodeMap.end()) { return int(keyCodeMap[ohKeyCode]); From c809012742aec8407354b2f6e0d3ee17494c7f3f Mon Sep 17 00:00:00 2001 From: qgh Date: Fri, 5 Dec 2025 11:36:55 +0800 Subject: [PATCH 3/3] Adjust code formatting --- native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp index fb7d4f9edb6..bce7ac46356 100644 --- a/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp +++ b/native/cocos/platform/openharmony/OpenHarmonyPlatform.cpp @@ -200,8 +200,8 @@ int ohKeyCodeToCocosKeyCode(OH_NativeXComponent_KeyCode ohKeyCode) { {KEY_PAGE_UP, cc::KeyCode::PAGE_UP}, {KEY_PAGE_DOWN, cc::KeyCode::PAGE_DOWN}, {KEY_SCROLL_LOCK, cc::KeyCode::SCROLLLOCK}, - // numpad {KEY_BREAK, cc::KeyCode::PAUSE}, + // numpad {KEY_NUM_LOCK, cc::KeyCode::NUM_LOCK}, {KEY_NUMPAD_DIVIDE, cc::KeyCode::NUMPAD_DIVIDE}, {KEY_NUMPAD_MULTIPLY, cc::KeyCode::NUMPAD_MULTIPLY},