MappingNotify
キーボード、モディファイア、ポインタボタンのマッピングが変わったとき、Xサーバが全クライアントに送り、キャッシュした表が古くなったと知らせるイベント。
クライアントは、起動時に取得したサーバの表のコピーを使って、キーコードからキーシンボルへの変換を自前で行う。xmodmap を実行したり配列を切り替えたりすると、そのコピーは間違ったものになる。MappingNotifyはその警告だ。このイベントは選択解除できず、イベントマスクに関係なく全員に届く。request フィールドが何が変わったかを示し、MappingKeyboard、MappingModifier、MappingPointer のいずれかになる。Xlibクライアントは XRefreshKeyboardMapping で表を取り直すことになっている。
全部がそうするわけではない。このイベントを無視するプログラムは、再起動するまで古い配列でキーを解釈し続ける。配列を切り替えたのに一つのターミナルだけがUS配列の文字を打ち続ける、というおなじみの現象の説明がこれだ。逆の問題もある。ループでキーを再マップするツールはMappingNotifyの嵐を引き起こし、ディスプレイ上の全クライアントがそのたびに表を取り直す。