関数mouse-position
とset-mouse-position
はマウスのカレント位置にたいするアクセスを提供します。
この関数はマウス位置の記述子をリターンする。値は(frame x
. y)
のような形式であり、xとyはframeのネイティブ位置(フレームのジオメトリーを参照)から相対的に、frameのデフォルト文字サイズ(フレームのフォントを参照)の単位で位置を与える整数(丸められている可能性あり)。
この変数の値は非nil
ならmouse-position
にたいして呼び出される関数。mouse-position
はリターン直前に、自身の通常のリターン値を唯一の引数としてこの関数を呼び出して、それが何であれその関数がリターンした値をリターンする。
このアブノーマルフックはxt-mouse.elのようにLispレベルでマウス処理を行う必要があるパッケージのために存在する。
非nil
なら、上述のようにTTYメニューはmouse-position-function
を呼び出す。これは再表示をトリガーする等、TTYメニューからのmouse-position-function
呼び出しが安全ではない場合のために存在する。
この関数はフレームframe内の位置x、yにマウスをワープ(warps the mouse)する。引数xとyはframeのネイティブ位置(フレームのジオメトリーを参照)から相対的に、frameのデフォルト文字サイズ(フレームのフォントを参照)の単位で位置を与える整数(丸められている可能性あり)。
結果となるマウス位置はframeのネイティブフレームに拘束される。この関数はframeが不可視なら何も行わない。リターン値に意味はない。
この関数はmouse-position
と似ているが文字単位ではなくピクセル単位の座標をリターンする。
この関数はset-mouse-position
のようにマウスをワープするが、xとyが文字単位ではなくピクセル単位である点が異なる。
結果となるマウス位置はframeのネイティブフレームに拘束される。この関数はframeが不可視なら何も行わない。リターン値に意味はない。
フラフィカルな端末上では、以下の2つの関数によりマウスカーソルの絶対位置の取得とセットができます。
この関数は選択されたフレームのディスプレイの位置(0, 0)から相対的に、マウスカーソルの位置の座標をピクセル単位のコンスセル(x . y)でリターンする。
この関数はマウスカーソルを位置(x, y)に移動する。座標xとyは、選択されたフレームのディスプレイの位置(0, 0)から相対的なピクセル値と解釈される。
以下の関数はフレーム上のマウスカーソルがレントで可視かどうかを確認します:
この述語関数はframe上に表示されたマウスポインターが可視なら非nil
、それ以外はnil
をリターンする。frameが省略またはnil
ならそれは選択されたフレームを意味する。これはmake-pointer-invisible
がt
にセットされているときに有用。これによりポインターが隠されていることを知ることができる。Mouse
Avoidance in The Emacs Manualを参照のこと。