VT100 エスケープ シーケンスで制御される Telnet CLI アプリケーションを作成しています。たとえば、カーソルを左に移動するには、<ESC>[D エスケープ シーケンスが Telnet サーバーからクライアント (Putty または Gnome ターミナル) に送信されます。残念ながら、Putty の行の長さよりも長い行では、上記のエスケープ シーケンスでは現在の行より上の行にカーソルを移動できません。
例。カーソルは「|」です。コメントは「//」でマークされています
----------------
>potato| // Now I press left arrow which sends esc sequence to application
----------------
>potat|o // Works as expected. The cursor moved left
----------------
もう一つの例
----------------
>potatopotatopot // This is a long command which goes over two lines
|ato // Now I press left arrow which sends esc sequence to application
----------------
>potatopotatopot // The cursor didn't move, since the escape sequence
|ato // does nothing if the cursor is at the edge
----------------
端にいるときにラップアラウンドする他のエスケープシーケンスを探していましたが、見つかりませんでした。端末モードをラップできるものに変更するエスケープ シーケンスも見つかりませんでした。
では、このような端末ナビゲーションは一般的にどのように処理されるのでしょうか?