如何更改对话框命令的键绑定

如何更改对话框命令的键绑定

根据文档这里:

您可以通过添加到配置文件来覆盖或添加对话框中的键绑定。 Dialog 的bindkey 命令将单个键映射到其内部编码。

绑定键小部件curses_keydialog_key

小部件名称可以是““(所有小部件),或特定的小部件,例如文本框。特定的小部件绑定会覆盖“" 绑定。用户定义的绑定会覆盖内置绑定。curses_key 可以是从curses.h 派生的任何名称,例如“KEY_HELP”中的“HELP”。Dialog 还可以识别 ANSI 控制字符,例如“^A” 、“^?”以及 C1 控件,例如“~A”和“~?”。最后,它允许使用反斜杠转义任何单个字符。

对话框的内部键码名称对应于 dlg_keys.h 中的 DLG_KEYS_ENUM 类型,例如“DLGK_HELP”中的“HELP”。

所以我做了以下事情:

dialog --create-rc dialogrc
export DIALOGRC=/home/MyUser/dialogrc

然后我将其添加到我的dialogrc的底部:

bindkey * \r ITEM_NEXT
bindkey * \w FIELD_NEXT
bindkey * \e GRID_DOWN

我做了所有这些,因为我不完全确定我想要哪一个。我这样开始我的对话:

dialog --clear --backtitle "Test" --menu "key test" 15 50 4 Option1 "Option1" Option2 "Option2" Option3 "Option3"

我知道随着颜色的变化它正在读取我的dialogrc 文件。然而 w、e 和 r 键没有任何作用。我希望能够通过按向上或向下箭头以外的键在菜单项之间上下移动。

我怎样才能做到这一点?

答案1

事实证明,我的包管理器提供的对话框版本已经过时。编译自这里它按预期工作。

相关内容