[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13. Events

イベントはウィンドウマネージャがルートウィンドウに対して受け取った、ウィ ンドウフレームが生成した、あるいはクライアントウィンドウ自身からグラブさ れた、X からの入力イベントを参照します。マウスまたはキーボードが引き起こ した各イベントは Lisp 表現を持ちます。

各入力イベントは二つの整数を含むコンスセルで表され、これらの整数は実際の 入力イベントを符号化しています。符号化はあいまいなので、意味のあるイベン トへのアクセスは提供される関数を通じてなされる方法しかありません。

Function: eventp object
この関数は引数が入力イベントであるとき t を返します。

各イベントは文字列の名前を持ちます。この文字列は 0 個以上のハイフンで区 切られたモディファイア記述とキー自身の名前を含んでいます。標準 X モディ ファイア名は同名のキーマップに対応した3つの特別なモディファイア MetaAlt そして Hyper として提供されています。

次の表リストは可能なモディファイアです:

C
コントロールモディファイア

M
メタモディファイア

A
オルトモディファイア

S
シフトモディファイア

H
ハイパーモディファイア

Modk
標準 X モディファイアで、k は 1 から 5 までです。

Buttonk
現在押下されている k 番目のマウスボタンです。

`M'`A' モディファイアは X サーバの xmodmap 設定に応 じて動的にわりあてられる仮想モディファイアであることに注意して下さい。 `A' 仮想モディファイアは Alt_LAlt_R キーシムのどち らかの X モディファイアにわりあてられます。`M' 仮想モディファイアは Meta_LMeta_R キーシンボルのどちらかのX モディファイアに わりあてられます。これらの二つの仮想モディファイアがわりあてられていない ならば他の仮想モディファイアにわりあてられます。

二つの特別なモディファイアがあります。`Any' 接頭辞は任意の組のモディ ファイアに一致し、`Release' モディファイアはデフォルトのキー押下の 代りのキーリリースイベントに一致します。

一般的なキーは X キーシンボルと同名ですが、いくつかの特別に定義されたキー があります:

`SPC', `TAB', `RET', `ESC', `BS', `DEL', `Up', `Down', `Left', `Right'.

また、マウスイベントを記述するためのいくつかの擬似キーがあります:

`Click1', `Click2', `Click3', `Off', `Move'.

そう、例えば Meta キーを押下しながら左マウスボタンをクリックすると M-Button1-Click1 と記述され、Shift を押下しながら RET を押すと S-RET と記述されます。

また、イベントの名前と実際のイベント自身との間の変換が可能な関数も存在し ています。

Function: lookup-event event-name
event-name という名前の新しい入力イベントを生成し、返します。

 
(lookup-event "C-x")
    => (120 . 65540)

(lookup-event "C-M-Button1-Click1")
    => (1 . 131340)

Function: event-name event
この関数は入力イベント event の名前の文字列を返します。

 
(event-name (lookup-event "C-x"))
    => "C-x"

キーシンボルは以下の変数を通じて認識される二つの仮想モディファイアを生成 します:

Variable: meta-keysyms
仮想モディファイア `M' を生成する X キーシンボルの名前を定義するリ ストです。

Variable: alt-keysyms
仮想モディファイア `A' を生成する X キーシンボルの名前を定義するリ ストです。

Variable: hyper-keysyms
仮想モディファイア `H' を生成する X キーシンボルの名前を定義するリ ストです。



This document was generated by SATO Satoru on October, 28 2000 using texi2html