参考文献

参考文献

ターミナルで矢印を押すとカーソルは正しく動きますが、C、C++、または Python で簡単なアプリケーションを作成すると、^[[A、^[[B... と表示されます。コードと結果を確認できるように、Python で簡単なプログラムを作成しました。

ここに画像の説明を入力してください

答え1

これは、標準入力モードのライン ディシプリンから得られる端末入力デコードのレベルです。それほど多くはありません。

カーソル キーパッド、編集キーパッド、およびファンクション キーを考慮した編集可能なコマンド ライン入力を提供するすべてのアプリケーションは、端末を raw 入力モードに切り替え、端末タイプ (および RXVT、Linux KVT、SCO コンソール、および Interix のさまざまなステート マシンの不具合) を考慮して ECMA-48 入力ストリームをデコードする必要があります。プログラムでこれを行う必要があります。

これを行うためのライブラリはGNU ReadLineからlibtermkey/まで様々あります。libtickitそして編集行(別名 libedit) を Z シェルの ZLE および Korn シェルの編集ライブラリに追加します。

参考文献

関連情報