| Event | Type | Navigation | Text | Selection | Focus | Undo Stack | Other | Description | Conditions | Windowing System Specific | 
| <Key> | Keyboard |  | Y | DSEC |  | if DSEC x2 (c) |  | DSEC, then insert the keypress character | widget is not disabled and key is one that inserts text |  | 
| <Key-BackSpace> | Keyboard |  | Y | DSE |  |  |  | DSE, else delete prev char |  |  | 
| <Key-Delete> | Keyboard |  | Y | DSE |  |  |  | DSE, else delete next char |  |  | 
| <Key-Return> | Keyboard |  | Y | DSEC |  | if DSEC x2 (c), else (a) |  | DSEC, then insert newline, add autoseparator | widget is not disabled |  | 
| <Key-Tab> | Keyboard |  | Y | DSEC | take@ | if DSEC x2 (c) | break to prevent the binding tag "all" from changing the focus | DSEC and insert tab, then take focus, then break | widget is not disabled |  | 
| <Shift-Key-Tab> | Keyboard |  |  |  |  |  | break to prevent the binding tag "all" from changing the focus | no action except break; blocks <Key-Tab> 
 note that
your "Shift Tab" key probably has a different name and is not covered
by this binding but by <<PrevWindow>>: see Tables 5, 6
below.
 |  |  | 
| <Control-Key-Tab> | Keyboard |  |  |  | move |  |  | move focus to another widget |  | intercepted by KDE | 
| <Control-Shift-Key-Tab> | Keyboard |  |  |  | move |  |  | move focus to another widget |  | intercepted by KDE | 
| <Control-Key> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  |  | 
| <Alt-Key> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  |  | 
| <Meta-Key> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  |  | 
| <Command-KeyPress> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  | Aqua only | 
| <Key-Escape> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  |  | 
| <Key-KP_Enter> | Keyboard |  |  |  |  |  |  | no action; blocks <Key> |  |  | 
| <Key-Insert> | Keyboard |  | Y | DSEC |  | if DSEC x2 (c) |  | DSEC, then insert selected text (use with <Control-1>) | widget is not disabled and selection is not empty |  | 
| <Meta-Key-b> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to previous word-start
 | NSM |  | 
| <Meta-Key-d> | Keyboard |  | Y | ignore sel |  |  |  | delete to next word-start | NSM |  | 
| <Meta-Key-f> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to next word-start
 | NSM |  | 
| <Meta-Key-less> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to top (1.0)
 | NSM |  | 
| <Meta-Key-greater> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to bottom (end-1c)
 | NSM |  | 
| <Meta-Key-BackSpace> | Keyboard |  | Y | ignore sel |  |  |  | delete to previous word-start | NSM |  | 
| <Meta-Key-Delete> | Keyboard |  | Y | ignore sel |  |  |  | delete to previous word-start | NSM |  | 
| <Control-Key-a> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to display line start
 | NSM |  | 
| <Control-Key-b> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move -1 char
 | NSM |  | 
| <Control-Key-d> | Keyboard |  | Y | ignore sel |  |  |  | delete next char | NSM |  | 
| <Control-Key-e> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to display line end
 | NSM |  | 
| <Control-Key-f> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move +1 char
 | NSM |  | 
| <Control-Key-h> | Keyboard |  | Y | ignore sel |  |  |  | Backspace: delete previous char | NSM, and insert mark not at 1.0 |  | 
| <Control-Key-i> | Keyboard |  | Y | DSEC |  | if DSEC x2 (c) |  | DSEC, then insert tab char | widget is not disabled |  | 
| <Control-Key-k> | Keyboard |  | Y | ignore sel |  |  |  | if at EOL, delete EOL; else delete to EOL | NSM |  | 
| <Control-Key-n> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to next line
 | NSM |  | 
| <Control-Key-o> | Keyboard |  | Y | ignore sel |  |  |  | insert newline after insert mark | NSM |  | 
| <Control-Key-p> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation; move to previous line
 | NSM |  | 
| <Control-Key-t> | Keyboard |  | Y | ignore sel |  | x2 (c) |  | swap chars each side of insert cursor; move cursor +1 char | NSM, and insert mark not at 1.0 |  | 
| <Control-Key-backslash> | Keyboard |  |  | cancel sel |  |  |  | Clear Selection |  |  | 
| <Control-Key-slash> | Keyboard |  |  | change sel |  |  |  | Select All |  |  | 
| <Shift-Key-Select> | Keyboard |  |  | change sel |  |  |  | select from anchor to insert |  |  | 
| <Control-Shift-Key-space> | Keyboard |  |  | change sel |  |  |  | select from anchor to insert |  |  | 
| <Key-Select> | Keyboard |  |  | ignore sel; set anchor |  |  |  | set selection anchor |  |  | 
| <Control-Key-space> | Keyboard |  |  | ignore sel; set anchor |  |  |  | set selection anchor |  |  | 
|  |  |  |  |  |  |  |  | Navigation Events |  |  | 
| <Key-Left> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Key-Right> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Key-Up> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Key-Down> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Left> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Right> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Up> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Down> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Key-Left> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Key-Right> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Key-Up> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Key-Down> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-Left> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-Right> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-Up> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-Down> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Key-Home> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Key-End> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Key-Home> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Control-Key-End> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Home> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Shift-Key-End> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-Home> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Shift-Key-End> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Key-Next> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Key-Prior> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Next> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Shift-Key-Prior> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  |  | 
| <Control-Key-Next> | Keyboard |  |  |  |  |  | horizontal scrolling | No navigation (insert cursor is unchanged) |  |  | 
| <Control-Key-Prior> | Keyboard |  |  |  |  |  | horizontal scrolling | No navigation (insert cursor is unchanged) |  |  | 
| <Option-Left> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Option-Right> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Option-Up> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Option-Down> | Keyboard | Y |  | cancel sel |  | (b) |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Shift-Option-Left> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Shift-Option-Right> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Shift-Option-Up> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Shift-Option-Down> | Keyboard | Y |  | change sel |  |  |  | Std Kbd Navigation |  | Aqua Only (Option Key) | 
| <Control-v> | Keyboard |  |  |  |  |  | vertical scrolling | No navigation (insert cursor is unchanged) |  | Aqua Only | 
|  |  |  |  |  |  |  |  |  |  | 
| <<Undo>> | Keyboard | Y | Y | ignore sel |  | move item to redo stack |  | Undo changes back to previous separator | undo activated for the widget |  | 
| <<Redo>> | Keyboard | Y | Y | ignore sel |  | move item from redo stack |  | Redo "undone" changes up to the next separator | undo activated for the widget |  | 
| <<Cut>> | Keyboard |  | Y | cancel sel |  |  | change clipboard | Move text from selection to clipboard | selection not empty |  | 
| <<Copy>> | Keyboard |  |  | ignore sel |  |  | change clipboard | Copy text from selection to clipboard | selection not empty |  | 
| <<Paste>> | Keyboard |  | Y | ignore sel (x11), DSE (other) |  | x2 (c) |  | Delete selection (except on x11), then copy text from clipboard to insert mark | clipboard not empty |  | 
| <<Clear>> | Keyboard |  | Y | DSE |  |  |  | delete selected text |  | Aqua Only* | 
| <<PasteSelection>> | Mouse | Y | Y | ignore sel | take | x2 (c) |  | Mapped to <ButtonRelease-2>. If "strict Motif", or if the
mouse pointer has not moved since <Button-2>, then navigate,
paste selection, and if widget not disabled take focus.
 If "not
strict Motif" ("NSM"), and if the mouse has moved since
<Button-2>, then nothing is done, and instead <B2-Motion>
implements ScanDrag.
 | (N.B. precise action depends on NSM) |  | 
| <Button-1> | Mouse | Y |  | cancel sel | take | (b) |  | navigate; if widget not disabled or if platform is windows, take focus |  |  | 
| <ButtonRelease-1> | Mouse |  |  |  |  |  | See "Description" | See <B1-Leave> |  |  | 
| <B1-Motion> | Mouse | Y |  | change sel |  |  |  |  |  |  | 
| <Shift-Button-1> | Mouse | Y |  | change sel |  |  |  |  |  |  | 
| <Control-Button-1> | Mouse | Y |  | ignore sel |  |  |  |  |  |  | 
| <B1-Enter> | Mouse |  |  |  |  |  | See "Description" | See <B1-Leave> |  |  | 
| <B1-Leave> | Mouse |  |  |  |  |  | See "Description" | Start monitoring the mouse coordinates in order to update the
selection range and scroll view of the widget. Do not stop until either
<B1-Enter> or <ButtonRelease-1>. |  |  | 
| <Double-Button-1> | Mouse | Y |  | change sel |  |  |  | preceded by <Button-1> |  |  | 
| <Double-Shift-Button-1> | Mouse |  |  | change sel |  |  |  | preceded by <Shift-Button-1> |  |  | 
| <Triple-Button-1> | Mouse | Y |  | change sel |  |  |  | preceded by <Button-1>, <Double-Button-1> |  |  | 
| <Triple-Shift-Button-1> | Mouse |  |  | change sel |  |  |  | preceded by <Shift-Button-1>, <Double-Shift-Button-1> |  |  | 
| <Button-2> | Mouse |  |  | ignore sel |  |  | See "Description" | Initialization for <ButtonRelease-2> and possible <B2-Motion> events | NSM |  | 
| <B2-Motion> | Mouse |  |  | ignore sel |  |  | ScanDrag scrolling | No navigation (insert cursor is unchanged) | NSM |  | 
|  |  |  |  |  |  |  |  |  |  | 
| <Button-4> | Mouse |  |  |  |  |  | vertical scrolling |  | NSM | X11 only - for Mouse Wheel | 
| <Button-5> | Mouse |  |  |  |  |  | vertical scrolling |  | NSM | X11 only - for Mouse Wheel | 
| <MouseWheel> | Mouse |  |  |  |  |  | vertical scrolling |  |  | Not Aqua | 
| <MouseWheel> | Mouse |  |  |  |  |  | vertical scrolling |  |  | Aqua Only | 
| <Option-MouseWheel> | Mouse |  |  |  |  |  | vertical scrolling |  |  | Aqua Only (Option Key) | 
| <Shift-MouseWheel> | Mouse |  |  |  |  |  | horizontal scrolling |  |  | Aqua Only | 
| <Shift-Option-MouseWheel> | Mouse |  |  |  |  |  | horizontal scrolling |  |  | Aqua Only (Option Key) |