Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android

This commit is contained in:
Fredia Huya-Kouadio 2024-08-12 19:22:36 -07:00
parent a5830f6eb9
commit d1891adced
4 changed files with 13 additions and 23 deletions

View File

@ -2020,16 +2020,16 @@
Help key.
</constant>
<constant name="KEY_BACK" value="4194376" enum="Key">
Media back key. Not to be confused with the Back button on an Android device.
Back key.
</constant>
<constant name="KEY_FORWARD" value="4194377" enum="Key">
Media forward key.
Forward key.
</constant>
<constant name="KEY_STOP" value="4194378" enum="Key">
Media stop key.
</constant>
<constant name="KEY_REFRESH" value="4194379" enum="Key">
Media refresh key.
Refresh key.
</constant>
<constant name="KEY_VOLUMEDOWN" value="4194380" enum="Key">
Volume down key.

View File

@ -4183,8 +4183,14 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) {
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/show_in_file_system", TTR("Show in FileSystem")), SHOW_IN_FILE_SYSTEM);
file_menu->get_popup()->add_separator();
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_previous", TTR("History Previous"), KeyModifierMask::ALT | Key::LEFT), WINDOW_PREV);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_next", TTR("History Next"), KeyModifierMask::ALT | Key::RIGHT), WINDOW_NEXT);
file_menu->get_popup()->add_shortcut(
ED_SHORTCUT_ARRAY("script_editor/history_previous", TTR("History Previous"),
{ int32_t(KeyModifierMask::ALT | Key::LEFT), int32_t(Key::BACK) }),
WINDOW_PREV);
file_menu->get_popup()->add_shortcut(
ED_SHORTCUT_ARRAY("script_editor/history_next", TTR("History Next"),
{ int32_t(KeyModifierMask::ALT | Key::RIGHT), int32_t(Key::FORWARD) }),
WINDOW_NEXT);
ED_SHORTCUT_OVERRIDE("script_editor/history_previous", "macos", KeyModifierMask::ALT | KeyModifierMask::META | Key::LEFT);
ED_SHORTCUT_OVERRIDE("script_editor/history_next", "macos", KeyModifierMask::ALT | KeyModifierMask::META | Key::RIGHT);

View File

@ -909,15 +909,10 @@ class Godot(private val context: Context) {
}
fun onBackPressed() {
var shouldQuit = true
for (plugin in pluginRegistry.allPlugins) {
if (plugin.onMainBackPressed()) {
shouldQuit = false
}
}
if (shouldQuit) {
renderView?.queueOnRenderThread { GodotLib.back() }
plugin.onMainBackPressed()
}
renderView?.queueOnRenderThread { GodotLib.back() }
}
/**

View File

@ -154,10 +154,6 @@ public class GodotInputHandler implements InputManager.InputDeviceListener, Sens
}
public boolean onKeyUp(final int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
return false;
}
@ -183,13 +179,6 @@ public class GodotInputHandler implements InputManager.InputDeviceListener, Sens
}
public boolean onKeyDown(final int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
godot.onBackPressed();
// press 'back' button should not terminate program
//normal handle 'back' event in game logic
return true;
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
return false;
}