#7182: Fixing Menu keyboard navigation ----------------------------------+---------------------------- Reporter: Pete | Owner: stippi Type: bug | Status: in-progress Priority: normal | Milestone: R1 Component: Kits/Interface Kit | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 1 | Platform: All ----------------------------------+---------------------------- Comment (by stippi): I've committed the latest patch in r42004. During my testing, I've found that there are still many remaining issues, plus one that may be a regression: * When a particular BMenuItem is invoked for the first time via Enter, it doesn't have any effect, while subsequent invokations do work as expected. (regression?) * Submenus should be allowed to open when the user uses the left Arrow key, and allowed to close, when the user uses the right arrow key. The reason being that sub-menus may open to either direction depending on available space. Since the user himself can't know which direction a submenu will open into, at least for opening both keys should work. For closing, it may be the key that matches the location of the submenu towards its parent. * When hovering the mouse over a menu item, it still disturbs the keyboard navigation. This does not affect all submenus in a deeper hierarchy, however. I am not quite sure what exactly is the obervation here. Just try it with the Deskbar. When opening the Deskbar via the Menu key, navigating the entire hierachy works, when opening the menu via the mouse, not all submenus can be entered. I think submenus of the menu where the mouse is hovering are affected, but I am not sure. In any case, thanks for your work. The above mentioned problems is why I think the whole tracking mechanism should be rewritten. The code is riddled with unforseen side-effects. The existance of two almost similar _Track() hooks in BMenu and BMenuBar makes it even worse. -- Ticket URL: <http://dev.haiku-os.org/ticket/7182#comment:11> Haiku <http://dev.haiku-os.org> Haiku - the operating system.