XGrabButton
Section: XLIB FUNCTIONS (3X11)
Updated: Release 6.3
Index
xjman/web INDEX
名前
XGrabButton, XUngrabButton - ポインタデバイスのグラブ
書式
XGrabButton(display, button, modifiers, grab_window, owner_events, event_mask,
pointer_mode, keyboard_mode, confine_to, cursor)
Display *display;
unsigned int button;
unsigned int modifiers;
Window grab_window;
Bool owner_events;
unsigned int event_mask;
int pointer_mode, keyboard_mode;
Window confine_to;
Cursor cursor;
XUngrabButton(display, button, modifiers, grab_window)
Display *display;
unsigned int button;
unsigned int modifiers;
Window grab_window;
引き数
- button
-
グラブまたは解放するポインタのボタン、または
AnyButton
を指定する。
- confine_to
-
ポインタを閉じ込めるウィンドウ、あるいは
None
を指定する。
- cursor
-
表示されるべきカーソル、あるいは
None
を指定する。
- display
-
X サーバへの接続を指定する。
- event_mask
-
クライアントに報告するポインタイベントを指定する。
このマスクは、有効なポインタイベントのマスクビットのビットごとの論理和
を取ったものである。
- grab_window
-
グラブウィンドウを指定する。
- keyboard_mode
-
後で行うキーボードイベント処理を指定する。
GrabModeSync
または
GrabModeAsync
を指定できる。
- modifiers
-
キーマスクの集合または
AnyModifier
を指定する。
このマスクは、有効なキーマスクビットのビットごとの論理和を取ったもので
ある。
- owner_events
-
イベントマスクで選択されている場合にポインタイベントを通常通り報告する
のか、グラブウィンドウについて報告するのかを示す真偽値を指定する。
- pointer_mode
-
後で行うポインタイベントの処理を指定する。
GrabModeSync
か
GrabModeAsync
を指定できる。
説明
関数
XGrabButton
はパッシブなグラブを作る。
将来、以下の条件が全て真になった場合にポインタはアクティブにグラブされ(
XGrabPointer
による)、ボタンが押された時刻が最終ポインタグラブ時刻にセットされ(
ButtonPress
イベントで送られる)、
ButtonPress
が報告される。
- *
-
指定されたモディファイアキーが論理的に押されており、他のボタンやモディ
ファイアキーがどれも論理的には押されていない時に、ポインタがグラブされて
おらず、かつ指定したボタンが論理的に押されている。
- *
-
grab_window がポインタを含んでいる。
- *
-
confine_to ウィンドウが(もしあれば)表示可能である。
- *
-
grab_window のどの祖先ウィンドウにおいても、同じボタン/ボタンの組合せ
に対するパッシブなグラブが存在しない。
残りの引き数の解釈は
XGrabPointer
と同じである。
ポインタの論理状態が全てのボタンが離された状態になったとき、アクティブ
なグラブは自動的に終了する(論理的なモディファイアキーの状態には依存し
ない)。
デバイスのイベント処理が凍結されている場合、デバイスの論理状態(クライ
アントが受け取る)が物理的な状態とずれることがある。
同じクライアントの同じウィンドウの同じボタン/キーの組合せを使うことで、
このリクエストは以前の全てのグラブを上書きする。
引き数 modifiers に
AnyModifier
を指定することは、モディファイアの可能な組合せ全てに対してグラブの
リクエストを発行することと等価である(モディファイアを使わないことも組
合せに含まれる)。
指定された全てのモディファイアがこの時点でキーコードを割り当てられてい
る必要はない。
引き数 button に
AnyButton
を指定することは、可能なボタン全てに対してリクエストを発行することと
等価である。
これ以外の場合は、指定されたボタンが現在物理ボタンに割り当てられている
必要はない。
同じウィンドウ上の同じボタン/キーの組合せに対して他のクライアントが既に
XGrabButton
を発行している場合は、エラー
BadAccess
となる。
グラブが干渉する何らかの組合せがある場合、
AnyModifier
や
AnyButton
は必ず失敗し、エラー
BadAccess
となる(グラブは確立されない)。
XGrabButton
はアクティブなグラブに対しては無効である。
XGrabButton
はエラー
BadCursor,
BadValue,
BadWindow
を起こすことがある。
関数
XUngrabButton
は、指定したウィンドウのパッシブなボタン/キーの組合せがクライアントに
よってグラブされている時、これを解放する。
引き数 modifiers に
AnyModifier
を指定することは、モディファイアの可能な組合せ全てに対してグラブ解放の
リクエストを発行することと等価である。この組合せはモディファイアを使わ
ない組合せも含む。
引き数 button に
AnyButton
を指定することは、可能なボタン全てに対してリクエストを発行することと等
価である。
XUngrabButton
はアクティブなグラブに対しては無効である。
XUngrabButton
はエラー
BadValue,
BadWindow
を起こすことがある。
返り値
-
BadCursor
-
引き数 Cursor の値が、定義されている Cursor を指していない。
-
BadValue
-
数値の中にリクエストの許容範囲を越えるものがある。引き数に対して特定の範
囲が指定されない限り、引き数の型の全ての範囲が許される。選択肢として定義
されている引き数は、このエラーを起こすことがある。
-
BadWindow
-
引き数 Window の値が、定義されている Window を指していない。
関連項目
XAllowEvents(3X11),
XGrabPointer(3X11),
XGrabKey(3X11),
XGrabKeyboard(3X11),
Xlib - C Language X Interface
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 返り値
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 15:55:47 GMT, February 12, 2001