GideonZ / 1541ultimate

Official GIT archive of 1541 ultimate II sources
GNU General Public License v3.0
178 stars 46 forks source link

Menu navigation keys and Help text #175

Open Jumpman64 opened 4 years ago

Jumpman64 commented 4 years ago

Actual key behaviour:

F2 Setup menu

CRSR left: exits Setup root menu after releasing both CRSR and SHIFT key. (of course this is not possible in the Setup sub menus because CRSR left is used for changing options)

INST/DEL: go back one menu level. Exits Setup menu if in Setup root menu. This essential key is not documented on the Help page.

F5 Action menu

CRSR left: exits the Action menu. (It is not required here to release the keys like in Setup menu. This could cause to rush all the way up to the Interface root menu if keeping the keys pressed.)

Would be more consistent if INST/DEL could work here too.

General: RUN/STOP: exits Setup or Action menu going back to file browser. Exits the Interface menu if in file browser. F8 (Shift+F7): acts like RUN/STOP (little bit wasted)

F3 Help page

There's no indication that the Help text continues below and that you can scroll the text using CRSR down/up. At least you might see that F1/F7 will do. ;) Pressing F3 again to close the Help page.

Modification ideas:

(Maybe a poll on facebook could show if the user base would accept such changes to the menu navigation... if you consider something like that at all of course.)

F-key layout suggestion (as brainstormed on facebook):

F1: Help F2: Enter Setup menu and cycle through Setup/Action menu F3: Enter Setup menu F4: e.g. "Enter Audio Mixer menu" F5: Enter Action menu F6: ? Show debug log (it's commented out) e.g. "C64 and Cartridge Settings menu" or "Reboot C64" F7: Selection Page down F8: Selection Page up

(* Making F2 / F4 / F6 maybe freely assignable to a Setup sub menu or Action would be awesome.)

Help text page draft, added INST/DEL, Asterisk and stuff (it could even use a bit more tuning maybe :) )

static const char *helptext=
    "CRSR UP/DN: Selection up/down\n"
    "            Use to scroll this text\n"
    "CRSR LEFT:  Go one level up\n"
    "            Leave directory or disk\n"
    "CRSR RIGHT: Go one level down\n"
    "            Enter directory or disk\n"
    "RETURN:     Selection context menu\n"
    "RUN/STOP:   Leave menu / Back\n"
        "            Exit Interface\n"
        "INST/DEL:   Go one menu level up\n"
        "            when in Setup menu\n"
    "\n"
    "F2:         Setup menu\n"
    "F5:         Action menu\n"
    "\n"
    "F1:         Selection Page up\n"
    "F7:         Selection Page down\n"
    "* :         Go to top entry\n"
    "\n"
    "SPACE:      Select file / directory\n"
    "C=-A        Select all\n"
    "C=-N        Deselect all\n"
    "C=-C        Copy current selection\n"
    "C=-V        Paste selection to\n"
    "            current directory\n"
    "\n"
        "HOME:       Enter home directory\n"
        "C=-HOME:    Set current dir as home\n"
        "\n"  
    "Quick seek: Use the keyboard to type\n"
    "            the name to search for.\n"
    "            You can use ? as a\n"
    "            wildcard.\n"
    "\n"
    "Joystick in Port 2 can also be used\n"
    "for menu navigation.\n"
    "\n"
//  "F6:         Show debug log\n"
    "\nRUN/STOP to close this window.";
GideonZ commented 3 years ago

Good suggestions. Thank you.

I have now at least made the navigation consistent. CRSR right / left go deeper or out of a deeper level, regardless where you are; also in the config/setup. This means that new keys were necessary to change a value, which will be + and -. Space and Enter bring up the context menu, just like CRSR right, where applicable. I'll look into keeping the same key to show the help menu also inside of the config/setup menu.

Interesting that you found to bring you to the first item. This is due to quick seek. Typing a name will bring you to the first match. Obviously '' matches with everything, and hence the first item is selected.

Not fond of changing the behavior of F1/F7, but maybe this is left for the moment keys gets assignable. I prefer to use C=+ to assign user functions to.