Menu

#358 Make the whole menu system be controlable through the keyboard

to be defined
assigned
nobody
enhancement
minor
User interface
2.0.0-dev
2024-03-10
2011-03-05
No

Because for now, you can't do without the mouse in many menus :

  • the normal binding of the up/down arrow keys (Focus previous / Focus next) is sometimes overridden by menu-level shortcuts),
  • some of our widgets can never get the focus (like Label controls), which makes the pseudo-combo-boxes not focusable,
  • some other have a broken / weak focus management (like Combo-boxes),
  • there's no decent API for excluding widgets from the navigation path.

And we should probably also move to the widely spread Tab / Shift-Tab navigation scheme, as it would then free the arrow keys in favor of other uses (more user friendly).

Note: This would then make the long awaited "joystick/joypad button"-only navigation quite straightforward to implement (just before the PS3 port ;-).

Related

Tickets: #1145

Discussion

  • Jean-Philippe Meuret

    r3424 does some progress on the combo-box side, by hiding their composite behavior in order to get a focus management that is consistent with much of the other (legacy) controls : the whole combo-box now gets / looses the focus at once (no more sub-control by sub-control), which enables up/down arrow key navigation in the menus.

    Note : Many hand-made combo-boxes still exist in the menu (explicit creation of 3 separate controls : 2 graphical buttons + 1 label) : we need to move them to real "monolithic" combo-box controls.

     

    Related

    Commit: [r3424]

  • simon wood

    simon wood - 2014-06-10
    • Description has changed:

    Diff:

    
    
    • assigned_to: Boris Antonevich --> nobody
     
  • beaglejoe

    beaglejoe - 2022-03-05
    • status: new --> assigned
    • assigned_to: beaglejoe
     
  • beaglejoe

    beaglejoe - 2022-03-05

    Most menus can be made navigable via up/down errors by adding a call to:
    GfuiMenuDefaultKeysAdd()

     
  • xDraconian

    xDraconian - 2024-03-10
    • assigned_to: beaglejoe --> nobody
     

Log in to post a comment.