Методы ввода предоставляют удобные способы ввода не-ASCII символов с клавиатуры. В отличие от кодировочных систем, которые преобразуют не-ASCII символы в кодировки, предназначенные для чтения программами, методы ввода предоставляют удобные для человека команды. (См. Методы ввода в Руководство GNU Emacs, для получения информации о том, как пользователи используют методы ввода для ввода текста.) О том, как определять методы ввода, еще не документировано в этом руководстве, но здесь мы описываем, как их использовать.
Каждый метод ввода имеет имя, которое в настоящее время является строкой; в будущем в качестве имен методов ввода также могут использоваться символы.
Эта переменная хранит имя метода ввода, активного в текущем буфере. (При
установке в любом виде она автоматически становится локальной в каждом буфере.)
Она равна nil, если в буфере в данный момент не активен метод
ввода.
Эта переменная хранит метод ввода по умолчанию для команд, которые
выбирают метод ввода. В отличие от current-input-method, эта
переменная обычно глобальна.
Эта команда активирует метод ввода input-method для
текущего буфера. Она также устанавливает default-input-method
в input-method. Если input-method равно
nil, эта команда деактивирует любой метод ввода для текущего
буфера.
Эта функция считывает имя метода ввода в минибуфере, запрашивая
prompt. Если default не равно nil,
то он возвращается по умолчанию, если пользователь вводит пустой ввод. Однако, если
inhibit-null не равно nil, пустой ввод сигнализирует
об ошибке.
Возвращаемое значение — это строка.
Эта переменная определяет все поддерживаемые методы ввода. Каждый элемент определяет один метод ввода и должен иметь следующий вид:
(input-method language-env activate-func title description args...)
Здесь input-method — это имя метода ввода, строка; language-env — это другая строка, имя языковой среды, для которой рекомендуется этот метод ввода. (Это служит только для целей документации.)
activate-func — это функция, вызываемая для активации этого метода. args, если они есть, передаются в качестве аргументов в activate-func. В общем, аргументы для activate-func это input-method и args.
title — это строка, отображаемая в строке состояния, пока этот метод активен. description — это строка, описывающая этот метод и для чего он подходит.
Основной интерфейс для методов ввода предоставляется через переменную
input-method-function. См. Чтение одного события
и Вызов метода ввода.