~からXterm制御シーケンス文書:
通常のトレースモードは、ボタンが押されたときと放されるとの両方でエスケープシーケンスを送信します。修飾キー(Shift、Ctrl、Meta)情報も送信されます。パラメーター1000をDECSETとして指定してアクティブにします。ボタンを押したり放したりすると、xtermCSI Mを送信CbCxCy。
の下位2桁CBコード化されたボタン情報:0 = MB1を押す、1 = MB2を押す、2 = MB3を押す、3 =を解除します。
次の3つのビットは、ボタンを押したときに押した修飾子をエンコードし、一緒に追加されます。4 = Shift、8 = Meta、16 = Control。ただし、シフトおよび制御ビットは通常使用できません。xtermポップアップメニューにはマウスでコントロール修飾子を使用し、ボタンイベントのデフォルトの翻訳にはShift修飾子を使用します。これ円xtermが認識する修飾子は次のとおりです。モジュール1マスクであり、必ずしも「メタ」キーである必要はありません(参照xmodmap(1))。
CXそしてサイX10モードでエンコードされたマウスイベントのx座標とy座標。
たとえば、Shift キーを押しながら (1, 1) をマウスの左ボタンでクリックし、Ctrl を押しながら (2, 2) を右クリックし、 (3, 3) でマウスの左ボタンを離します。 、((()4、4)を右クリックすると、どうなりますか?
あなたは得ることができません
ESC [ M 0000100 ! !
ESC [ M 0010001 " "
ESC [ M 0000011 # #
ESC [ M 0000011 $ $
標準入力から?クライアントプログラムはどのように処理する必要がありますか?それはどのように可能ですか?
制御シーケンス文書は読みにくいため、不必要に難しい。
答え1
文書は次の質問に答えます。
Cbエンコーディングの下位2ビットボタン情報:0 = MB1を押す、1 = MB2を押す、2 = MB3を押す、3=オフ。
つまり、使用できません。一般トラッキングモード規約。これはあいまいです。
あいまいなボタンの解除に関する問題を修正しました。拡張座標SGR(1006)コード転送:
- どのボタンを放すかについてX10のあいまいさを解決するために、ボタンを離すときに別の最終文字が使用されます。
最高の読みやすさのために、PDF有効です(通常のテキストが最後に来ます)。
しかし、質問はほとんど使用されていない場合について尋ねます。Shift修飾子は通常「常に」選択/貼り付けに使用され、修飾子は通常メニューを有効にするために使用されるためControlです。これらの機能はオプションです(マンページの説明を参照)。omitTranslation
またallowMouseOps
)。もちろん、実際にxtermについて質問しない限り、端末が何をするかを推測することはできません。xterm-似たようなこれらすべてを文書化します。
答え2
また、この形式はボタンがより多くのマウスを完全に無視します。
あなたが引用した段落の次の段落は次のとおりです。
ホイールマウスはボタン4と5を返すことができます。これらのボタンは、イベントコードに64が追加されている点を除いて、それぞれボタン1と2と同じイベントコードで表示されます。ホイールボタン解除イベントを報告しない