Эта функция устанавливает режим считывания клавиатурного ввода. Если
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.
Эта функция возвращает текущий режим считывания клавиатурного ввода. Она
возвращает список, соответствующий аргументам set-input-mode, в форме
(interrupt flow meta quit),
в котором:
не равен nil, когда Emacs использует ввод, управляемый прерываниями.
Если nil, Emacs использует режим CBREAK.
не равен nil, если Emacs использует управление потоком XON/XOFF
(C-q, C-s) для вывода в терминал. Это значение имеет смысл только
когда interrupt равен nil.
равен t, если Emacs рассматривает восьмой бит символов ввода как
бит Meta перед декодированием ввода; encoded, если Emacs рассматривает
восьмой бит декодированных однобайтовых символов как бит Meta; nil, если
Emacs обнуляет восьмой бит каждого символа ввода; любое другое значение означает, что Emacs
использует все восемь бит в качестве базового кода символа.
это символ, который Emacs в настоящее время использует для выхода, обычно C-g.