Способы ввода
Способы ввода предоставляют удобные способы ввода символов, не являющихся ASCII, с клавиатуры. В отличие от кодировочных систем, которые переводят символы, не являющиеся ASCII, в кодировки, предназначенные для чтения программами, способы ввода предоставляют удобные для человека команды. (См. Способы ввода в Справочнике GNU Emacs для получения информации о том, как пользователи используют способы ввода для ввода текста.) Как определять способы ввода, в данном руководстве пока не документировано, но здесь мы описываем, как ими пользоваться.
Каждый способ ввода имеет имя, которое в настоящее время является строкой; в будущем в качестве имён способов ввода также могут использоваться символы.
- Переменная: current-input-method
Эта переменная хранит имя способа ввода, который сейчас активен в текущем буфере. (Она автоматически становится локальной в каждом буфере при установке любым способом.) Она равна
nilесли в данный момент в буфере нет активного способа ввода.
- Настройка пользователя: default-input-method
Эта переменная хранит способ ввода по умолчанию для команд, выбирающих способ ввода. В отличие от
current-input-method, эта переменная обычно глобальна.
- Команда: set-input-method input-method
Эта команда активирует способ ввода input-method для текущего буфера. Она также устанавливает
default-input-methodв input-method. Если input-method равноnil, эта команда деактивирует любой способ ввода для текущего буфера.
- Функция: read-input-method-name prompt &optional default inhibit-null
-
Эта функция считывает имя способа ввода с помощью минибуфера, запрашивая prompt. Если default не равно
nil, она возвращает его по умолчанию, если пользователь вводит пустую строку. Однако, если inhibit-null не равноnil, пустой ввод сигнализирует об ошибке.Возвращаемое значение — строка.
- Переменная: input-method-alist
-
Эта переменная определяет все поддерживаемые способы ввода. Каждый элемент определяет один способ ввода и должен иметь следующий вид:
(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. См. Чтение одного события и Вызов способа ввода.
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-Methods.html