Next: Drag Events, Previous: Mouse Events, Up: Input Events [Contents][Index]
ユーザーが同じ場所でマウスボタンを押してからリリース(release: 離す)すると、clickイベントが生成されます。すべてのマウスクリックイベントは同じフォーマットを共有します:
(event-type position click-count)
これはマウスボタンが使用されたことを示す。これはシンボルmouse-1
、mouse-2
、…のうちのどれかで、マウスボタンは左から右に番号が付される。
ファンクションキーにたいして行うのと同様にアルト、コントロール、ハイパー、メタ、シフト、スーパーの修飾にたいしてプレフィクス‘A-’、‘C-’、‘H-’、‘M-’、‘S-’、‘s-’も使用できる。
このシンボルは、イベントのイベント型の役割りももつ。イベントのキーバインディングはこれらの型により示される。したがって、mouse-1
にたいするキーバインディングが存在する場合、そのバインディングはevent-typeがmouse-1
であるようなすべてのイベントに適用されるだろう。
これはマウスクリックがどこで発生したかを表すマウス位置リスト(mouse position list)である。詳細は以下を参照のこと。
これは同じマウスボタンを素早く繰り返し押下したときの回数である。Repeat Eventsを参照のこと。
クリックイベントのpositionスロット内にあるマウス位置リストの内容にアクセスするためには、一般的にはAccessing Mouseにドキュメントされている関数を使用するべきです。このリストの明示的なフォーマットは、どこでクリックが発生したかに依存します。テキストエリア、モードライン、ヘッダーライン、フリンジ、マージンエリアでのクリックにたいして、マウス位置リストは以下のフォーマットをもちます
(window pos-or-area (x . y) timestamp object text-pos (col . row) image (dx . dy) (width . height))
以下はこれらのリスト要素がもつ意味です:
クリックが発生したウィンドウ。
テキストエリア内でクリックされた文字のバッファー位置。またはテキストエリア外がクリックされた場合は、クリックが発生したウィンドウエリア。これはシンボルmode-line
、header-line
、vertical-line
、left-margin
、right-margin
、left-fringe
、right-fringe
のどれか。
特別な場合の1つとして、pos-or-areaが単なるシンボルではなく、(上記シンボルのいずれか1つの)シンボルを含むリストの場合がある。これはEmacsにより登録されたイベントにたいする、イマジナリープレフィクスキー(imaginary prefix key)の後に発生する。Key Sequence Inputを参照のこと。
クリックの相対ピクセル座標(relative pixel
coordinates)。あるウィンドウのテキストエリア内でのクリックにたいする座標原点(0
. 0)
は、テキストエリアの左上隅となる。Window Sizesを参照のこと。モードラインまたはヘッダーライン内でのクリックにたいする座標原点は、そのウィンドウ自身の左上隅となる。フリンジ、マージン、垂直ボーダー(vertical
border)では、xな有意なデータをもたない。フリンジ、マージンでは、yはヘッダーラインの最下端からの相対位置である。すべてのケースにおいてxおよびy座標は右方向および下方向で増加する。
そのイベントが発生した時刻を、システム依存の初期時刻(initial time)からの経過ミリ秒で表す整数。
クリック位置に文字列タイプのテキストプロパティが存在しない場合はnil
、存在する場合は(string
. string-pos)形式のコンスセル:
クリックされた文字列。すべてのテキストプロパティを含む。
クリックが発生した文字列内の位置。
マージンエリアまたはフリンジにたいするクリックでは、そのウィンドウ内の対応する行内の最初の可視な文字のバッファー位置となる。他のイベントにたいしては、そのウィンドウ内のカレントバッファーの位置となる。
これらはx、yの位置にあるグリフ(gliph)の、実際の行と列の座標数値である。行xがその行の実際のテキストの最後の列を超える場合、colはデフォルトの文字幅をもつ仮想的な追加列数を加えた値が報告される。そのウィンドウがヘッダーラインをもつ場合、行0はヘッダーラインとなり、ヘッダーラインをもたない場合はテキストエリアの上端ラインが行0となる。ウィンドウのテキストエリアのクリックにたいしては、テキストエリアの左端列が列0となり、モードラインまたはヘッダーラインのクリックにたいしてはそのラインの左端が列0となる。フリンジまたは垂直ボーダーのクリックにたいしては、これらは有意なデータをもたない。マージンのクリックにたいしては、colはマージンエリアの左端、rowはマージンエリアの上端から測られる。
これはクリックが発生した場所のイメージオブジェクトである。クリックされた場所にイメージが存在しない場合はnil
、イメージがクリックされた場合はfind-image
によりリターンされるイメージオブジェクトである。
これらはobjectの左上隅(0
. 0)
からの相対的ピクセル座標である。objectがnil
の場合は、クリックされた文字グリフの左上隅からの相対座標である。
これらはobjectのピクセル幅とピクセル高さであり、objectがnil
の場合はクリックされた文字グリフのピクセル幅とピクセル高さである。
スクロールバーへのクリックにたいして、positionは以下の形式をもちます:
(window area (portion . whole) timestamp part)
スクロールバーがクリックされたウィンドウ。
これはシンボルvertical-scroll-bar
である。
スクロールバーの上端からクリック位置までのピクセル数。GTK+を含むいくつかのツールキットでは、Emacsがこれらのデータを抽出できないので、値は常に0
となる。
スクロールバーの全長のピクセル数。GTK+を含むいくつかのツールキットでは、Emacsがこれらのデータを抽出できないので、値は常に0
となる。
イベントが発生したミリ秒時刻。GTK+を含むいくつかのツールキットでは、Emacsがこれらのデータを抽出できないので、値は常に0
となる。
クリックが発生したスクロールバー部分。これはシンボルhandle
(スクロールバーのハンドル)、above-handle
(ハンドルの上側エリア)、below-handle
(ハンドルの下側エリア)、up
(スクロールバー端の上矢印)、down
(スクロールバー端の下矢印)のいずれかである。