マウスをクリックした後、PuTTY端末に奇妙な5文字のシーケンスが表示されます。

マウスをクリックした後、PuTTY端末に奇妙な5文字のシーケンスが表示されます。

特定のプログラム(構成)を実行すると、端末が複雑になります。私の入力内容は表示されません。 「stty sane」を使って修正できましたが、端末でマウスをクリックするたびに(私はPuTTYを使用しています)、奇妙な文字が表示されることがわかりました。例えば

# O:#O: O:#O: 7-#7- BE#BE ...

5文字のシーケンスで表示されますが、同じ位置をクリックすると同じシーケンスが表示されます。

「リセット」を使用して問題を解決できることを知っていますが、これが何であるか、リセットせずに問題を解決する方法があるかどうかを知りたいです。 「構成」内で端末を台無しにする根本的な原因を見つける方法があるかもしれません。

ベストアンサー1

これはxtermスタイルです「マウス」イベント。原則として、適切なprintfORを使用してそれをオフにすることができますが、echo端末記述ですでにOR文字列の一部である場合reset(「infocmp」出力を参照)。rs1rs2

resetたとえば、次のようにします。

    rs1=\Ec,                                                                
    rs2=\E[!p\E[?3;4l\E[4l\E>,

そして後者を好みます(電子はハードリセットです)。\Eエスケープ文字です。ところで最初のブロックはrs2\E\[!p通常、マウスや他のほとんどの便利な項目をリセットするソフトリセットです。 printfは

printf '\033[!p'

入力する以上のものです。

reset

echo(あなたが知っている非標準を使用しても\E)。しかし、矢印キーの説明:ソフトリセットはカーソルキーを通常モードに戻しますが、viはそのキーがアプリケーションモードにあると思います。

マウスのみを無効にするには、次の出力を確認してくださいinfocmp -x

XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,

これはncursesにマウスを有効/無効にする方法を伝えます。端末の説明が完全に正確ではないそれしかし、1000それは通常のマウスモードあなたの例はこれを示しています。それでは...あなたはできます

printf '\033[?1000l'

(小文字のLは無効になります)その後、マウスを殺します。

「一部のプログラム」が自分で整理できないため、この現象が現れるのです。

おすすめ記事