Next: , Previous: , Up: コマンドループ   [Contents][Index]


22.9 スペシャルイベント

特定のスペシャルイベント(special event)は、読み取られると即座に非常に低レベルで処理されます。read-event関数はそれらのイベントを自身で処理してそれらを決してリターンしません。かわりにスペシャルイベント以外の最初のイベントを待ってそれをリターンします。

スペシャルイベントはエコーされず、決してキーシーケンスにグループ化されず、last-command-event(this-command-keys)の値として出現することもありません。スペシャルイベントは数引数を破棄して、unread-command-eventsによる読み戻しができず、キーボードマクロ内に出現することもなく、キーボードマクロ定義中にキーボードマクロに記録されることもありません。

しかしスペシャルイベントは読み取られた直後にlast-input-event内に出現するので、これがイベント定義にたいして実際のイベントを探す方法になります。

イベント型iconify-framemake-frame-visibledelete-framedrag-n-droplanguage-change、およびsigusr1ようなユーザーシグナルは通常はこの方法によって処理されます。何がスペシャルイベントで、スペシャルイベントをどのように処理するかを定義するキーマップは変数special-event-map (アクティブなキーマップの制御を参照)の中にあります。