According to the documentation here:
You can override or add to key bindings in dialog by adding to the configuration file. Dialog's bindkey command maps single keys to its internal coding.
bindkey widget curses_key dialog_key
The widget name can be "" (all widgets), or specific widgets such as textbox. Specific widget bindings override the "" bindings. User-defined bindings override the built-in bindings. The curses_key can be any of the names derived from curses.h, e.g., "HELP" from "KEY_HELP". Dialog also recognizes ANSI control characters such as "^A", "^?", as well as C1-controls such as "~A" and "~?". Finally, it allows any single character to be escaped with a backslash.
Dialog's internal keycode names correspond to the DLG_KEYS_ENUM type in dlg_keys.h, e.g., "HELP" from "DLGK_HELP".
So I did the following:
dialog --create-rc dialogrc export DIALOGRC=/home/MyUser/dialogrc
And then I added this to the bottom of my dialogrc:
bindkey * \r ITEM_NEXT bindkey * \w FIELD_NEXT bindkey * \e GRID_DOWN
I did all those as I'm not entirely sure which one I want. I start my dialog like this:
dialog --clear --backtitle "Test" --menu "key test" 15 50 4 Option1 "Option1" Option2 "Option2" Option3 "Option3"
I know it's reading my dialogrc file as the colours change. However the w, e and r keys do nothing. I want to be able to move up and down between menu items by pressing a key other than the up or down arrow.
How can I do that?