aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/gui/gui_menu.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/gui/gui_menu.cpp b/engines/sci/gui/gui_menu.cpp
index 713bfa0f45..46dd310470 100644
--- a/engines/sci/gui/gui_menu.cpp
+++ b/engines/sci/gui/gui_menu.cpp
@@ -582,6 +582,13 @@ GuiMenuItemEntry *SciGuiMenu::interactiveWithKeyboard() {
// Selection changed, fix up new selection if required
newItemEntry = interactiveGetItem(newMenuId, newItemId, newMenuId != curItemEntry->menuId);
newMenuId = newItemEntry->menuId; newItemId = newItemEntry->id;
+
+ // if we do this step again because of a separator line -> don't repeat left/right, but go down
+ switch (curEvent.data) {
+ case SCI_K_LEFT:
+ case SCI_K_RIGHT:
+ curEvent.data = SCI_K_DOWN;
+ }
}
} while (newItemEntry->separatorLine);
if ((newMenuId != curItemEntry->menuId) || (newItemId != curItemEntry->id)) {