/* generated on EnterWindow and FocusIn when KeymapState selected */
typedef struct {
     int type;                /* KeymapNotify */
     unsigned long serial;    /* 最後にサーバに処理されたリクエストの番号 */
     Bool send_event;         /* SendEvent リクエストから送られてきた場合に真 */
     Display *display;        /* イベントが読み出されたディスプレイ */
     Window window;
     char key_vector[32];
} XKeymapEvent;               
このイベントを受け取ったとき、構造体の内容は以下のように設定されている。
type メンバには、イベントの型を一意に識別する定数名が設定される。 例えば、X サーバがクライアントアプリケーションに GraphicsExpose イベントを通知するとき、X サーバは type メンバに GraphicsExpose を設定した XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されたディスプレイへのポインタが 設定される。 send_event メンバには、このイベント自身が SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバはプロトコルで通知されたシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全32ビットの値に拡張される。
window メンバには、ツールキットのディスパッチャが最も便利に使えるウィ ンドウが設定される。 key_vector メンバには、キーボードのビットベクトルが設定される。 あるビットに1が設定されている場合は、対応するキーが現在押されている ことを表す。 このベクトルは32バイトで表現される。 バイト N(0から始まる)は、キー 8N から 8N+7 に対応するビットを持つ。 このバイトの最下位ビットがキー 8N に対応する。