diff --git a/doc/apps.md b/doc/apps.md
index 17ff8834ce..434cfbddf9 100644
--- a/doc/apps.md
+++ b/doc/apps.md
@@ -132,7 +132,7 @@ TerminalClipboardWipe | | Reset clipboard.
TerminalSelectionMode | x | Set terminal text selection mode.
The `data=` attribute can have the following values `none`, `text`, `ansi`, `rich`, `html`, `protected`.
TerminalSelectionCopy | | Сopy selection to clipboard.
TerminalSelectionRect | x | Set linear(false) or rectangular(true) selection form using boolean value.
-TerminalSelectionClear | | Deselect a selection.
+TerminalSelectionCancel | | Deselect a selection.
TerminalSelectionOneShot | | One-shot toggle to copy text while mouse tracking is active. Keep selection if `Ctrl` key is pressed.
The `data=` attribute can have the following values `none`, `text`, `ansi`, `rich`, `html`, `protected`.
TerminalViewportCopy | | Сopy viewport to clipboard.
TerminalViewportPageUp | x | Scroll one page up.
@@ -196,7 +196,7 @@ TerminalQuit | |
TerminalRestart | | | Terminate runnning console apps and restart current session.
TerminalSwitchCopyMode | x | | Set terminal text selection mode. The argument can be the one of the following values 0:'none', 1:'text', 2:'ansi', 3:'rich', 4:'html', 5:'protected'.
TerminalSelectionCopy | | | Сopy selection to clipboard.
-TerminalSelectionClear | | `Esc` | Deselect a selection.
+TerminalSelectionCancel | | `Esc` | Deselect a selection.
TerminalSelectionOneShot | | | One-shot toggle to copy text while mouse tracking is active. Keep selection if `Ctrl` key is pressed.
The `data=` attribute can have the following values `none`, `text`, `ansi`, `rich`, `html`, `protected`.
#### Terminal configuration example
@@ -204,7 +204,7 @@ TerminalSelectionOneShot | |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/settings.md b/doc/settings.md
index 480003f8fa..f91a24a47c 100644
--- a/doc/settings.md
+++ b/doc/settings.md
@@ -287,6 +287,87 @@ The following configuration items produce the same final result:
```
+### Key bindings
+
+In vtm there are several levels of key combination processing. Each level has its own set of key bindings. Keys processed at the previous level usually do not get to the next level.
+
+Level | Config section | Description
+-----------------------|------------------------------|------------
+Native GUI window | `` | Native GUI window management key bindings.
+Desktop environment | `` | Taskbar and window management key bindings.
+Builtin terminal | `` | Terminal emulator specific key bindings.
+Application `app_name` | `` | Application specific key bindings.
+
+#### Syntax
+
+The syntax for defining key combination bindings is:
+
+```xml
+
+```
+
+Tag | Value
+---------|--------
+`key` | The text string containing the key combination.
+`action` | The action name.
+
+The required key combination sequence can be generated on the Info page, accessible by clicking on the label in the lower right corner of the vtm desktop.
+
+#### Interpretation
+
+Configuration record | Interpretation
+-------------------------------------------|-----------------
+`` | Append existing bindings using an indirect reference (the `NameOfAction` variable without quotes).
+`` | Append existing bindings with the directly specified command "NameOfAction".
+`` | Remove all existing bindings for the specified key combination "Key+Chord".
+`` | Suppress the key combination "Key+Chord".
+`` | Do nothing.
+
+### Available actions
+
+Action | Default key combination | Level | Description
+-------------------------------|--------------------------|---------------------|------------
+`IncreaseCellHeight` | `CapsLock+UpArrow` | Native GUI window | Increase the text cell height by one pixel.
+`DecreaseCellHeight` | `CapsLock+DownArrow` | Native GUI window | Decrease the text cell height by one pixel.
+`ResetCellHeight` | `Ctrl+Key0` | Native GUI window | Reset text cell height.
+`ToggleFullscreenMode` | `Alt+Enter` | Native GUI window | Toggle fullscreen mode.
+`ToggleAntialiasingMode` | `Ctrl+CapsLock` | Native GUI window | Toggle text antialiasing mode.
+`CloseGuiWindow` | `Home+End`, `End+Home` | Native GUI window | Close GUI window.
+`RollFontsForward` | `Ctrl+Shift+F11` | Native GUI window | Roll font list forward.
+`RollFontsBackward` | `Ctrl+Shift+F12` | Native GUI window | Roll font list backward.
+`FocusPrevWindow` | `Ctrl+PageUp` | Desktop environment | Switch focus to the next desktop window.
+`FocusNextWindow` | `Ctrl+PageDown` | Desktop environment | Switch focus to the previous desktop window.
+`Disconnect` | `Shift+F7` | Desktop environment | Disconnect from the desktop.
+`TryToQuit` | `F10` | Desktop environment | Shut down the desktop server if no applications are running.
+`TerminalFindNext` | `Alt+RightArrow` | Builtin terminal | Highlight next match of selected text fragment. Clipboard content is used if no active selection.
+`TerminalFindPrev` | `Alt+LeftArrow` | Builtin terminal | Highlight previous match of selected text fragment. Clipboard content is used if no active selection.
+`TerminalViewportOnePageUp` | `Shift+Ctrl+PageUp` | Builtin terminal | Scroll one page up.
+`TerminalViewportOnePageDown` | `Shift+Ctrl+PageDown` | Builtin terminal | Scroll one page down.
+`TerminalViewportOnePageLeft` | `Shift+Alt+LeftArrow` | Builtin terminal | Scroll one page to the left.
+`TerminalViewportOnePageRight` | `Shift+Alt+RightArrow` | Builtin terminal | Scroll one page to the right.
+`TerminalViewportOneCharUp` | `Shift+Ctrl+UpArrow` | Builtin terminal | Scroll one line up.
+`TerminalViewportOneCharDown` | `Shift+Ctrl+DownArrow` | Builtin terminal | Scroll one line down.
+`TerminalViewportOneCharLeft` | `Shift+Ctrl+LeftArrow` | Builtin terminal | Scroll one cell to the left.
+`TerminalViewportOneCharRight` | `Shift+Ctrl+RightArrow` | Builtin terminal | Scroll one cell to the right.
+`TerminalViewportTop` | `Shift+Ctrl+Home` | Builtin terminal | Scroll to the scrollback top.
+`TerminalViewportEnd` | `Shift+Ctrl+End` | Builtin terminal | Scroll to the scrollback bottom (reset viewport position).
+`TerminalViewportCopy` | | Builtin terminal | Сopy viewport to clipboard.
+`TerminalClipboardPaste` | | Builtin terminal | Paste from clipboard.
+`TerminalClipboardWipe` | | Builtin terminal | Reset clipboard.
+`TerminalUndo` | | Builtin terminal | (Win32 Cooked/ENABLE_LINE_INPUT mode only) Discard the last input.
+`TerminalRedo` | | Builtin terminal | (Win32 Cooked/ENABLE_LINE_INPUT mode only) Discard the last Undo command.
+`TerminalToggleCwdSync` | | Builtin terminal | Toggle the current working directory sync mode.
+`TerminalToggleWrapMode` | | Builtin terminal | Toggle terminal scrollback lines wrapping mode. Applied to the active selection if it is.
+`TerminalToggleSelectionMode` | | Builtin terminal | Toggle between linear and rectangular selection form.
+`TerminalToggleFullscreen` | | Builtin terminal | Toggle fullscreen mode.
+`TerminalToggleStdioLog` | | Builtin terminal | Stdin/stdout log toggle.
+`TerminalQuit` | | Builtin terminal | Terminate runnning console apps and close terminal.
+`TerminalRestart` | | Builtin terminal | Terminate runnning console apps and restart current session.
+`TerminalSwitchCopyMode` | | Builtin terminal | Switch terminal text selection copy mode.
+`TerminalSelectionCopy` | | Builtin terminal | Сopy selection to clipboard.
+`TerminalSelectionCancel` | `Esc` | Builtin terminal | Deselect a selection.
+`TerminalSelectionOneShot` | | Builtin terminal | One-shot toggle to copy text while mouse tracking is active. Keep selection if 'Ctrl' key is pressed.
+
### DirectVT configuration payload received from the parent process
The value of the `cfg` menu item attribute (or a whole `` subsection) will be passed to the child dtvt-aware application on launch.
@@ -349,6 +430,17 @@ Notes
+
+
+
+
+
+
+
+
+
+
+
@@ -470,10 +562,6 @@ Notes
-
-
-
-
@@ -489,7 +577,7 @@ Notes
@@ -558,14 +646,14 @@ Notes
-
-
-
+
+
+
-
+
@@ -574,10 +662,10 @@ Notes
-
-
-
-
+
+
+
+
@@ -627,7 +715,7 @@ Notes
@@ -691,6 +779,36 @@ Notes
close: Always close.
restart: Restart session.
retry: Restart session if exit code != 0. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+