diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 5233486e9e..e7dd669f81 100755 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -1023,6 +1023,19 @@ public void toggleVirtualController(){ prefConfig.onscreenController= virtualController.switchShowHide() != 0; } + public void toggleKeyboardOrVirtualController() { + if (!prefConfig.onscreenController && (keyBoardController == null || !keyBoardController.shown)) { + toggleKeyboardController(); + return; + } else if (prefConfig.onscreenController && (keyBoardController != null && keyBoardController.shown)) { + toggleVirtualController(); + return; + } + + toggleKeyboardController(); + toggleVirtualController(); + } + private void setPreferredOrientationForActivity() { Display display = getActiveDisplay(Game.this, prefConfig); diff --git a/app/src/main/java/com/limelight/GameMenu.java b/app/src/main/java/com/limelight/GameMenu.java index 116894b961..d21e891efa 100755 --- a/app/src/main/java/com/limelight/GameMenu.java +++ b/app/src/main/java/com/limelight/GameMenu.java @@ -298,6 +298,8 @@ public void showMenu(GameInputDevice device) { options.add(new MenuOption(getString(R.string.game_menu_fetch_clipboard), true, () -> game.getClipboard(0))); + options.add(new MenuOption("Toggle Keys/Gamepad Overlay", true, game::toggleKeyboardOrVirtualController)); + options.add(new MenuOption(getString(R.string.game_menu_server_cmd), true, () -> { ArrayList serverCmds = game.getServerCmds();