Name

KeymapNotify — xkeymap

When Generated

A KeymapNotify event reports the state of the keyboard and occurs when the pointer or keyboard focus enters a window. KeymapNotify events are reported immediately after EnterNotify or FocusIn events. This is a way for the application to read the keyboard state as the application is “woken up,” since the two triggering events usually indicate that the application is about to receive user input.

Select With

This event is selected with KeymapStateMask.

XEvent Structure Name

typedef union _XEvent {
    ...
    XKeymapEvent xkeymap;
    ...
} XEvent;

Event Structure

typedef struct {
    int type;
    unsigned long serial;    /* # of last request processed by server */
    Bool send_event;         /* True if this came from SendEvent request */
    Display *display;        /* Display the event was read from */
    Window window;
    char key_vector[32];
} XKeymapEvent;

Event Structure Members

window

Reports the window which was reported in the window member of the preceding EnterNotify or FocusIn event.

key_vector

A bit vector or mask, each bit representing one physical key, with a total of 256 bits. For a given key, its keycode is its position in the keyboard vector. You can also get this bit vector by calling XQueryKeymap.

Notes

The serial member of KeymapNotify does not contain the serial number of the most recent protocol request processed, because this event always follows immediately after EnterNotify or FocusIn events in which the serial member is valid.

Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.