XSetInputFocus(3X11)

名前
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;

引き数

display
    X サーバへの接続を指定する。

focus
    ウィンドウ、 のいずれかを指定する。

focus_return
    フォーカスウィンドウ、 のいずれかが返される。

revert_to
    ウィンドウが表示不能になったときに入力フォーカスがどこに戻るかを指定する。 のいずれかを指定できる。

revert_to_return
    現在のフォーカス状態 のいずれか)が返される。

time
    時刻を指定する。 タイムスタンプか を指定できる。

説明
関数 は入力フォーカスと最終フォーカス変更時刻(last-focus-change time)を変更 する。 指定した時刻が最終フォーカス変更時刻より早い場合や X サーバの現在時刻よ りも遅い場合には、この関数は何も行わない。 そうでない場合には、最終フォーカス変更時刻は指定した時刻に設定される は X サーバの現在時刻で置き換えられる)。 により X サーバは イベントと イベントを生成する。

引き数 focus の値により関数の動作は以下のようになる。

•   focus が の場合、新しいフォーカスウィンドウが設定されるまで全ての キーボードイベントは破棄され、引き数 revert_to は無視される。

•   focus がウィンドウの場合、このウィンドウがキーボードのフォーカスウィンドウとなる。 生成されたキーボードイベントがこのウィンドウやその下位ウィンドウの1つ に普通に報告された場合、そのイベントは通常通り報告される。 そうでない場合、イベントはフォーカスウィンドウに関するものとして報告される。

•   focus が の場合はフォーカスウィンドウは動的に決定され、各キーボードイベントが起 きたときにポインタがあった任意のスクリーンのルートウィンドウとなる。 この場合、引き数 revert_to は無視される。

指定したフォーカスウィンドウは、 が呼び出されたときに表示可能でなければならない。 表示可能でなければ関数は エラーとなる。 フォーカスウィンドウが後で表示可能でなくなった場合、 X サーバは引き数 revert_to を評価し、以下のようにして新しいフォーカスウィ ンドウを決定する。

•   revert_to が ならば、フォーカスは親ウィンドウ(あるいは最も近い表示可能な祖先ウィン ドウ)に戻り、revert_to の新しい値は となる。

•   revert_to が の場合にはフォーカスは に戻り、 の場合には に戻る。 フォーカスが戻ったときには X サーバは イベントと を生成するが、最終フォーカス変更時刻は影響を受けない。

はエラー を起こすことがある。

関数 はフォーカスウィンドウと現在のフォーカス状態を返す。

返り値

指定された数値の中にリクエストの許容範囲を越えているものがある。引き数
    に対して特定の範囲が指定されていなければ、引き数の型で定義されている全 ての範囲が許される。選択肢として定義されている引き数はこのエラーを起こ すことがある。

引き数 Window の値が、定義されているウィンドウを指していない。

関連項目
XWarpPointer(3X11)
Xlib - C Language X Interface