ダイアログコマンドのキーバインディングを変更する方法

ダイアログコマンドのキーバインディングを変更する方法

文書によるとここ:

構成ファイルに追加して、ダイアログボックスでキーバインディングを上書きまたは追加できます。ダイアログボックスのバインディングキーコマンドは、単一のキーを内部エンコーディングにマッピングします。

バインディングキーウィジェットcurses_keydialog_key

ウィジェット名は「「(すべてのウィジェット)やテキストボックスなどの特定のウィジェット。特定のウィジェットバインディングが上書きされます。」"バインディング。カスタムバインディングは組み込みバインディングをオーバーライドします。制御文字も認識します。 ?"や"~A"や"~?"などのC1コントロール最後にバックスラッシュを使用して単一の文字をエスケープできます。

ダイアログボックスの内部キー名は、「DLGK_HELP」の「HELP」など、dlg_keys.hのDLG_KEYS_ENUMタイプに対応します。

だから私は次のことをしました。

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

私のパッケージマネージャが提供するダイアログのバージョンが古いことがわかりました。以下でコンパイル済みここ期待どおりに動作します。

関連情報