Xterm.js: Xterm.jsによるマウス座標のエンコーディング

作成日 2017年07月21日  ·  3コメント  ·  ソース: xtermjs/xterm.js


座標が127より大きい場合、Xterm.jsのマウス座標のエンコードとblessed.jsのデコードの間に少し矛盾があるようです。座標が127(7ビット)より大きい場合、Xterm.jsは2文字を使用してエンコードしますが、blessed .jsは1つだけを想定しています。 さらに、Xterm.jsはエンコードに最大11ビットを使用します。 Xterm.jsで制限を255に変更すると、互換性が復元されます:)

スペックを読んだ後、誰が正しいのかわかりません。

ここでは関連性がないと思うので、「詳細」セクションと「再現手順」セクションは空白のままにしておきます。

さらに情報が必要な場合はお知らせください。

ジョン。

詳細

  • ブラウザとブラウザのバージョン:
  • OSバージョン:
  • xterm.jsバージョン:

再現する手順



    1. 2.2。
aremouse-support typbug

最も参考になるコメント

ところで、xtermの仕様には、いくつかのマウス追跡プロトコルが記載されています。これらはすべて、最高のアプリケーションカバレッジを取得するためにxterm.jsでサポートされている必要があります。

  • X10(範囲が制限された古い標準、座標は256-33に制限されています)
  • 1005:UTF-8でエンコードされています(基本的にX10と同じですが、座標はUTF-8でエンコードされているため、より広い範囲が可能です)
  • 1006:SGRエンコード(10進数のSGRパラメーターとしての座標、リリースとプレスは「m」と「M」でエンコードされます)
  • 1015:URXVTエンコード(SGRとほぼ同じ、リリースは個別のボタン定義でエンコード)

それらの1つを選択するのはアプリケーション次第です(私はあなたの説明からblessedがX10を使用すると思います)。

全てのコメント3件

このような場合、iTerm2、Terminal.app、gnome-terminal、konsoleなどの他のターミナルエミュレーターが何をするかを確認するのが最善だと思います。

ところで、xtermの仕様には、いくつかのマウス追跡プロトコルが記載されています。これらはすべて、最高のアプリケーションカバレッジを取得するためにxterm.jsでサポートされている必要があります。

  • X10(範囲が制限された古い標準、座標は256-33に制限されています)
  • 1005:UTF-8でエンコードされています(基本的にX10と同じですが、座標はUTF-8でエンコードされているため、より広い範囲が可能です)
  • 1006:SGRエンコード(10進数のSGRパラメーターとしての座標、リリースとプレスは「m」と「M」でエンコードされます)
  • 1015:URXVTエンコード(SGRとほぼ同じ、リリースは個別のボタン定義でエンコード)

それらの1つを選択するのはアプリケーション次第です(私はあなたの説明からblessedがX10を使用すると思います)。

mcバグと最初のコメント2662とバグ2956を参照してください。

tl; dr:IMOはデフォルト(座標223まで機能します。座標はUTF-8でも常に単一バイトとしてエンコードされます。つまり、ストリームは有効なUTF-8ではありません)とSGR 1006モードを実装し、他を忘れます2 :)

このページは役に立ちましたか?
0 / 5 - 0 評価