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