diff --git a/client/android/src/org/amnezia/vpn/AmneziaActivity.kt b/client/android/src/org/amnezia/vpn/AmneziaActivity.kt index 322dbccd9..ffe327528 100644 --- a/client/android/src/org/amnezia/vpn/AmneziaActivity.kt +++ b/client/android/src/org/amnezia/vpn/AmneziaActivity.kt @@ -303,8 +303,41 @@ class AmneziaActivity : QtActivity() { KeyEvent.KEYCODE_BUTTON_X, KeyEvent.KEYCODE_BUTTON_Y, KeyEvent.KEYCODE_BUTTON_START, - KeyEvent.KEYCODE_BUTTON_SELECT, + KeyEvent.KEYCODE_BUTTON_SELECT -> { + nativeGamepadKeyEvent(0, keyCode, true) + nativeGamepadKeyEvent(0, keyCode, false) + return true + } KeyEvent.KEYCODE_DPAD_CENTER -> { + if (isOnTv()) { + val down = KeyEvent( + event.downTime, + event.eventTime, + KeyEvent.ACTION_DOWN, + KeyEvent.KEYCODE_ENTER, + 0, + event.metaState, + 0, + event.scanCode, + event.flags, + event.source + ) + val up = KeyEvent( + event.downTime, + event.eventTime, + KeyEvent.ACTION_UP, + KeyEvent.KEYCODE_ENTER, + 0, + event.metaState, + 0, + event.scanCode, + event.flags, + event.source + ) + super.dispatchKeyEvent(down) + super.dispatchKeyEvent(up) + return true + } nativeGamepadKeyEvent(0, keyCode, true) nativeGamepadKeyEvent(0, keyCode, false) return true diff --git a/client/ui/qml/Pages2/PageStart.qml b/client/ui/qml/Pages2/PageStart.qml index e32381ee8..e731704df 100644 --- a/client/ui/qml/Pages2/PageStart.qml +++ b/client/ui/qml/Pages2/PageStart.qml @@ -278,7 +278,6 @@ PageType { } Keys.onPressed: function(event) { - console.debug(">>>> ", event.key, " Event is caught by StartPage") switch (event.key) { case Qt.Key_Tab: case Qt.Key_Down: @@ -304,7 +303,7 @@ PageType { anchors.right: parent.right anchors.left: parent.left anchors.bottom: parent.bottom - + // Also adjust TabBar position when keyboard appears (Android 14+ workaround) anchors.bottomMargin: SettingsController.imeHeight