|目次|前ページ|次ページ|
──────────────────────────────────────
3.マウス制御シーケンス御使用の手引き(WINDOWS版)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[御注意]WINDOWS版では、DOS/V特有のテキストマウスはサポート
されていません。グラフィックスマウスモードのみがサポートされています。
◆◆◆ただし、テキスト座標の位置を利用した仕様はそのまま使用できます。
■■■マウスプログラミングでは【非同期入力モード】の使用が良いでしょう。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
テキスト座標の位置はフォントサイズに依存します。
ANKフォントの幅ドット数/1桁、フォントの高さのドット数/1行となります。
カーソルの水平座標の最大値はフォントサイズに依存します。
カーソルの垂直座標の最大値はフォントサイズに依存します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ESC[0;mode Y ---- 環境のチェック(最初に1回出力してください)
mode=0 のときコンソール応答入力します。
━━━━━━━━━━━━━━━━
<ESC>[0R --> マウスを使用出来ない環境
<ESC>[1R --> マウスを使用出来る環境
mode=1 のときコンソール応答入力しません。
ESC[1Y ---- マウスカーソルの表示
ESC[2Y ---- マウスカーソルの消去
◆◆◆WINDOWS版では、マウスカーソルの消去は動作しません。
ESC[3Y ---- マウスカーソル位置の取得
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[ p1 ; p2 ; p3 ; p4 R
p1 ---> 左ボタンの状態(0:放たれている、1:押されている)
p2 ---> 右ボタンの状態(0:放たれている、1:押されている)
p3 ---> カーソルの水平座標(0〜)
p4 ---> カーソルの垂直座標(0〜)
ESC[4;p1;p2 Y ---- マウスカーソル位置の設定
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
ESC[5Y ---- 左ボタンの押下情報の取得タイミング
ESC[5;1 Y ---- 左ボタンの押下情報の取得
左ボタンの押下情報の取得タイミングを出してから
行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> 左ボタンの状態(0:放たれている、1:押されている)
p2 ---> 左ボタンの押された回数
(前回の左ボタンの押下情報の取得タイミングから
今回の左ボタンの押下情報の取得タイミングまでの間)
─────────────────────────────────────
3−1
─────────────────────────────────────
ESC[5;2 Y ---- 左ボタンの押下情報の取得
左ボタンの押下情報の取得タイミングを出してから
行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
ESC[6Y ---- 左ボタンの解放情報の取得タイミング
ESC[6;1 Y ---- 左ボタンの解放情報の取得
左ボタンの解放情報の取得タイミングを出してから
行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> 左ボタンの状態(0:放たれている、1:押されている)
p2 ---> 左ボタンの解放された回数
(前回の左ボタンの解放情報の取得タイミングから
今回の左ボタンの解放情報の取得タイミングまでの間)
ESC[6;2 Y ---- 左ボタンの解放情報の取得
左ボタンの解放情報の取得タイミングを出してから行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
ESC[7Y ---- 右ボタンの押下情報の取得タイミング
ESC[7;1 Y ---- 右ボタンの押下情報の取得
右ボタンの押下情報の取得タイミングを出してから行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> 右ボタンの状態(0:放たれている、1:押されている)
p2 ---> 右ボタンの押された回数
(前回の右ボタンの押下情報の取得タイミングから
今回の右ボタンの押下情報の取得タイミングまでの間)
ESC[7;2 Y ---- 右ボタンの押下情報の取得
右ボタンの押下情報の取得タイミングを出してから行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
─────────────────────────────────────
3−2
─────────────────────────────────────
ESC[8Y ---- 右ボタンの解放情報の取得タイミング
ESC[8;1 Y ---- 右ボタンの解放情報の取得
右ボタンの解放情報の取得タイミングを出してから
行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> 右ボタンの状態(0:放たれている、1:押されている)
p2 ---> 右ボタンの解放された回数
(前回の右ボタンの解放情報の取得タイミングから
今回の右ボタンの解放情報の取得タイミングまでの間)
ESC[8;2 Y ---- 右ボタンの解放情報の取得
右ボタンの解放情報の取得タイミングを出してから
行うこと。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
ESC[11 Y ---- マウス移動距離の取得
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2 R
p1 ---> マウスの水平方向の移動距離
(0〜32767:正 32768〜65535:負)
p2 ---> マウスの垂直方向の移動距離
(0〜32767:正 32768〜65535:負)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
────────────────────────────────────
3−3
─────────────────────────────────────
ESC[12;0;p1 Y ---- 位置情報、ボタン押下解放回数カウンタのクリア
ESC[13;0;p1 Y 及び情報セット条件の設定
設定しないカウンタも全てクリアされます。
(ユーザ定義サブルーチンのコール条件の設定)
p1 [例] ESC[12;;31Y --> ダブルクリック以外条件で設定
━━━━━━━━━━━━━━━━━━
ビット0 --> カーソル位置の変化
ビット1 --> 左ボタンが押される
ビット2 --> 左ボタンが離される
ビット3 --> 右ボタンが押される
ビット4 --> 右ボタンが離される
-----------------------------------
ビット6 --> 左ダブルクリック
ビット7 --> 右ダブルクリック
[例] ESC[12;;192Y --> 左右ダブルクリックで設定
※※※ダブルクリックの取得は非同期シーケンスでのみ可能です。
*** セット条件になっていないものは値が0で入力待ちせずに応答します
*** 割り込みが禁止されているタイミングがありますのでカウンタがまれに
少なく報告される場合があります。
ESC[12;1 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
マウスカーソル位置の取得(直ちに応答入力します)
マウスカーソル位置の取得後座標は(0,0)にリセットされます。
未入力は座標(0,0)とみなされます。
コンソール応答入力(初期値は0)
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
ESC[12;2 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
左ボタンの押された回数の取得(直ちに応答入力します)
取得後、当該カウンタは0にリセットされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 左ボタンの押された回数
ESC[12;4 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
左ボタンの解放された回数の取得(直ちに応答入力します)
取得後、当該カウンタは0にリセットされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 左ボタンの解放された回数
─────────────────────────────────────
3−4
─────────────────────────────────────
ESC[12;8 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
右ボタンの押された回数の取得(直ちに応答入力します)
取得後、当該カウンタは0にリセットされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 右ボタンの押された回数
ESC[12;16 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
右ボタンの解放された回数の取得(直ちに応答入力します)
取得後、当該カウンタは0にリセットされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 右ボタンの解放された回数
ESC[12;32 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
テキスト座標のマウスカーソル位置の取得
取得後、当該カウンタは0にリセットされます。
(直ちに応答入力します)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[ p1 ; p2 R
p1 ---> カーソルの水平座標(1〜80〜160)
p2 ---> カーソルの垂直座標(1〜25〜50)
ESC[13;1 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
マウスカーソル位置の取得
(マウスカーソル位置が変化するかまたは、ボタン押下解放
回数カウンタが0以外になるまで入力待ちします。
但し、入力完了条件はセット条件の設定でマスク出来ます。)
*** 入力完了時のボタン押下解放回数カウンタ(ON,OFF)は
ESC[14 Y で取得します。
マウスカーソル位置の取得後座標は(0,0)にリセットされます。
座標(0,0)は未入力とみなされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1;p2R
p1 ---> カーソルの水平座標(0〜)
p2 ---> カーソルの垂直座標(0〜)
─────────────────────────────────────
3−5
─────────────────────────────────────
ESC[13;2 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
左ボタンの押された回数の取得
取得後、当該カウンタは0にリセットされます。
(左ボタン押下回数カウンタが変化するまで入力待ちします)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 左ボタンの押された回数
ESC[13;4 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
左ボタンの解放された回数の取得
取得後、当該カウンタは0にリセットされます。
(左ボタン解放回数カウンタが変化するまで入力待ちします)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 左ボタンの解放された回数
ESC[13;8 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
右ボタンの押された回数の取得
取得後、当該カウンタは0にリセットされます。
(右ボタン押下回数カウンタが変化するまで入力待ちします)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 右ボタンの押された回数
ESC[13;16 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
右ボタンの解放された回数の取得
取得後、当該カウンタは0にリセットされます。
(右ボタン解放回数カウンタが変化するまで入力待ちします)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[p1 R
p1 ---> 右ボタンの解放された回数
ESC[13;32 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
テキスト座標のマウスカーソル位置の取得
取得後、当該カウンタは0にリセットされます。
(いずれかのボタン押下解放回数カウンタがするまで入力待ちします)
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[ p1 ; p2 R
p1 ---> カーソルの水平座標(1〜80〜160)
p2 ---> カーソルの垂直座標(1〜25〜50)
─────────────────────────────────────
3−6
─────────────────────────────────────
ESC[14 Y ----- 位置情報、ボタン押下解放回数カウンタのクリア
及び情報セット条件の設定を行ってから最新の
マウスカーソル位置の取得時のボタン押下解放
カウンタ情報取得(ESC[12;1Y 又は、 ESC[13;1Y の後に有効)
取得後、位置情報、ボタン押下解放回数カウンタは
リセットされます。
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[ p1 ; p2 ; p3 ; p4 R
p1 ---> 左ボタンの押下情報(0:押されない、1:押された)
p2 ---> 左ボタンの解放情報(0:放たれない、1:放たれた)
p3 ---> 右ボタンの押下情報(0:押されない、1:押された)
p4 ---> 右ボタンの解放情報(0:放たれない、1:放たれた)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ESC[15;p1;p2 Y ---- マウスの移動比率の設定
p1 ---> 水平方向のマウス△の数
p2 ---> 垂直方向のマウス△の数
◆◆◆WINDOWS版では、移動距離比率の設定単位が異なります。
ESC[16;p1;p2 Y ---- 水平方向のカーソル移動範囲の設定
p1 ---> 水平方向のカーソル移動範囲の最小値
p2 ---> 水平方向のカーソル移動範囲の最大値
ESC[17;p1;p2 Y ---- 垂直方向のカーソル移動範囲の設定
p1 ---> 垂直方向のカーソル移動範囲の最小値
p2 ---> 垂直方向のカーソル移動範囲の最大値
ESC[18;p1 Y ---- カーソルの表示画面の設定(WINDOWS版では無意味)
ESC[19;p1 Y ---- グラフィック用VRAMの4面目の設定
(WINDOWS版では無意味)
ESC[20Y ---- マウスカーソルテキスト座標位置の取得
コンソール応答入力
━━━━━━━━━━━━━━━━━━
<ESC>[ p1 ; p2 ; p3 ; p4 R
p1 ---> 左ボタンの状態(0:放たれている、1:押されている)
p2 ---> 右ボタンの状態(0:放たれている、1:押されている)
p3 ---> カーソルの水平座標(1〜80〜160)
p4 ---> カーソルの垂直座標(1〜25〜50)
ESC[21;p1;p2 Y ---- マウスカーソルテキスト座標位置の設定
p1 ---> カーソルの水平座標(1〜80〜160)
p2 ---> カーソルの垂直座標(1〜25〜50)
ESC[22;p1 Y ---- コンソール応答入力の末尾に<CR>コードを
付加するかどうかのオプション設定
p1 ---->1:<CR>を付加する 0:<CR>は付加しない
─────────────────────────────────────
3−7
─────────────────────────────────────
ESC[23;p1;p2 Y ---- マウスカーソルテキスト座標位置の設定
カレントウィンドウの上左端からの相対位置
指定で動作します。
p1 ---> カーソルの相対ライン
p2 ---> カーソルの相対カラム
ESC[24;p1;p2 Y ---- マウスカーソルテキスト座標位置の設定
カレントウィンドウの上、左マージン設定
からの相対位置指定で動作します。
p1 ---> カーソルの相対ライン
p2 ---> カーソルの相対カラム
ESC[25;mode Y ---- マウスによるコンソール応答の入力フォーマット
を指定する。
mode=0 応答データ<CR>
mode=1 <ESC>[応答データR<CR>
ESC[26;style Y ---- マウスカーソルの形の変更
style --> マウスカーソルの形の番号0〜4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
番号 説明(WINDOWS特有のカーソル)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0 標準矢印カーソル
1 十字カーソル
2 テキストI字型カーソル
3 空のアイコン
4 右下隅の内側に小さい正方形のある正方形
5 右に傾いた線分の両端に矢印の付いたカーソル
6 垂直な線分の両端に矢印の付いたカーソル
7 左に傾いた線分の両端に矢印の付いたカーソル
8 水平な線分の両端に矢印の付いたカーソル
9 上向き矢印カーソル
10 砂時計カーソル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
────────────────────────────────────
3−8
─────────────────────────────────────
◆◆◆マウスによるメニュー選択機能◆◆◆
この機能については、ESC−vcomプラスで利用することを基本と
考えます。
ESC−windowプラスでの仕様はESC−vcomプラスとの
互換を考慮しています。
ESC−windowプラスでのマウスボタン押下感知の仕様は常に
コンソール応答は一回のみ有効のモードです。
一部の機能は、ESC−vcomプラスでのみ有効となります。
★★★マウスボタン押下感知条件は
ESC[12;0;p1 Y 又は ESC[13;0;p1 Y で設定してください。
但し、ESC−vcomプラスでは左ボタン押下がデフォルト
として設定されています。ESC−windowプラスでは
必ず設定しなければ動作しません。
★★★カーソルオリジンモードには依存されません。
★★★ESC−windowプラスでは
キーボードから0,1,2,3,4,5,6,7,8,9
及び<CR>がタイプされるとマウス入力待ちは解消され
キーボードからの入力が有効となります。
★★★ESC−vcomプラスではマウス入力とキーボード入力は
両方とも受け付けますので、キーボード入力した時はマウス入力を
<ESC>[4qで解消してください。
ESC[1 q ---- マウスカーソルがカレントウィンドウ内に存在しかつ
指定されたボタンが押されたときに相対行位置を
コンソール応答します。
入力形式は、line-no<CR>
ESC[2 q ---- マウスカーソルがカレントウィンドウ内に存在しかつ
指定されたボタンが押されたときに相対カラム位置を
コンソール応答します。
入力形式は、column-no<CR>
ESC[3 q ---- マウスカーソルがカレントウィンドウ内に存在しかつ
指定されたボタンが押されたときに相対行カラム位置を
コンソール応答します。
入力形式は、line-no<CR> column-no<CR>
ESC[4 q ---- コンソール応答がボタン押下毎に有効のとき指定を解除
コンソール応答は禁止されます。
ESC[5;mode q ---- マウスボタン押下感知範囲の指定
mode=0 のとき上下、左右マージン指定の内側
mode=1 のときカレントウィンドウの内側
ESC[6;mode q ---- マウスボタン押下感知の仕様の変更指定
mode=0 のときコンソール応答は一回のみ有効
mode=1 のときコンソール応答はボタン押下毎に有効
─────────────────────────────────────
3−9
─────────────────────────────────────
◆◆◆追加機能仕様(マウス非同期感知)◆◆◆
※※※以下の仕様では,WINDOWS版で機能が拡張されている部分が
あります。
■マウスボタン非同期入力モードの設定
━━━━━━━━━━━━━━━━━━
ESC[27;async;address;window;esc;frame;crsw Y
async → フォント種別
0:マウスボタン非同期入力禁止モード
1:マウスボタン非同期入力許可モード
※※※非同期入力許可モードになると感知原因が発生する毎に
リスポンスフォーマットで応答します。
※※※非同期入力禁止モードになると応答しなくなります。
address → 0:ドットアドレス 1:テキスト(ローカラム)
window → 0:絶対座標 1:カレントウィンドウ相対座標
2:カレントウィンドウ内は相対座標で
ウィンドウ外は絶対座標
絶対座標 → <ESC/FS>[button;x-addres;y-address x
相対座標 → <ESC/FS>[button;x-addres;y-address y
※※※上記の様にリスポンスの最後の文字が、xかyで判定できます。
esc → 0:<ESC> 1:<FS>
※※※マウスボタン非同期入力リスポンスフォーマットの先頭文字
frame → 0:枠の内側のみ 1:枠部分でも感知
※※※テキスト(ローカラム)モードの時ウィンドウ枠部分でも感知する。
※※※ウィンドウ枠部分の座標は、左/上では、0 右/下では
最右端/最下端+1となります。
crsw → 0:リスポンスフォーマットに<CR>無し
1:リスポンスフォーマットの末尾に<CR>が付加
※※※【リスポンスフォーマット】※※※
絶対座標 → <ESC/FS>[button;x-addres;y-address x<CR>
相対座標 → <ESC/FS>[button;x-addres;y-address y<CR>
<ESC/FS>[ → <ESC>または<FS>と続く "["
button → 原因となった現象
2:左ボタンが押された
4:左ボタンが離された
8:右ボタン押された
16:右ボタン離された
64:左ダブルクリックされた
128:右ダブルクリックされた
x-addres → X座標(カラム位置)
y-addres → Y座標(行位置)
絶対相対識別 → 絶対座標の時(x) 相対座標の時(y)
<CR> →(crsw=0)の時は存在しない(crsw=1)の時<CR>が送信される。
※※ホストプログラムでは,【リスポンスフォーマット】のデータを非同期
(マウスボタン操作時)に読み込み処理可能にしておく必要があります。
─────────────────────────────────────
3−10
─────────────────────────────────────
■マウスボタン非同期入力原因の設定
━━━━━━━━━━━━━━━━
ESC[12;0;p1 Y →(ユーザ定義サブルーチンのコール条件の設定)
ESC[13;0;p1 Y
p1 [例]ESC[13;;223Y-->全条件で設定
━━━━━━━━━━━━━━━━━━
ビット0(0) -->カーソル位置の変化
ビット1(2) -->左ボタンが押される
ビット2(4) -->左ボタンが離される
ビット3(8) -->右ボタンが押される
ビット4(16) -->右ボタンが離される
-----------------------------------
ビット6(64) -->左ダブルクリック
ビット7(128)-->右ダブルクリック
-----------------------------------
※※※ダブルクリック発生時は必ずボタンの押/離も同時に発生します。
[例] ESC[13;;192Y-->ダブルクリックのみ感知可能
※※※<カーソル位置の変化>では非同期入力の原因とはなりません。
※※※ほぼ同時に2つの原因が発生した場合は、先に発生した原因の応答が
失われる場合がありますので、プログラミングでは、御注意ください。
■ダブルクリック感知モードの設定
━━━━━━━━━━━━━━━━━━
ESC[28;dbclick Y
dbclick → 0のときダブルクリック感知禁止
→ 1のときダブルクリック感知可能
【SETUP】でも、設定が可能ですが、それと別に変更ができます。
※※ダブルクリックは【マウスボタン非同期入力モード】でのみ
感知が可能となっています。
※※感知禁止のとき右ダブルクリックは【通信時メニュー】の起動となります。
■アイコンメニュー選択機能の拡張エスケープシーケンス
━━━━━━━━━━━━━━━━━━━━━━━━━
※※拡張シーケンス(ウィンドウ/アイコン/VT52/プロセス起動)
に記載がありますので,御参照ください。
─────────────────────────────────────
3−11
|目次|前ページ|次ページ|