XMapEvent(3X11) — NEWS-OS Programmer’s Manual
名称
XMapEvent、XMappingEvent − MapNotify および MappingNotify イベント構造体
構造体
MapNotify イベントの構造体は、以下の様になります。
typedef struct {
int type;/∗ MapNotify ∗/
unsigned long serial;/∗ サーバが最後に処理したリクエストの通し番号 ∗/
Bool send_event;/∗ SendEvent リクエストからであれば、true ∗/
Display ∗display;/∗ イベントが読まれたディスプレイ ∗/
Window event;
Window window;
Bool override_redirect;/∗ ブール演算、override 設定 ∗/
} XMapEvent;
上記のイベントを受信すると、 構造体のメンバは以下の様に設定されます。 type メンバは唯一無二のイベントタイプの定数名に設定されます。 例えば、 X サーバが GraphicsExpose イベントをアプリケーションに通知すると、 type メンバが GraphicsExpose である XGraphicsExposeEvent 構造体を送ります。 display メンバはイベントが読まれたディスプレイへのポインタに設定されます。 send_event メンバはイベントが SendEvent プロトコルリクエストからであれば、 True に設定されます。 serial メンバはプロトコルで通知された通し番号から設定されますが、 16 ビットの最下位ビットデータから完全 32 ビットデータに拡張されます。 window メンバはツールキットのディスパッチャに最適のウィンドウに設定されます。 event メンバは StructureNotify または SubstructureNotify のどちらかが選択されることによって、 マップされたウィンドウまたはその親ウィンドウに設定されます。 window メンバはマップされたウィンドウに設定されます。 override_redirect メンバはウィンドウの override-redirect 属性に設定されます。 override_redirect 属性が True であれば、通常ウィンドウマネージャはこのウィンドウを無視します。 何故なら、これらのイベントは通常ポップアップから発生し、構造体制御を無視するからです。 MappingNotify イベントの構造体は、以下の様になります。
typedef struct {
int type;/∗ MappingNotify ∗/
unsigned long serial;/∗ サーバが最後に処理したリクエストの通し番号 ∗/
Bool send_event;/∗ SendEvent リクエストからであれば、true ∗/
Display ∗display;/∗ イベントが読まれたディスプレイ ∗/
Window window;/∗ 未使用 ∗/
int request;/∗ MappingModifier、MappingKeyboardまたは
MappingPointerのどれか ∗/
int first_keycode;/∗ 最初のキーコード ∗/
int count;/∗ w. first_keycode 変更の範囲を定義する ∗/
} XMappingEvent;
上記のイベントを受信すると、 構造体のメンバは以下の様に設定されます。 type メンバは唯一無二のイベントタイプの定数名に設定されます。 例えば、 X サーバは GraphicsExpose イベントをアプリケーションに通知すると、 type メンバが GraphicsExpose である XGraphicsExposeEvent 構造体を送ります。 display メンバはイベントが読まれたディスプレイへのポインタに設定されます。 send_event メンバはイベントが SendEvent プロトコルリクエストからであれば、 True に設定されます。 serial メンバはプロトコルで通知された通し番号から設定されますが、 16 ビットの最下位ビットデータから完全 32 ビットデータに拡張されます。 windowメンバはツールキットのディスパッチャに最適のウィンドウに設定されます。 request メンバは発生したマッピング変更の種類を示し、 MappingModifier、 MappingKeyboard、 または MappingPointer となります。 MappingModifier であれば、モディファイアマッピングが変更されます。 MappingKeyboard であれば、キーボードマッピングが変更されます。 MappingPointer であれば、マウスボタンマッピングが変更されます。 first_keycode および count メンバは request メンバが MappingKeyboard に設定されたときだけ、 設定されます。 first_keycode の数字は変更されたマッピング範囲の最初の数字を表し、 count は変更されたキーコードの数を表します。
関連事項
XAnyEvent(3X11), XButtonEvent(3X11), XCreateWindowEvent(3X11), XCirculateEvent(3X11), XCirculateRequestEvent(3X11), XColormapEvent(3X11), XConfigureEvent(3X11), XConfigureRequestEvent(3X11), XCrossingEvent(3X11), XDestroyWindowEvent(3X11), XErrorEvent(3X11), XExposeEvent(3X11), XFocusChangeEvent(3X11), XGraphicsExposeEvent(3X11), XGravityEvent(3X11), XKeymapEvent(3X11), XMapRequestEvent(3X11), XPropertyEvent(3X11), XReparentEvent(3X11), XResizeRequestEvent(3X11), XSelectionClearEvent(3X11), XSelectionEvent(3X11), XSelectionRequestEvent(3X11), XUnmapEvent(3X11), XVisibilityEvent(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.2.1R