Next: , Previous: , Up: フレーム   [Contents][Index]


30.16 マウスの位置

関数mouse-positionset-mouse-positionはマウスのカレント位置にたいするアクセスを提供します。

Function: mouse-position

この関数はマウス位置の記述子をリターンする。値は(frame x . y)のような形式であり、xyframeのネイティブ位置(フレームのジオメトリーを参照)から相対的に、frameのデフォルト文字サイズ(フレームのフォントを参照)の単位で位置を与える整数(丸められている可能性あり)。

Variable: mouse-position-function

この変数の値は非nilならmouse-positionにたいして呼び出される関数。mouse-positionはリターン直前に、自身の通常のリターン値を唯一の引数としてこの関数を呼び出して、それが何であれその関数がリターンした値をリターンする。

このアブノーマルフックはxt-mouse.elのようにLispレベルでマウス処理を行う必要があるパッケージのために存在する。

Variable: tty-menu-calls-mouse-position-function

nilなら、上述のようにTTYメニューはmouse-position-functionを呼び出す。これは再表示をトリガーする等、TTYメニューからのmouse-position-function呼び出しが安全ではない場合のために存在する。

Function: set-mouse-position frame x y

この関数はフレームframe内の位置xyマウスをワープ(warps the mouse)する。引数xyframeのネイティブ位置(フレームのジオメトリーを参照)から相対的に、frameのデフォルト文字サイズ(フレームのフォントを参照)の単位で位置を与える整数(丸められている可能性あり)。

結果となるマウス位置はframeのネイティブフレームに拘束される。この関数はframeが不可視なら何も行わない。リターン値に意味はない。

Function: mouse-pixel-position

この関数はmouse-positionと似ているが文字単位ではなくピクセル単位の座標をリターンする。

Function: set-mouse-pixel-position frame x y

この関数はset-mouse-positionのようにマウスをワープするが、xyが文字単位ではなくピクセル単位である点が異なる。

結果となるマウス位置はframeのネイティブフレームに拘束される。この関数はframeが不可視なら何も行わない。リターン値に意味はない。

フラフィカルな端末上では、以下の2つの関数によりマウスカーソルの絶対位置の取得とセットができます。

Function: mouse-absolute-pixel-position

この関数は選択されたフレームのディスプレーの位(0, 0)から相対的に、マウスカーソルの位置の座標をピクセル単位のコンスセル(x . y)でリターンする。

Function: set-mouse-absolute-pixel-position x y

この関数はマウスカーソルを位置(x, y)に移動する。座標xyは、選択されたフレームのディスプレーの位置(0, 0)から相対的なピクセル値と解釈される。

以下の関数はフレーム上のマウスカーソルがレントで可視かどうかを確認します:

Function: frame-pointer-visible-p &optional frame

この述語関数はframe上に表示されたマウスポインターが可視なら非nil、それ以外はnilをリターンする。frameが省略またはnilならそれは選択されたフレームを意味する。これはmake-pointer-invisibletにセットされているときに有用。これによりポインターが隠されていることを知ることができる。Mouse Avoidance in The Emacs Manualを参照のこと。