Spec-Zone.ru › Elisp

Способы ввода

Способы ввода предоставляют удобные способы ввода символов, не являющихся 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

Spec-Zone.ru

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