Spec-Zone.ru › Elisp

Режимы ввода

Функция: set-input-mode interrupt flow meta &optional quit-char

Эта функция устанавливает режим чтения ввода с клавиатуры. Если interrupt не nil, то Emacs использует прерывания ввода. Если это nil, то он использует режим CBREAK. Значение по умолчанию зависит от системы. Некоторые системы всегда используют режим CBREAK, независимо от заданного значения.

Когда Emacs взаимодействует напрямую с X, он игнорирует этот аргумент и использует прерывания, если это способ его взаимодействия.

Если flow не nil, то Emacs использует управление потоком XON/XOFF (C-q, C-s) для вывода на терминал. Это не имеет эффекта, кроме как в режиме CBREAK.

Аргумент meta управляет поддержкой кодов символов ввода, превышающих 127. Если meta t, Emacs преобразует символы с установленным 8-м битом в символы Meta, прежде чем декодировать их по необходимости (см. Кодирование ввода-вывода терминала). Если meta nil, Emacs игнорирует 8-й бит; это необходимо, когда терминал использует его как бит чётности. Если meta символ encoded, Emacs сначала декодирует символы, используя все 8 битов каждого байта, а затем преобразует декодированные однобайтовые символы в символы Meta, если у них установлен восьмой бит. Наконец, если meta ни t, ни nil, ни encoded, Emacs использует все 8 битов ввода без изменений, как до, так и после декодирования. Это хорошо для терминалов, использующих 8-битные наборы символов и не кодирующие модификатор Meta как восьмой бит.

Если quit-char не nil, он задаёт символ для выхода. Обычно это символ C-g. См. Выход.

Функция current-input-mode возвращает настройки режима ввода, которые в настоящее время использует Emacs.

Функция: current-input-mode

Эта функция возвращает текущий режим чтения ввода с клавиатуры. Она возвращает список, соответствующий аргументам set-input-mode, вида (interrupt flow meta quit), в котором:

interrupt

не nil, когда Emacs использует прерывания ввода. Если nil, Emacs использует режим CBREAK.

flow

не nil, если Emacs использует управление потоком XON/XOFF (C-q, C-s) для вывода на терминал. Это значение имеет смысл только когда interrupt nil.

meta

равно t, если Emacs обрабатывает восьмой бит входных символов как бит Meta перед декодированием ввода; encoded, если Emacs обрабатывает восьмой бит декодированных однобайтовых символов как бит Meta; nil, если Emacs очищает восьмой бит каждого входного символа; любое другое значение означает, что Emacs использует все восемь битов как код основного символа.

quit

это символ, который Emacs в настоящее время использует для выхода, обычно C-g.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Input-Modes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API