# SessionConfig `SessionConfig` — структура параметров, определяющая режимы работы ncurses-сессии при создании `Session`. ```d struct SessionConfig { InputMode mode = InputMode.raw; Cursor cursor = Cursor.normal; Echo echo = Echo.on; Keypad keypad = Keypad.on; int escDelay = 50; } ``` --- ## Параметры ### mode: InputMode Режим обработки ввода терминалом. Значения: * `InputMode.raw` — посимвольный ввод с минимальной обработкой терминалом. * `InputMode.cbreak` — посимвольный ввод с сохранением части tty-обработки. * `InputMode.cooked` — канонический построчный ввод (ввод доступен после Enter). Значение по умолчанию: `InputMode.raw`. --- ### cursor: Cursor Режим видимости/типа курсора. Значения: * `Cursor.hidden` — курсор скрыт. * `Cursor.normal` — обычный курсор. * `Cursor.high` — курсор повышенной заметности (поддержка зависит от терминала). Значение по умолчанию: `Cursor.normal`. --- ### echo: Echo Режим эхо ввода (отображение вводимых символов терминалом). Значения: * `Echo.on` — вводимые символы отображаются. * `Echo.off` — вводимые символы не отображаются. Значение по умолчанию: `Echo.on`. --- ### keypad: Keypad Режим обработки специальных клавиш (преобразование в коды `KEY_*`). Значения: * `Keypad.on` — специальные клавиши возвращаются как `KEY_*` (стрелки, Home/End, PgUp/PgDn, F1..F12 и т.п.). * `Keypad.off` — специальные клавиши могут возвращаться как escape-последовательности. Значение по умолчанию: `Keypad.on`. --- ### escDelay: int Задержка распознавания одиночного `Esc` и escape-последовательностей. Единицы измерения: миллисекунды. Значение по умолчанию: `50`.