dodaの日記: DEC Locator Mode
マウスのモーションイベントに対応したついでに、DEC Locator Mode にも対応してみた。
xterm 形式のマウスイベント通知には 224 桁問題があるからきっと役に立つはずという事で。
まず現在位置の問い合わせと、ボタンイベントに対応した。
とりあえず動作確認のため、vim で ttymouse=dec にして試してみた。
ちゃんと動く…っていうか、なぜかドラッグでの選択領域がリアルタイムに更新される。
まだ filter rectangle をサポートしていないからマウスの動きが追えないはずなんだけれど。
変に思ったのでログを採ってみたら…なんじゃこりゃ。
ボタンを押している間は、現在位置の問い合わせを繰り返し続けてる。
これなら filter rectangle を使わなくてもマウスの動きを追えるけれど、ちょっと酷いんじゃない?
他の動作では、224 桁越えは問題なし。これがダメだったらサポートした意味が半減してしまうところだったのでよかった。
あと、何かダブルクリックがトリプルクリックとして認識される事が多いように思う。
テストスクリプトが相手の時はボタンダウン/アップイベントは2回づつしか送信されていないから、Tera Term 側は問題ないと思うんだけれど。
それに、ttymouse=xterm の場合は問題ないし。
使っていた vim が 7.2 だったため、念のため出たばかりの vim 7.3 でも試してみたが現象は変わりなし。
この状況じゃ vim で ttymouse=dec で使うのはちょっとつらいかな。
vim 以外に DEC Locator Mode に対応しているプログラムを知らないので、DEC Locator Mode をサポートした意味があまりなくなってしまった。
DEC Locator Mode More ログイン