XSendEvent

Syntax

Status XSendEvent(display, w, propagate, event_mask, event_send)
      Display *display;
      Window w;
      Bool propagate;
      long event_mask;
      XEvent *event_send;

Arguments

display Specifies the connection to the X server.
X サーバへの接続を指定する。
w Specifies the window the event is to be sent to, or PointerWindow, or InputFocus.
イベントの送り先となるウィンドウ、
あるいは PointerWindow, InputFocus のいずれかを指定する。
propagate Specifies a Boolean value.
Bool 値を指定する。
event_mask Specifies the event mask.
イベントマスクを指定する。
event_send Specifies the event that is to be sent.
送るイベントを指定する。

Description

The XSendEvent() function identifies the destination window, determines which clients should receive the specified events, and ignores any active grabs. This function requires you to pass an event mask. For a discussion of the valid event mask names, see section "Event Masks". This function uses the w argument to identify the destination window as follows:
XSendEvent() は送り先のウィンドウを識別し、 指定されたイベントをどのクライアントが受け取るべきかを決め、 全ての能動的グラブを無視する。 この関数にはイベントマスクを渡さなければならない。 有効なイベントマスクの名称については "Event Masks" を参照すること。 この関数は引き数 w を使って以下のように送り先ウィンドウを識別する:

To determine which clients should receive the specified events, XSendEvent() uses the propagate argument as follows:
指定されたイベントを受け取るクライアントを決めるため、 XSendEvent() は引き数 propagate を以下のように用いる:

The event in the XEvent structure must be one of the core events or one of the events defined by an extension (or a BadValue error results) so that the X server can correctly byte-swap the contents as necessary. The contents of the event are otherwise unaltered and unchecked by the X server except to force send_event to True in the forwarded event and to set the serial number in the event correctly; therefore these fields and the display field are ignored by XSendEvent().
XEvent 構造体が持つイベントはコアイベントのいずれか、 あるいは拡張によって定義されているイベントのいずれかでなければならない。 (さもなくば BadValue エラーとなる) これは X サーバが必要に応じて 構造体の内容を正しくバイト交換できるようにするためである。 これ以外の場合にはイベントの内容を X サーバが変更したり調べることはない。 ただし例外としてイベントを転送する時に send_event を True にすることや、 イベントのシリアル番号を正しく設定することがある。 したがって XSendEvent() はこれらのフィールドや display フィールドを無視する。

XSendEvent() returns zero if the conversion to wire protocol format failed and returns nonzero otherwise.
XSendEventは通信プロトコル形式への変換が失敗すると 0 を返し、それ以外の場合に は 0 でない値を返す。

XSendEvent() can generate BadValue and BadWindow errors.
XSendEventはエラー BadValue, BadWindow を起こすことがある。

Diagnostics

BadValue Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.
BadWindow A value for a Window argument does not name a defined Window.

See also

XDisplayMotionBufferSize(), XGetMotionEvents(), XIfEvent(), XNextEvent(), XPutBackEvent(), "Sending Events to Other Applications".
Christophe Tronche, ch.tronche@computer.org