## Tcl9.0.3/Tk9.0.3 Documentation > Tk Commands > bind

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    bind — Tcl 記述譜を起動する為の X 行事を手配する　　　Arrange for X events to invoke Tcl scripts
  構文 SYNOPSIS
  緒論 INTRODUCTION
  行事の形式 EVENT PATTERNS
  修飾記号 MODIFIERS
  行事の型 EVENT TYPES
    Activate, Deactivate
    MouseWheel
    TouchpadScroll
    KeyPress, KeyRelease
    Key, KeyRelease
    Button, ButtonRelease, Motion
    Configure
    Map, Unmap
    Visibility
    Expose
    Destroy
    FocusIn, FocusOut
    Enter, Leave
    Property
    Colormap
    MapRequest, CirculateRequest, ResizeRequest, ConfigureRequest, Create
    Gravity, Reparent, Circulate
  行事の詳細 EVENT DETAILS
  束縛記述譜と置換　BINDING SCRIPTS AND SUBSTITUTIONS
    %%
    %#
    %a
    %b
    %c
    %d
    %f
    %h
    %i
    %k
    %m
    %o
    %p
    %s
    %t
    %w
    %x, %y
    %A
    %B
    %D
    %E
    %K
    %M
    %N
    %P
    %R
    %S
    %T
    %W
    %X, %Y
  多重合致 MULTIPLE MATCHES
  多重行事並びと行事無視 MULTI-EVENT SEQUENCES AND IGNORED EVENTS
  不都合 ERRORS
  用例 EXAMPLES
  SEE ALSO
  KEYWORDS

### NAME

bind — Tcl 記述譜を起動する為の X 行事を手配する　　　Arrange for X events to invoke Tcl scripts

### 構文 SYNOPSIS

bind tag ?sequence? ?+??script?

### 緒論 INTRODUCTION

このbind 命令はX の行事を伴うTcl 記述譜に関連している｡ もし三つの全ての引数が指定されていると､bind は tag によって識別される窓の中で sequence によって与えられる行事が起ると何時でも記述譜 ( “束縛記述譜” と呼ばれるTcl 記述譜)が評価される様に手配する｡もし script に “+” が前置されていると sequence の為の何かの既存の束縛に追加され; 前置していないと､何であれ既存の束縛は script に置換えられる｡もしscript が空文字列であると､現在の sequence の為の束縛は破壊され､束縛されない sequence が残る｡どの場合でも､ script 引数が与えられると､bind は空文字列を返す｡　　　　 The bind command associates Tcl scripts with X events. If all three arguments are specified, bind will arrange for script (a Tcl script called the “binding script”) to be evaluated whenever the event(s) given by sequence occur in the window(s) identified by tag. If script is prefixed with a “+”, then it is appended to any existing binding for sequence; otherwise script replaces any existing binding. If script is an empty string then the current binding for sequence is destroyed, leaving sequence unbound. In all of the cases where a script argument is provided, bind returns an empty string.

もし script なしで sequence が指定されると､今現在 sequence に束縛されている記述譜が返される､sequence の為の束縛が存在しない場合､空文字列が返される｡もし sequence も script も指定されないと､返る値は tag に束縛している全ての sequence を要素とするリストである｡ If sequence is specified without a script, then the script currently bound to sequence is returned, or an empty string is returned if there is no binding for sequence. If neither sequence nor script is specified, then the return value is a list whose elements are all the sequences for which there exist bindings for tag.

tag 引数はどの窓に束縛が適用されているかを定める｡ .a.b.c の様に tag が点で始まっている場合は必ず窓への経路である; それ以外は､任意の文字列でよい｡それぞれの窓は貼り札の対応リストを有している､又､もしその貼り札が特定の窓の為に指定されたものの中にあると束縛はその窓に適用される｡ bindtags 命令は任意の束縛の貼り札の組合せを窓に代入する為に使われるが､束縛の貼り札は省略時設定では次の振舞いを与える: The tag argument determines which window(s) the binding applies to. If tag begins with a dot, as in .a.b.c, then it must be the path name for a window; otherwise it may be an arbitrary string. Each window has an associated list of tags, and a binding applies to a particular window if its tag is among those specified for the window. Although the bindtags command may be used to assign an arbitrary set of binding tags to a window, the default binding tags provide the following behavior:

- 貼り札が内部の窓の名前である場合は､束縛はその窓に適用される｡ If a tag is the name of an internal window the binding applies to that window.

- 貼り札が､喩えば Button の如く､部品の級の名前である場合は､束縛はその級の全ての部品に適用される; If the tag is the name of a class of widgets, such as Button, the binding applies to all widgets in that class.

- 貼り札が頂水準の窓の名前である場合は､束縛は頂水準の窓とその内部の全ての窓に適用される｡ If the tag is the name of a toplevel window the binding applies to the toplevel window and all its internal windows.

- 貼り札tag が値 all を有すると､束縛は応用譜内の全ての窓に適用される｡ If tag has the value all, the binding applies to all windows in the application.

### 行事の形式 EVENT PATTERNS

sequence 引数は一つ或はそれ以上の行事の模様の並びであり､模様の間に空白を入れてもよい｡それぞれの行事の模様は三種の内の１つの形式をとる｡最も単純な形式は一つの印刷可能なASCII 文字で譬えば a とか [ とかである｡空白文字や < 文字であってはならない｡この形式の模様は特定の文字の Key 行事に合致する｡第２の形式はより長いがより一般的である｡それは次の構文に従う: The sequence argument specifies a sequence of one or more event patterns, with optional white space between the patterns. Each event pattern may take one of three forms. In the simplest case it is a single printing ASCII character, such as a or [. The character may not be a space character or the character <. This form of pattern matches a Key event for the particular character. The second form of pattern is longer but more general. It has the following syntax:

    <modifier-modifier-type-detail>

全体の行事模様は鈎型の括弧で囲まれる｡鈎型の括弧の中は零又はそれ以上の修飾記号､行事の型､個別の釦や鍵盤を特定する追加的な情報の素片(詳細)がある｡少なくとも型と詳細の内の一つがあればどの欄も省略できる｡欄は空白又は横線で区切らねばならない｡ The entire event pattern is surrounded by angle brackets. Inside the angle brackets are zero or more modifiers, an event type, and an extra piece of information (detail) identifying a particular button or keysym. Any of the fields may be omitted, as long as at least one of type and detail is present. The fields must be separated by white space or dashes.

第３の形式の模様は使用者定義の指定に使い､仮想行事と名付けられる｡次の構文を有す: The third form of pattern is used to specify a user-defined, named virtual event. It has the following syntax:

    <<name>>

全体の仮想行事は二重の鈎型の括弧で囲まれる｡鈎型の括弧の中は使用者が定義した仮想行事の名前である｡ Shift や Control のような修飾記号は仮想行事とは組合せられない｡仮想行事への束縛は仮想行事が定義される前に作成されてもよい､又､仮想行事の定義が動的に変化した場合､その仮想行事に束縛している全ての窓は即座に新しい定義に反応する｡ The entire virtual event pattern is surrounded by double angle brackets. Inside the angle brackets is the user-defined name of the virtual event. Modifiers, such as Shift or Control, may not be combined with a virtual event to modify it. Bindings on a virtual event may be created before the virtual event is defined, and if the definition of a virtual event changes dynamically, all windows bound to that virtual event will respond immediately to the new definition.

幾つかの部品は(譬えば menu や text)､その内部の状態がある方法で更新された時に仮想行事を発行する｡詳細はそれぞれの部品に関する取扱説明書の頁を参照されたい｡ Some widgets (e.g. menu and text) issue virtual events when their internal state is updated in some ways. Please see the manual page for each widget for details.

#### 修飾記号 MODIFIERS

修飾記号は次の記号のどれかから構成される: Modifiers consist of any of the following values:

  Control | Mod1, M1, Command
  Alt | Mod2, M2, Option
  Shift | Mod3, M3, Num
  Lock | Mod4, M4, Fn
  Extended | Mod5, M5
  Button1, B1 | Meta, M
  Button2, B2 | Double
  Button3, B3 | Triple
  Button4, B4 | Quadruple
  Button5, B5

複数の値がコンマで区切られて列挙されている箇所では､それらの値は等価である｡大部分の修飾記号は明らかな X の意味を有する｡譬えば Button1 は行事が生じた時に第１釦が押されている事を要する｡与えられた行事に束縛が合致する為には､行事の中の修飾記号は行事の模様の中で指定されたもの全てを含まなけらばならない｡譬えばシフト釦とCtrl釦が押されている間に第１釦が押されると､模様 <Control-Button-1> は行事に合致するが <Mod1-Button-1> は合致しない｡もし修飾記号が指定されていないと､行事の中にどの様な修飾記号の組合せが存在しても構わない｡ Where more than one value is listed, separated by commas, the values are equivalent. Most of the modifiers have the obvious X meanings. For example, Button1 requires that button 1 be depressed when the event occurs. For a binding to match a given event, the modifiers in the event must include all of those specified in the event pattern. An event may also contain additional modifiers not specified in the binding. For example, if button 1 is pressed while the shift and control keys are down, the pattern <Control-Button-1> will match the event, but <Mod1-Button-1> will not. If no modifiers are specified, then any combination of modifiers may be present in the event.

Meta と M は､どれであれ 鍵盤のメタ釦に連結している M1 から M5 修飾記号を参照している(Mt_右釦かMt_左 釦)｡もしメタ釦がなかったり､修飾記号に連結されていないと､ Meta と M はどの行事にも合致しない｡同様にAlt 修飾記号はどの修飾記号であれ鍵盤上の Alt 釦(Alt_左釦かAlt_右釦)に関連している｡(訳註 メタ釦はWin系装置にはついてない)(訳註 keysym は釦の上に表示されている記号) Meta and M refer to whichever of the M1 through M5 modifiers is associated with the Meta key(s) on the keyboard (keysyms Meta_R and Meta_L). If there are no Meta keys, or if they are not associated with any modifiers, then Meta and M will not match any events. Similarly, the Alt modifier refers to whichever modifier is associated with the alt key(s) on the keyboard (keysyms Alt_L and Alt_R).

Double と Triple と Quadruple 修飾記号は､マウス２重軽叩や他の行事の繰返しに便利である｡それは特定の行事模様が２或は３或は4回繰返されている､又､並びに時間と場所の用件を配置することを引起す: 行事の並びが Double か Triple か Quadruple 模様に合致する為には､全ての行事が相伴って期間中にその間にマウスの重要な運動なしに起る必要がある｡譬えば､ <Double-Button-1> は 時間と空間の追加要件を持つ <Button-1><Button-1> と等価である｡ The Double, Triple and Quadruple modifiers are a convenience for specifying double mouse clicks and other repeated events. They cause a particular event pattern to be repeated 2, 3 or 4 times, and also place a time and space requirement on the sequence: for a sequence of events to match a Double, Triple or Quadruple pattern, all of the events must occur close together in time and without substantial mouse motion in between. For example, <Double-Button-1> is equivalent to <Button-1><Button-1> with the extra time and space requirement.

CommandとOptionとNumとFn修飾記号はそれぞれMod1からMod4迄と等価であり; マッキントッシュ専用の修飾記号釦に相当する｡ The Command, Option, Num and Fnmodifiers are equivalents of Mod1 up to Mod4; they correspond to Macintosh-specific modifier keys.

Extended 修飾記号は現時点でWindows専用である｡ “拡張鍵盤” 上の釦に関連した行事に現れる｡米国向けの拡張鍵盤上には､ Alt と Control 釦を含む拡張釦類が鍵盤の右側に､遊走子釦が数字盤の左の群の中に､ NumLock 釦と Break 釦と PrintScreen 釦と / 釦と Enter 釦が数字鍵盤に含まれる｡ The Extended modifier is, at present, specific to Windows. It appears on events that are associated with the keys on the “extended keyboard”. On a US keyboard, the extended keys include the Alt and Control keys at the right of the keyboard, the cursor keys in the cluster to the left of the numeric pad, the NumLock key, the Break key, the PrintScreen key, and the / and Enter keys in the numeric keypad.

#### 行事の型 EVENT TYPES

型の欄は標準の X 行事型のどれかである｡型の欄は幾つかの非標準の X 行事型を受入れる､これは､Windows と マッキントッシュOSのよりよい運営の為に追加された｡下は､全ての適正な型であり､ここで二つの名前が一緒になっているのは類義語である｡ The type field may be any of the standard X event types, with a few extra abbreviations. The type field will also accept a couple non-standard X event types that were added to better support the Macintosh and Windows platforms. Below is a list of all the valid types; where two names appear together, they are synonyms.

  Activate | Destroy | Map
  Button, ButtonPress | Enter | MapRequest
  ButtonRelease | Expose | Motion
  Circulate | FocusIn | MouseWheel
  TouchpadScroll | CirculateRequest | FocusOut
  Property | Colormap | Gravity
  Reparent | Configure | Key, KeyPress
  ResizeRequest | ConfigureRequest | KeyRelease
  Unmap Create | Leave | Visibility
  Deactivate

大部分の上の行事は X 窓系中の行事と同じ欄と同じ振舞いを有する｡このような行事についてはどれかのX 窓系算譜の書籍の中に更なる記述があるだろう｡幾つかの行事は Windows とマッキントッシュのOSの独特な性能を運営する為のX 行事系の拡張である｡此処で､少数のこのような行事の更なる詳細を提供する｡これらに含まれるのは: Most of the above events have the same fields and behaviors as events in the X Windowing system. You can find more detailed descriptions of these events in any X window programming book. A couple of the events are extensions to the X event system to support features unique to the Macintosh and Windows platforms. We provide a little more detail on these events here. These include:

Activate, Deactivate
  この二つの行事は状態が変化した時に全ての頂水準の子供の窓に送られる｡注目がある窓に加えて､Windows とマッキントッシュのOSでは､活動中の窓の概念がある(大概は注目をも有するが注目は必須ではない)｡マッキントッシュでは､活動中の窓の中の部品は､非活動中の窓とは異なる外観を有する｡ Activate 行事は非活動から活動に変化した時に全ての頂水準の子供の窓に送られる｡同様に､ Deactive は窓の状態が活動中から非活動中に変化した時に送られる｡この行事を束縛する時に使用できる便利な百分率置換はない｡ These two events are sent to every sub-window of a toplevel when they change state. In addition to the focus Window, the Macintosh platform and Windows platforms have a notion of an active window (which often has but is not required to have the focus). On the Macintosh, widgets in the active window have a different appearance than widgets in deactive windows. The Activate event is sent to all the sub-windows in a toplevel when it changes from being deactive to active. Likewise, the Deactive event is sent when the window's state changes from active to deactive. There are no useful percent substitutions you would make when binding to these events.

MouseWheel
  多くの現在のマウスは輪付きマウスを含み､これは滑帯を使うことなく文書類を上下送りする為に使われる｡輪を廻すことにより､系はMouseWheel 行事を発生し､応用譜はそれを上下送りに使うことができる｡この行事は現在マウス遊走子がある窓に送られる｡行事が届いた時に､行事の delta 欄を得る為に %D 置換を使うことができる､それは整数値であってマウスの輪がどれ程廻ったかを表す｡系が報告する最小の値はOSによって定められている｡値の符号は部品がどの方向に移動するかを定める｡正の値は上に移動し負の値は下に移動する｡ Many contemporary mice include a mouse wheel, which is used for scrolling documents without using the scrollbars. By rolling the wheel, the system will generate MouseWheel events that the application can use to scroll. The event is routed to the window currently under the mouse pointer. When the event is received you can use the %D substitution to get the delta field for the event, which is an integer value describing how the mouse wheel has moved. The smallest value for which the system will report is defined by the OS. The sign of the value determines which direction your widget should scroll. Positive values should scroll up and negative values should scroll down.

  水平送りは シフト-マウス輪環 行事を使い､ 正数の %D 刻み置換は左送り､負数は右送りを指す｡ 水平送り行事は､幾つかのマウス上の傾斜輪 生成される｡ 水平移動は又､シフトを保持しての垂直移動により真似ることができる｡ Horizontal scrolling uses Shift-MouseWheel events, with positive %D delta substitution indicating left scrolling and negative right scrolling. Horizontal scrolling events are generated tilt wheels on some mice. Horizontal scrolling can also be emulated by holding Shift and scrolling vertically.

TouchpadScroll
  幾つかのOS上(現在の処Windows と macOS)で､タッチ盤などの､高解像度送り装置に対応している｡ これはTouchpadScroll行事経由で提供されている｡ これらの行事は､二つの16ビット差分値を､保存し､ 整数単位で､%Dによって､提供される｡ X差分は､上位16ビットであり､且つ､Y差分は下位16ビットである｡ これ等の値は､tk::PreciseScrollDeltas汎用手続き函数を使って解く事ができる｡ 譬えば: On some platforms (currently Windows and macOS) there is support for high-resolution scrolling devices, such as touchpads. This is provided via TouchpadScroll events. These events store two 16 bit delta values in the integer provided by the %D substitution. The X delta is in the high order 16 bits and the Y delta is in the low order 16 bits. These values can be unpacked by using the tk::PreciseScrollDeltas utility procedure. For example:

      lassign [tk::PreciseScrollDeltas %D] deltaX deltaY

  $#置換は､ 行事の幾つかの部位を無視する為に､ 単位の移動にのみ対応している部品により使われ得る TouchpadScroll行事に関する対抗である｡ The $# substitution is a counter for TouchpadScroll events which can be used by widgets that only support scrolling by units to ignore some portion of the events.

KeyPress, KeyRelease
  KeyPress と KeyRelease 行事は釦が押されるか離されるかすると生成される｡ KeyPress と KeyRelease [訳註:??tk8.6版からの誤編輯か｡8.6版参照] The KeyPress and KeyRelease events are generated whenever a key is pressed or released. KeyPress and KeyRelease

Key, KeyRelease
  Key と KeyRelease 行事は釦が押されるか離されるかすると生成される｡ Key と KeyRelease 行事は現在鍵盤の注目を有している窓に送られる｡ The Key and KeyRelease events are generated whenever a key is pressed or released. Key and KeyRelease events are sent to the window which currently has the keyboard focus.

Button, ButtonRelease, Motion
  Button と ButtonRelease 行事は使用者がマウスの釦を押すか離すかすると生じる｡Motion 行事は指示子が移動すると何時でも生成される｡ Button と ButtonRelease と Motion 行事は通常指示子を含む窓に送られる｡ The Button and ButtonRelease events are generated when the user presses or releases a mouse button. Motion events are generated whenever the pointer is moved. Button, ButtonRelease, and Motion events are normally sent to the window containing the pointer.

  マウスの釦が押された時に指示子を含む窓は自動的に一時的な指示子の把持を得る｡ それに続く Button と ButtonRelease と Motion 行事はその窓に送られ､全ての釦が離されるまでどの窓が指示子を含むかは考慮されない｡ When a mouse button is pressed, the window containing the pointer automatically obtains a temporary pointer grab. Subsequent Button, ButtonRelease, and Motion events will be sent to that window, regardless of which window contains the pointer, until all buttons have been released.

Configure
  Configure 行事は､何時であれ､窓の寸法か､位置か､淵の幅が変化した時に窓に送られる､時には､重なりの順序が変更された時にも送られる｡ A Configure event is sent to a window whenever its size, position, or border width changes, and sometimes when it has changed position in the stacking order.

Map, Unmap
  Map と Unmap 行事は窓の対応付け状態が変化すると何時でも生成される｡ The Map and Unmap events are generated whenever the mapping state of a window changes.

  窓は非対応付け状態で創造される｡頂水準窓はそれが通常状態に遷移した時に対応付けされ､そして､withdrawn と iconic 状態になると非対応付けされる｡他の窓は幾何管理譜(譬えば pack や grid)の制御下に置かれると対応付けになる｡ Windows are created in the unmapped state. Top-level windows become mapped when they transition to the normal state, and are unmapped in the withdrawn and iconic states. Other windows become mapped when they are placed under control of a geometry manager (for example pack or grid).

  窓は､自己と全ての祖先が対応付けされるときに限り可視になる｡註意すべきは幾何管理譜は典型的にはそれ自身が対応付けされない限りその子供は対応付けしない､又､自身が非対応付けされると､その子供全てが非対応付けになる; そこで､Tk では､Map と Unmap 行事は窓が可視か否かを指し示す｡ A window is viewable only if it and all of its ancestors are mapped. Note that geometry managers typically do not map their children until they have been mapped themselves, and unmap all children when they become unmapped; hence in Tk Map and Unmap events indicate whether or not a window is viewable.

Visibility
  窓が不明瞭と謂われるのは棚の上位順序の他の窓が部分的に又は完全重複する時である｡Visibility 行事は､窓の顕示状態が変化した時にいつも作成される; state 欄(%s) が新しい状態を指定する｡ A window is said to be obscured when another window above it in the stacking order fully or partially overlaps it. Visibility events are generated whenever a window's obscurity state changes; the state field (%s) specifies the new state.

Expose
  Expose 行事は､何時であれ窓の全部か一部が再描画されるべき時(譬えば､窓が最初に対応付けされる時や顕示状態に換る)に生成される｡通常は依頼者応用譜の為に Expose 行事を処理する必要はない､理由は Tk が内部的にこれを処理しているので｡ An Expose event is generated whenever all or part of a window should be redrawn (for example, when a window is first mapped or if it becomes unobscured). It is normally not necessary for client applications to handle Expose events, since Tk handles them internally.

Destroy
  Destroy 行事は破壊された時に窓に配送される｡ A Destroy event is delivered to a window when it is destroyed.

  Destroy 行事が部品に送られた時､それは “半死” 状態である: 部品は猶存在するが､それを含む操作は無効な結果を返すか不都合を返す｡ When the Destroy event is delivered to a widget, it is in a “half-dead” state: the widget still exists, but operations that involve it may return invalid results, or return an error.

FocusIn, FocusOut
  FocusIn と FocusOut 行事は､何時であれ､鍵盤の注目が変化した時に生成される｡FocusOut 行事は以前に注目のあった窓に送られ､FocusIn 行事は新しい方に送られる｡ The FocusIn and FocusOut events are generated whenever the keyboard focus changes. A FocusOut event is sent to the old focus window, and a FocusIn event is sent to the new one.

  更にもし､古い注目窓と新しい注目窓が共通の親を共有していない場合､ “仮想的渡航” 注目行事が､階層の中間にある窓に送られる｡そこで､FocusIn 行事は目標窓或はその子孫の窓が注目を獲得したことを指し示し､FocusOut 行事は目的の窓の階層構造の外にある窓に注目が変化したことを指し示す｡ In addition, if the old and new focus windows do not share a common parent, “virtual crossing” focus events are sent to the intermediate windows in the hierarchy. Thus a FocusIn event indicates that the target window or one of its descendants has acquired the focus, and a FocusOut event indicates that the focus has been changed to a window outside the target window's hierarchy.

  鍵盤の注目は focus を呼出すことで明示的に､また窓管理譜により暗示的に変化する｡ The keyboard focus may be changed explicitly by a call to focus, or implicitly by the window manager.

Enter, Leave
  Enter 行事は､指示子が窓に入ったときにその窓に送られ､Leave 行事は､指示子が外に出た時に送られる｡ An Enter event is sent to a window when the pointer enters that window, and a Leave event is sent when the pointer leaves it.

  もし､指示子の排他的把持が有効であると､Enter と Leave 行事は排他的把持を有している窓にのみ送られる｡ If there is a pointer grab in effect, Enter and Leave events are only delivered to the window owning the grab.

  更に､指示子が二つの窓の間を動く時､Enter と Leave 行事の “仮想的渡航” 行事が､階層の中間にある窓に､FocusIn と FocusOut 行事と同じ方法で送られる｡ In addition, when the pointer moves between two windows, Enter and Leave “virtual crossing” events are sent to intermediate windows in the hierarchy in the same manner as for FocusIn and FocusOut events.

Property
  Property行事は､何時であれ､その窓に属する X 資産が変化或は削除された時にその窓に送られる｡ Property行事は､通常は Tk 応用譜には送られない､理由は Tk 核芯により処理されるから｡ A Property event is sent to a window whenever an X property belonging to that window is changed or deleted. Property events are not normally delivered to Tk applications as they are handled by the Tk core.

Colormap
  Colormap 行事は､何時であれ､窓に関連する色地図が変化､実装､実装解除されると生成される｡ A Colormap event is generated whenever the colormap associated with a window has been changed, installed, or uninstalled.

  部品は -colormap 指示項目を指定することにより､私的な画素地図が代入されるかもしれない; 窓管理譜は必要に応じて画素地図を実装し､実装解除する責務がある｡ Widgets may be assigned a private colormap by specifying a -colormap option; the window manager is responsible for installing and uninstalling colormaps as necessary.

  註意すべきは､ Tk はこの行事の型に便利な詳細を提供していない｡ Note that Tk provides no useful details for this event type.

MapRequest, CirculateRequest, ResizeRequest, ConfigureRequest, Create
  これらの行事は通常はTk 応用譜に伝えられない｡これらは､完全性の為に､Tk 内で X11 窓管理譜を書くことができる様に含まれている｡(これらの行事は､依頼側が窓上に SubstructureRedirectMask を選択している時にのみ送られる; Tk 核芯はこの篩を使用していない｡) These events are not normally delivered to Tk applications. They are included for completeness, to make it possible to write X11 window managers in Tk. (These events are only delivered when a client has selected SubstructureRedirectMask on a window; the Tk core does not use this mask.)

Gravity, Reparent, Circulate
  Gravity と Reparent 行事は通常はTk 応用譜に伝えられない｡これらは､完全性の為に､含まれる｡ The events Gravity and Reparent are not normally delivered to Tk applications. They are included for completeness.

  Circulate 行事は､XCirculateSubwindows 通信規約の要求の結果､窓が棚の順番の頂か底に移動したことを指し示す｡註意すべきは､棚の順番は Circulate 行事を生成しない他の行事によっても変化し得るし､Tk は内部的に XCirculateSubwindows() を使用しない｡この行事の型は完全性の為だけに含まれるし､棚の順序内の窓の順位の変更を追跡する信頼できる方法は存在しない｡ A Circulate event indicates that the window has moved to the top or to the bottom of the stacking order as a result of an XCirculateSubwindows protocol request. Note that the stacking order may be changed for other reasons which do not generate a Circulate event, and that Tk does not use XCirculateSubwindows() internally. This event type is included only for completeness; there is no reliable way to track changes to a window's position in the stacking order.

#### 行事の詳細 EVENT DETAILS

長い行事指定の記述の掉尾を飾るのは詳細 である｡Button や ButtonRelease 行事の場合は､釦の番号(1-9)である｡もし､釦番号が与えられると､その特定の釦での行事のみが合致するようになる ; もし､釦番号が与えられないと､どの釦の行事でも合致するようになる｡註意: 特定の釦番号を与えることは釦修飾子とは異なる; 前者は､押されたり離されたりしている釦を参照しているが､後者は､合致の行事が起った時に既に押込まれているどれか他の釦を参照する｡もし釦番号が与えられると型 は省略できるかもしれない: Button が省略時設定であればそうできる｡譬えば､指定子 <1> は<Button-1>と等価になる｡ 　　　　 The last part of a long event specification is detail. In the case of a Button or ButtonRelease event, it is the number of a button (1-9). If a button number is given, then only an event on that particular button will match; if no button number is given, then an event on any button will match. Note: giving a specific button number is different than specifying a button modifier; in the first case, it refers to a button being pressed or released, while in the second it refers to some other button that is already depressed when the matching event occurs. If a button number is given then type may be omitted: if will default to Button. For example, the specifier <1> is equivalent to <Button-1>.

もし行事の型が Key か KeyRelease であるなら､詳細 は X 鍵盤表示の形式で指定されるであろう｡鍵盤表示は特定の鍵盤の文書的仕様である; それは全ての英数字 ASCII 文字(譬えば､ “a” はASCII 文字の “a” の為の鍵盤表示である)､加えるに､非英数文字の為の記述( “comma” はコンマ文字の鍵盤表示である)加えるに､非ASCII 文字の為の記述(譬えば､ “Shift_L” は左のシフト釦､ “F1” はもしあれば､F1 函数釦の鍵盤表示)である｡鍵盤表示の完全な一覧表はここには表示しない; 必要ならば､特定の釦の鍵盤表示の名前の印刷には下で述べる様に %K 表記が使用できる｡もし鍵盤表示の詳細 が与えられていると型 の欄は省略できるかもしれない; KeyPress の場合はそれが省略時設定でもある｡譬えば<Control-comma> は<Control-Key-comma> と等価である｡ If the event type is Key or KeyRelease, then detail may be specified in the form of an X keysym. Keysyms are textual specifications for particular keys on the keyboard; they include all the alphanumeric ASCII characters (e.g. “a” is the keysym for the ASCII character “a”), plus descriptions for non-alphanumeric characters (“comma”is the keysym for the comma character), plus descriptions for all the non-ASCII keys on the keyboard (e.g. “Shift_L” is the keysym for the left shift key, and “F1” is the keysym for the F1 function key, if it exists). The complete list of keysyms is not presented here; it is available in other X documentation and may vary from system to system. If necessary, you can use the %K notation described below to print out the keysym name for a particular key. If a keysym detail is given, then the type field may be omitted; it will default to Key. For example, <Control-comma> is equivalent to <Control-Key-comma>.

### 束縛記述譜と置換　BINDING SCRIPTS AND SUBSTITUTIONS

bind に対する script 引数は “束縛記述譜” と呼ばれる Tcl 記述譜であり､与えられた行事並びが起ると何時でも評価される｡ command は bind 命令がその中で実行されると同じ解釈実行機能内で実行され､それは大域水準で走ることになる(大域変数のみが受入れられる)｡もし､ script が何か % 符号を含んでいると､その記述譜は直接には実行されない｡その代わり､それぞれの % とそれに続く符合が現在の行事から来る情報によって置換えられ､新しい記述譜が生成する｡ % に続く文字に従う置換は下の表の如く定義される｡他に指示がない限り､置換文字列は現在の行事から与えられる欄の十進数である｡幾つかの置換は特定の行事の型に対してのみ適正である; もし､それが他の行事の型に使われると置換された値は未定義になる｡ 　　　　 The script argument to bind is a Tcl script, called the “binding script”, which will be executed whenever the given event sequence occurs. Command will be executed in the same interpreter that the bind command was executed in, and it will run at global level (only global variables will be accessible). If script contains any % characters, then the script will not be executed directly. Instead, a new script will be generated by replacing each %, and the character following it, with information from the current event. The replacement depends on the character following the %, as defined in the list below. Unless otherwise indicated, the replacement string is the decimal value of the given field from the current event. Some of the substitutions are only valid for certain types of events; if they are used for other types of events the value substituted is undefined.

%%
  一つの百分率符号に置換えられる｡ Replaced with a single percent.

%#
  中央集中処理装置により処理された､最後の依頼者側要求の数(行事からの継続欄)｡全ての行事の型に適正｡ The number of the last client request processed by the server (the serial field from the event). Valid for all event types.

%a
  行事の上側の欄､十六進数に書式化されている｡Configure 行事についてのみ適正｡棚の順序が受け取った窓の直ぐ下の兄弟の窓を指し示す､もし受取った窓が底にあると0になる｡ The above field from the event, formatted as a hexadecimal number. Valid only for Configure events. Indicates the sibling window immediately below the receiving window in the stacking order, or 0 if the receiving window is at the bottom.

%b
  押されたか､離されたかの釦の番号｡ Button かButtonRelease 行事についてのみ適正｡ The number of the button that was pressed or released. Valid only for Button and ButtonRelease events.

%c
  行事の count 欄｡Expose 行事についてのみ適正｡窓に送られていない count 個の未決のExpose 行事があることを指し示す｡ The count field from the event. Valid only for Expose events. Indicates that there are count pending Expose events which have not yet been delivered to the window.

%d
  行事の detail かuser_data 欄｡%d は詳細を識別する文字列に置換えられる｡Enter と Leave と FocusIn と FocusOut については､文字列は次の内の一つである: The detail or user_data field from the event. The %d is replaced by a string identifying the detail. For Enter, Leave, FocusIn, and FocusOut events, the string will be one of the following:

    NotifyAncestor | NotifyNonlinearVirtual
    NotifyDetailNone | NotifyPointer
    NotifyInferior | NotifyPointerRoot
    NotifyNonlinear | NotifyVirtual

  ConfigureRequest行事に関しては､文字列は以下の一つ: 　 For ConfigureRequest events, the string will be one of:

    Above | Opposite
    Below | None
    BottomIf | TopIf

  仮想的行事については､文字列は､行事が生成した時に(典型的には event generate によって)､どの様な値であれ､ user_data 欄内に保存される､又､欄がNULL の場合には空文字列になる｡釦並び押下に相当する仮想的行事(詳細は eventadd 参照)は user_data を NULL に設定する｡これ以外の行事については､置換文字列は定義されていない｡ For virtual events, the string will be whatever value is stored in the user_data field when the event was created (typically with event generate), or the empty string if the field is NULL. Virtual events corresponding to key sequence presses (see event add for details) set the user_data to NULL. For events other than these, the substituted string is undefined.

%f
  行事からの focus 欄(0 か 1)｡ Enter か Leave 行事についてのみ適正｡もし､窓が注目を受けているか､注目のある窓の子孫なら1 ､それ以外は0 ｡ The focus field from the event (0 or 1). Valid only for Enter and Leave events. 1 if the receiving window is the focus window or a descendant of the focus window, 0 otherwise.

%h
  行事の height 欄｡Configure か ConfigureRequest か Create か ResizeRequest か Expose 行事についてのみ適正｡窓の新しい或は要求された高さを指し示す｡ The height field from the event. Valid for the Configure, ConfigureRequest, Create, ResizeRequest, and Expose events. Indicates the new or requested height of the window.

%i
  行事の window 欄､十六進数に書式化されている｡全ての行事の型に適正｡ The window field from the event, represented as a hexadecimal integer. Valid for all event types.

%k
  行事の keycode 欄｡ Key か KeyRelease 行事についてのみ適正｡ The keycode field from the event. Valid only for Key and KeyRelease events.

%m
  行事の mode 欄｡置換文字列はNotifyNormal か NotifyGrab か NotifyUngrab か NotifyWhileGrabbed の内の一つである｡ Enter か FocusIn か FocusOut か Leave 行事についてのみ適正｡ The mode field from the event. The substituted string is one of NotifyNormal, NotifyGrab, NotifyUngrab, or NotifyWhileGrabbed. Valid only for Enter, FocusIn, FocusOut, and Leave events.

%o
  行事の override_redirect 欄｡ Map か Reparent か Configure 行事についてのみ適正｡ The override_redirect field from the event. Valid only for Map, Reparent, and Configure events.

%p
  行事の place 欄､ 文字列 PlaceOnTop か PlaceOnBottom の内の一つとして置換された｡ Circulate と CirculateRequest 行事についてのみ適正｡ The place field from the event, substituted as one of the strings PlaceOnTop or PlaceOnBottom. Valid only for Circulate and CirculateRequest events.

%s
  行事の state 欄｡ Button と ButtonRelease と Enter と Key と KeyRelease と Leave と Motion 行事については､十進数列が置換される｡ Visibility については､ VisibilityUnobscured か VisibilityPartiallyObscured か VisibilityFullyObscured の内の一つが置換される｡ Property 行事については､文字列 NewValue (資産が生成されたか､修正されたことを指し示す)か Delete (資産が取除かれたことを指し示す)のいずれかによって置換される｡ The state field from the event. For Button, ButtonRelease, Enter, Key, KeyRelease, Leave, and Motion events, a decimal string is substituted. For Visibility, one of the strings VisibilityUnobscured, VisibilityPartiallyObscured, and VisibilityFullyObscured is substituted. For Property events, substituted with either the string NewValue (indicating that the property has been created or modified) or Delete (indicating that the property has been removed).

%t
  行事の time 欄｡これは､行事が発生した時の X の中央集中処理装置の千分の１秒単位の時刻押印(典型的には中央処理装置が刷新されてからの)である｡全ての行事に適正である｡ The time field from the event. This is the X server timestamp (typically the time since the last server reset) in milliseconds, when the event occurred. Valid for most events.

%w
  行事の幅欄｡窓の新しい或は要求された幅を指し示す｡Configure か ConfigureRequest か Create か ResizeRequest か Expose 行事についてのみ適正｡ The width field from the event. Indicates the new or requested width of the window. Valid only for Configure, ConfigureRequest, Create, ResizeRequest, and Expose events.

%x, %y
  行事の x と y 欄｡ Button と ButtonRelease と Motion と Key と KeyRelease と MouseWheel 行事については､%x と %y は受取った窓についてマウス指示子の相対的位置を指し示す｡ Enter と Leave 行事については､受取った窓についてマウス指示子が横切った位置を指し示す｡ Configure と Create はその親の窓に対する相対的な窓の座標を要求する｡ The x and y fields from the event. For Button, ButtonRelease, Motion, Key, KeyRelease, and MouseWheel events, %x and %y indicate the position of the mouse pointer relative to the receiving window. For key events on the Macintosh these are the coordinates of the mouse at the moment when an X11 KeyEvent is sent to Tk, which could be slightly later than the time of the physical press or release. For Enter and Leave events, the position where the mouse pointer crossed the window, relative to the receiving window. For Configure and Create requests, the x and y coordinates of the window relative to its parent window.

%A
  行事に対応するユニコード文字に置換するか､行事がユニコード文字に対応しない場合(譬えば､シフト釦が押された)は空文字列に置換する｡XmbLookupString (入力方法の支援が切断されている時は XLookupString )は全ての行事からの仕事をユニコード文字に翻訳する｡ Key と KeyRelease 行事についてのみ適正｡ Substitutes the UNICODE character corresponding to the event, or the empty string if the event does not correspond to a UNICODE character (e.g. the shift key was pressed). On X11, XmbLookupString (or XLookupString when input method support is turned off) does all the work of translating from the event to a UNICODE character. On X11, valid only for Key event. On Windows and macOS/aqua, valid only for Key and KeyRelease events.

%B
  行事の縁の幅欄｡ Configure か ConfigureRequest か Create 行事についてのみ適正｡ The border_width field from the event. Valid only for Configure, ConfigureRequest, and Create events.

%D
  これは､マウス輪回転行事の変位量deltaを報告する｡データ量はマウスの輪が動いた回転単位を表現する｡値の符号はマウス輪が摺動する方向を表現する｡ This reports the delta value of a MouseWheel event. The delta value represents the rotation units the mouse wheel has been moved. The sign of the value represents the direction the mouse wheel was scrolled.

%E
  行事の send_event 欄｡全ての行事の型について適正である｡0 は､“通常の”行事､ 1 は SendEvent によって生成された“合成の”行事であることを指し示す｡ The send_event field from the event. Valid for all event types. 0 indicates that this is a “normal” event, 1 indicates that it is a “synthetic” event generated by SendEvent.

%K
  行事に対応する鍵盤表示､文章文字列として置換えられた｡ Key か KeyRelease 行事についてのみ適正｡ The keysym corresponding to the event, substituted as a textual string. Valid only for Key and KeyRelease events.

%M
  これまでの行事に一致する記述譜基準の束縛紋様の数｡行事の型によって変動する｡ The number of script-based binding patterns matched so far for the event. Valid for all event types.

%N
  行事に対応する鍵盤表示､十進数文字列として置換えられた｡ Key か KeyRelease 行事についてのみ適正｡ The keysym corresponding to the event, substituted as a decimal number. Valid only for Key and KeyRelease events.

%P
  更新されたか､削除された資産の名前( winfo atom を使って XAtom に変換されたかもしれない)｡ Property 行事についてのみ適正｡ The name of the property being updated or deleted (which may be converted to an XAtom using winfo atom.) Valid only for Property events.

%R
  行事による根本の窓の識別子｡root 欄のある行事にのみ適正｡ The root window identifier from the event. Valid only for events containing a root field.

%S
  行事による子供の窓の識別子､十六進数に書式化されている｡subwindow 欄のある行事にのみ適正｡ The subwindow window identifier from the event, formatted as a hexadecimal number. Valid only for events containing a subwindow field.

%T
  行事の type 欄｡全ての行事の型について適正である｡ The type field from the event. Valid for all event types.

%W
  行事が報告された窓の経路名(行事の window 欄)｡全ての行事の型について適正である｡ The path name of the window to which the event was reported (the window field from the event). Valid for all event types.

%X, %Y
  The x_root and y_root fields from the event. If a virtual-root window manager is being used then the substituted values are the corresponding x-coordinate and y-coordinate in the virtual root. Valid only for Button, ButtonRelease, Enter, Key, KeyRelease, Leave and Motion events. Same meaning as %x and %y, except relative to the (virtual) root window.

%-置換についての置換文字列は適正なTcl リスト要素として書式化される｡この意味は､空白や､ $ とか { のような特別な文字は逆斜線が前に着くことを意味する｡これにより､束縛文字列が評価される時に､文字列がTcl 字句解析にわたされることを保障する｡大部分の置換は､数値あるいは上述の文字列である｡このような置換では特別な書式化は全く必要ない｡非常に多くの場合､ %A 置換の為に､再書式化が起る｡譬えば､もし記述譜が The replacement string for a %-replacement is formatted as a proper Tcl list element. This means that spaces or special characters such as $ and { may be preceded by backslashes. This guarantees that the string will be passed through the Tcl parser when the binding script is evaluated. Most replacements are numbers or well-defined strings such as Above; for these replacements no special formatting is ever necessary. The most common case where reformatting occurs is for the %A substitution. For example, if script is

    insert %A

そして､打鍵された文字が左角括弧文字であると､実際に実行される記述譜は and the character typed is an open square bracket, then the script actually executed will be

    insert \[

これは元の置換文字列をその引数として､受取るための insert を引起す(左角括弧文字)｡もし､追加の逆斜線が追加されていなければ､Tcl は記述譜を正しく字句解析できていないであろう｡ This will cause the insert to receive the original replacement string (open square bracket) as its first argument. If the extra backslash had not been added, Tcl would not have been able to parse the script correctly.

### 多重合致 MULTIPLE MATCHES

与えられた X 行事に合致する幾つかの束縛が可能である｡もし､束縛が異なる貼り札のものであると､そろぞれの束縛がその順番で実行される｡省略時設定では､部品への束縛が最初に実行され､次に級への束縛が続き､頂水準への束縛､ all への束縛が続く｡特定の窓について､ bindtags 命令はこの順序の変更､又は､窓への追加的束縛を結合するために使われることもある｡ It is possible for several bindings to match a given X event. If the bindings are associated with different tag's, then each of the bindings will be executed, in order. By default, a binding for the widget will be executed first, followed by a class binding, a binding for its toplevel, and an all binding. The bindtags command may be used to change this order for a particular window or to associate additional binding tags with the window.

continue と break 命令は束縛記述譜の中で合致記述譜の処理を制御する為に使われる｡ もし continue が束縛記述譜の中で起動されると､この束縛記述譜は､ “+” 以外の全てが追記された記述譜を全て含んで､終了するが､ Tk は他の貼り札に関連した記述譜を継続して処理する｡もし break が束縛記述譜の中で起動されるとその記述譜は終了し､その行事についてその他のどの記述譜も起動されない｡　　　　　 The continue and break commands may be used inside a binding script to control the processing of matching scripts. If continue is invoked within a binding script, then this binding script, including all other “+” appended scripts, is terminated but Tk will continue processing binding scripts associated with other tag's. If the break command is invoked within a binding script, then that script terminates and no other scripts will be invoked for the event.

束縛記述譜から呼ばれた記述譜内では､ return -code ok は処理を継続する為に使用でき( “+” 追記された記述譜を含む)るが､他の全ての束縛記述譜の処理を停止する為に return -code break が使用できる｡　　　　　 Within a script called from the binding script, return -code ok may be used to continue processing (including “+” appended scripts), or return -code break may be used to stop processing all other binding scripts.

もし一つよりも多い束縛が特定の行事に合致しそれが同じ貼り札を有していると､最も明確な束縛が選ばれ､その記述譜が評価される｡次の試験が順番に適用され､幾つかの合致並びのどれが最も明確かを定める: If more than one binding matches a particular event and they have the same tag, then the most specific binding is chosen and its script is evaluated. The following tests are applied, in order, to determine which of several matching sequences is more specific:

1. 行事模様が特定の釦又は鍵盤釦を指定すると指定しない場合よりも明確である; an event pattern that specifies a specific button or key is more specific than one that does not;

2. 最高位の紋様(最高の語は繰返し回数)の並びが劣った高位の紋様よりも特別である; a sequence with the most highest-ordered patterns (in term of highest repetition count) is more specific than a sequence with less highest-ordered patterns;

3. もし一つの模様内の指定された修飾子が他の模様の部分集合であると､より修飾している方がより明確である｡ if the modifiers specified in one pattern are a subset of the modifiers in another pattern, then the pattern with more modifiers is more specific;

4. 物理模様が合致している仮想的行事は同じ物理模様で仮想的行事に結合しないものより明確さが劣る｡ a virtual event whose physical pattern matches the sequence is less specific than the same physical pattern that is not associated with a virtual event;

5. 二つ以上の仮想的行事が与えられると､一つの仮想的行事が選択されるが､その順序は定義されない｡ given a sequence that matches two or more virtual events, one of the virtual events will be chosen, but the order is undefined.

もし合致する並びが多数の行事を含んでいると､試験 (c)-(e) が最も最近の行事から最も前の行事の順番に適用される｡もしこの試験が覇者を決定できないと､最も最近に登録された並びが覇者になる｡ (訳註 上記箇条書きは(a)～(e)の番号を附る予定だったらしい) If the matching sequences contain more than one event, then tests (c)-(e) are applied in order from the most recent event to the least recent event in the sequences. If these tests fail to determine a winner, then the most recently registered sequence is the winner.

もし､二つ(或はそれ以上の)の仮想行事が両方とも同じ並びによって発動され､これら両方の仮想的行事が同じ窓の貼り札に束縛されていると､ただ一つの仮想行事が発動されるが､それは無作為に選択される: If there are two (or more) virtual events that are both triggered by the same sequence, and both of those virtual events are bound to the same window tag, then only one of the virtual events will be triggered, and it will be picked at random:

    event add <<Paste>> <Control-y>
    event add <<Paste>> <Button-2>
    event add <<Scroll>> <Button-2>
    bind Entry <<Paste>> {puts Paste}
    bind Entry <<Scroll>> {puts Scroll}

もし､使用者が Control-y を打鍵すると<<Paste>> 束縛が起動される､しかし使用者が釦2を押すと､ <<Paste>> か <<Scroll>> のどちらかが起動される､しかし正確には､どちらが起動されるかは定義されない｡ If the user types Control-y, the <<Paste>> binding will be invoked, but if the user presses button 2 then one of either the <<Paste>> or the <<Scroll>> bindings will be invoked, but exactly which one gets invoked is undefined.

もし X 行事が実在する束縛の何れにも合致しない場合､行事は無視される｡ 非束縛の行事は不都合とは看做されない｡ 　 If an X event does not match any of the existing bindings, then the event is ignored. An unbound event is not considered to be an error.

### 多重行事並びと行事無視 MULTI-EVENT SEQUENCES AND IGNORED EVENTS

bind 命令内で指定された sequence が二つ以上の行事紋様を含む場合､何時であれ最近の行事(現在の行事に至る迄の)が与えられた並びに合致する時にその記述譜が実行される｡この意味は､譬えば､釦 1 が繰り返して軽叩されると､並び <Double-Button-1> はそれぞれの釦の押下に合致するが､最初のものに合致とする｡もし､無関係の行事がそれに続く並びの中央の行事の合致を妨げると無関係の行事はそれがKey か Button 行事でない限り無視される｡譬えば､<Double-Button-1> は釦 1 の押下並びに合致する､Button 行事との間にたとえButtonRelease 行事があっても(おそらくはMotion 行事も)｡更に､Key 行事は合致を妨げる修飾鍵なしに､幾つかの他の Key 行事に先行されているかも知れない｡譬えば､行事の並びの aB は､ a の打鍵､ a の鍵の解放､ シフト の打鍵､ b の鍵の打鍵 に合致する: シフト の打鍵は無視される､理由はそれが修飾鍵であるから｡最終的に､もし､幾つかのMotion 行事が連続的に起ると､最後のものだけが束縛並びの合致の目的に使用される｡ 　 When a sequence specified in a bind command contains more than one event pattern, then its script is executed whenever the recent events (leading up to and including the current event) match the given sequence. This means, for example, that if button 1 is clicked repeatedly the sequence <Double-Button-1> will match each button press but the first. If extraneous events that would prevent a match occur in the middle of an event sequence then the extraneous events are ignored unless they are Key or Button events. For example, <Double-Button-1> will match a sequence of presses of button 1, even though there will be ButtonRelease events (and possibly Motion events) between the Button events. Furthermore, a Key event may be preceded by any number of other Key events for modifier keys without the modifier keys preventing a match. For example, the event sequence aB will match a press of the a key, a release of the a key, a press of the Shift key, and a press of the b key: the press of Shift is ignored because it is a modifier key. Finally, if several Motion events occur in a row, only the last one is used for purposes of matching binding sequences.

### 不都合 ERRORS

もし､束縛の為の記述譜の実行中に不都合が生じると､不都合の報告の為にbgerror 仕組みが使用される｡bgerror 命令は大域水準で実行される(どのTcl 手続函数の文脈の外側で)｡ If an error occurs in executing the script for a binding then the bgerror mechanism is used to report the error. The bgerror command will be executed at global level (outside the context of any Tcl procedure).

### 用例 EXAMPLES

マウスが二重軽叩される時に印刷されるマウスの動きを記述する文字列を手配する: Arrange for a string describing the motion of the mouse to be printed out when the mouse is double-clicked:

    bind . <Double-1> {
        puts "hi from (%x,%y)"
    }

最後に押された鍵盤表示を表示する短い画像対話道具: A little GUI that displays what the keysym name of the last key pressed is:

    set keysym "Press any key"
    pack [label .l -textvariable keysym -padx 2m -pady 1m]
    bind . <Key> {
        set keysym "You pressed %K"
    }

### SEE ALSO

bgerror, bindtags, event, focus, grab, keysyms

### KEYWORDS

binding, event
Copyright © 1990 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1998 Scriptics Corporation.