---
name: "XMapEvent"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XMapEvent/3x"
---

# XMapEvent(3x)

MapNotify and MappingNotify event structures

## NAME

XMapEvent, XMappingEvent - MapNotify and MappingNotify event structures

## STRUCTURES

The structure for *MapNotify* events contains:

```
typedef struct {
	int type;
	unsigned long serial;
	Bool send_event;
	Display *display;
	Window event;
	Window window;
	Bool override_redirect;
} XMapEvent;

```

When you receive this event, the structure members are set as follows.

The type member is set to the event type constant name that uniquely identifies it. For example, when the X server reports a *GraphicsExpose* event to a client application, it sends an *XGraphicsExposeEvent* structure with the type member set to *GraphicsExpose*. The display member is set to a pointer to the display the event was read on. The send\_event member is set to *True* if the event came from a *SendEvent* protocol request. The serial member is set from the serial number reported in the protocol but expanded from the 16-bit least-significant bits to a full 32-bit value. The window member is set to the window that is most useful to toolkit dispatchers.

The event member is set either to the window that was mapped or to its parent, depending on whether *StructureNotify* or *SubstructureNotify* was selected. The window member is set to the window that was mapped. The override\_redirect member is set to the override-redirect attribute of the window. Window manager clients normally should ignore this window  if the override-redirect attribute is *True*, because these events usually are generated from pop-ups, which override structure control.

The structure for *MappingNotify* events is:

```
typedef struct {
	int type;
	unsigned long serial;
	Bool send_event;
	Display *display;
	Window window;
	int request;
	int first_keycode;
	int count;
} XMappingEvent;

```

When you receive this event, the structure members are set as follows.

The type member is set to the event type constant name that uniquely identifies it. For example, when the X server reports a *GraphicsExpose* event to a client application, it sends an *XGraphicsExposeEvent* structure with the type member set to *GraphicsExpose*. The display member is set to a pointer to the display the event was read on. The send\_event member is set to *True* if the event came from a *SendEvent* protocol request. The serial member is set from the serial number reported in the protocol but expanded from the 16-bit least-significant bits to a full 32-bit value. The window member is set to the window that is most useful to toolkit dispatchers.

The request member is set to indicate the kind of mapping change that occurred and can be *MappingModifier*, *MappingKeyboard*, *MappingPointer*. If it is *MappingModifier*, the modifier mapping was changed. If it is *MappingKeyboard*, the keyboard mapping was changed. If it is *MappingPointer*, the pointer button mapping was changed.  The first\_keycode and count members are set only  if the request member was set to *MappingKeyboard*. The number in first\_keycode represents the first number in the range  of the altered mapping,  and count represents the number of keycodes altered.

## SEE ALSO

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*
