Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XMapEvent(3X11) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

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.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026