[haiku-bugs] Re: [Haiku] #7182: Fixing Menu keyboard navigation

  • From: "stippi" <trac@xxxxxxxxxxxx>
  • Date: Tue, 07 Jun 2011 12:52:45 -0000

#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.

Other related posts: