other versions
- wheezy 4.1.0.20011224-6
XSetDeviceFocus(3X11) | X FUNCTIONS | XSetDeviceFocus(3X11) |
名前¶
XSetDeviceFocus, XGetDeviceFocus - 拡張入力デバイスのフォーカスを制御する書式¶
XSetDeviceFocus( display, device, focus, revert_to, time)Display * display;
Display * device;
Window focus;
int revert_to;
Time time;
Display * display;
Display * device;
Window * focus_return;
int * revert_to_return;
int * time_return;
引き数¶
- display
- X サーバへの接続を指定する。
- device
- フォーカスの問い合わせや変更を行なうデバイスを指定する。
- focus
- ウィンドウ、 PointerRoot, FollowKeyboard, None のいずれかを指定する。
- focus_return
- フォーカスウィンドウ、 PointerRoot, FollowKeyboard, None のいずれかが返される。
- revert_to
- ウィンドウが表示不能になった時入力フォーカスがどこに戻るかを指定する。 RevertToParent, RevertToPointerRoot, RevertToFollowKeyboard, RevertToNone のいずれかを指定できる。
- revert_to_return
- 現在のフォーカスの状態が RevertToParent, RevertToPointerRoot, RevertToFollowKeyboard, RevertToNone のいずれかで返される。
- time_return
- デバイスの last_focus_time が返される。
- time
- 時間を指定する。 タイムスタンプか CurrentTime を渡すことができる。
説明¶
XSetDeviceFocus リクエストは指定したデバイスのフォーカスと最終フォーカス変更時間 (last-focus-change time)を変更する。 指定した時間が現在の最終フォーカス変更時間よりも早い場合や、現在の X サーバの時間より遅い場合には何も行われない。 CurrentTime is replaced by the current X server time). そうでない場合は、最終フォーカス変更時間は指定した時間に設定され、 CurrentTime は現在の X サーバの時間に置き換えられる。 XSetDeviceFocus は X サーバに DeviceFocusIn イベントと DeviceFocusOut イベントを生成させる。 focus 引き数に従って、以下の動作が起こる。- •
- focus が None の場合、全てのデバイスイベントは新しいフォーカスウィンドウが設定 されるまで破棄され、引き数 revert_to は無視される。
- •
- focus がウィンドウの場合、これがデバイスのフォーカスウィンドウとなる。 生成されたデバイスイベントは通常はこのウィンドウかその下位ウィンドウに 通知された場合には、イベントは通常通りに通知される。 そうでない場合、イベントはフォーカスウィンドウに関して通知される。
- •
- focus が PointerRoot, の場合、指定したデバイスから各イベントが通知された時にポインタがある、 任意のスクリーンのルートウィンドウが動的にフォーカスウィンドウになる。 この場合、引き数 revert_to は無視される。
- •
- focus が FollowKeyboard の場合、それぞれの入力イベントの際に X のキーボードフォーカスが設定されている ウィンドウが動的にフォーカスウィンドウになる。
- •
- revert_to が RevertToParent の場合、フォーカスは親ウィンドウ(あるいは最も近い表示可能な 先祖ウィンドウ)に戻り、新しい revert_to の値は RevertToNone となる。
- •
- revert_to が RevertToPointerRoot の場合、フォーカスは PointerRoot に戻る。 同様に RevertToFollowKeyboard の場合は FollowKeyboard に、 RevertToNone の場合は None に戻る。
返り値¶
- BadDevice
- 不正なデバイスが指定された。指定したデバイスが存在しないか、クライアン トが XOpenInputDevice でオープンしていない。このエラーは、指定し たデバイスが X のキーボードデバイスや X のポインタデバイスであった時に も起こる。
- BadValue
- 指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。
- BadWindow
- 引き数 Window の値が定義されている Window を指していない。
- BadMatch
- このエラーは、 XGetDeviceFocusリクエスト か XSetDeviceFocus リクエストにサーバの実装によりフォーカスができないデバイスを指定したし た場合に起こる。
関連項目¶
Programming with XlibRelease 6.5 | X Version 11 |