intrをdelキーにマッピングする

intrをdelキーにマッピングする

SCO OpenServer 5.0.7からCentOS(Red Hat)Linux 5.9にレガシー4GLアプリケーションを移行しようとしています。

ユーザーは「DEL to ABORT」を押すように求められますが、実際には割り込み信号をキャプチャする画面がたくさんあります。

stty intr一貫性のためにキーにマッピングする方法はDEL?割り込みをansiシーケンスにマッピングすることは可能ですか?

PuTTY は各キーに対して次の制御コードを生成します。

DEL:^[[3~

BACKSPACE:^?

SHIFT BACKSPACE:^H

DELPuTTYでキーを具体的に再マップするオプションが見つかりません。

ベストアンサー1

文字はintr一連の文字ではなく単一文字でなければなりません。

Random832が提案したように使用するのはscreenおそらく最良の選択でしょう。その後、すべての端末で実行できます。

screen別の端末内で端末をエミュレートします。デフォルトでは、エミュレートする端末はPuTTYのように転送を続けます^?が、これを変更できます。Backspace^[[3~Delete

たとえば、次のファイルを作成する場合:

bindkey -k kb stuff "\10"
bindkey -k kD stuff "\177"
termcap * '' 'kD=\177:kb=\10'
screen sh -c 'stty intr "^?" erase "^H"; exec my-legacy-app'

そしてそれを次のように使用してくださいscreen -c /path/to/that-file

それはBackspace転送^HDelete転送の状況をシミュレートします^?

3行目は、アプリケーションに$TERMCAP環境変数を介してtermcapを使用するように指示しますが、それを使用しているユーザーはterminfo通知を受け取らないことに注意してください。

おすすめ記事