Skip to content

Commit

Permalink
Enable BUTTON_FORWARD and BUTTON_BACK mouse buttons on Android
Browse files Browse the repository at this point in the history
  • Loading branch information
m4gr3d committed Sep 1, 2024
1 parent a5830f6 commit d1891ad
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 23 deletions.
6 changes: 3 additions & 3 deletions doc/classes/@GlobalScope.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 8 additions & 2 deletions editor/plugins/script_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
9 changes: 2 additions & 7 deletions platform/android/java/lib/src/org/godotengine/godot/Godot.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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() }
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,6 @@ public void onPointerCaptureChange(boolean hasCapture) {
}

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;
}
Expand All @@ -183,13 +179,6 @@ public boolean onKeyUp(final int keyCode, KeyEvent event) {
}

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;
}
Expand Down

0 comments on commit d1891ad

Please sign in to comment.