XSetInputFocus(3X11) — NEWS-OS Programmer’s Manual
名称
XSetInputFocus, XGetInputFocus - 入力フォーカスを制御する
形式
XSetInputFocus(display, focus, revert_to, time)
Display ∗display;
Window focus;
int revert_to;
Time time; XGetInputFocus(display, focus_return, revert_to_return)
Display ∗display;
Window ∗focus_return;
int ∗revert_to_return;
引数
displayX サーバへのコネクションを指定します。
focusウィンドウ、 PointerRoot または、 None を指定します。
focus_returnフォーカスウィンドウ、 PointerRoot または、 None を返します。
revert_toウィンドウがビューアブルでなくなった場合の、入力フォーカスを返す場所 を指定します。 RevertToParent、 RevertToPointerRoot または、 RevertToNone を指定することができます。
revert_to_return
現在のフォーカス状態を返します (RevertToParent、 RevertToPointerRoot または、 RevertToNone) 。
time時間を指定します。 timestamp または、 CurrentTime のいずれかを指定することができます。
解説
XSetInputFocus 関数は、入力フォーカスおよび最新のフォーカス変更時間を変更します。 指定された時間が現在の最新のフォーカス変更時間より前の場合、または現 在の X サーバの時間よりも後の場合は、効果がありません。 そうでない場合、最新のフォーカス変更時間は、指定された時間に設定され ます(CurrentTime は、現在の X サーバ時間と置換されます)。 XSetInputFocus は、X サーバに FocusIn および、 FocusOut イベントを発生させます。 focus 引数により、次のことが起こります。
•focus 引数が None の場合、 新しいフォーカスウィンドウが設定されるまで、すべてのキーボードイベン トは捨てられ、 revert_to 引数は無視されます。
•focus 引数がウィンドウの場合、キーボードのフォーカスウィンドウになり ます。 発生したキーボードイベントが、一般にこのウィンドウ、またはその下位ウ ィンドウに通知される場合は、イベントはいつもどおりに通知されます。 そうでない場合は、イベントは、フォーカスウィンドウに関して通知されま す。
•focus 引数が PointerRoot の場合、 フォーカスウィンドウは、各々のキーボードイベント発生時に、ポインタが どのスクリーン上に存在していても、そのスクリーンのルートウィンドウに 動的になろうとします。 この場合、 revert_to 引数は無視されます。 指定されたフォーカスウィンドウは、 XSetInputFocus が呼び出されたときは、ビューアブルでなければなりません。 さもないと、 BadMatch エラーが結果として生じます。 フォーカスウィンドウが後でビューアブルでなくなってしまった場合は、 X サーバは、 revert_to 引数と評価し、次のように新しいフォーカスウィ ンドウを決定します。
•revert_to が RevertToParent の場合は、 フォーカスは親ウィンドウ(または一番近いビューアブルな先祖)に戻り、 新しい revert_to 値が、 RevertToNone になります。
•rvert_to が RevertToPointerRoot または RevertToNone の場合は、 フォーカスウィンドウは、それぞれ PointerRoot または、 None に戻ります。 フォーカスと X サーバは、 FocusIn および FocusOut イベントを発生するが、 最新のフォーカス変更時間は変わりません。 XSetInputFocus は、 BadMatch、 BadValue および BadWindow エラーを生じることがあります。 XGetInputFocus 関数は、フォーカスウィンドウおよび現在のフォーカス状態を返します。
診断
BadValue ある数値が許容範囲を超えた。 引数の値の範囲が明示されない限り、引数の型によって決まる最大の範囲ま で指定可能です。 選択形式の引数も、このエラーを生じることがあります。
BadWindow
Window 引数の値が定義された Window を指さない。
関連事項
XWarpPointer(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.1C