アプリケーションは、指定したイベントの 1 つが発生した時に起こるアクションを指定するウィジェットにイベント・ハンドラを登録します。アクションには、任意の dtksh コマンド行を指定できます。たとえば、次のとおりです。
XtAddEventHandler $W "Button2MotionMask" false "ActivateProc" XtAddEventHandler $W "ButtonPressMask|ButtonReleaseMask" ¥ false "echo action"
2 つの環境変数が、イベント・ハンドラへのコンテキストを提供するために次のように定義されます。
イベント・ハンドラが登録されるウィジェットの ID を設定します。
イベント・ハンドラを起動する XEvent のアドレスを設定します。
XEvent 構造体内のフィールドへのアクセスを次の例に示します。
if [ ${EH_EVENT.TYPE} = "ButtonPress" ]; then echo "X = "${EH_EVENT.XBUTTON.X} echo "Y= "${EH_EVENT.XBUTTON.Y} elif [ ${EH_EVENT.TYPE} = "KeyPress" ]; then echo "X = "${EH_EVENT.XKEY.X} echo "Y = "${EH_EVENT.XKEY.Y} fi