8.2. Клавиатура

Приложения CLIP имеют два драйвера клавиатуры: ANSI-mode и scan-mode.

В ANSI-mode от терминала принимаются ansi-коды клавиш, и два модификатора - Ctrl-J, Ctrl-K используются для расширенных возможностей.

Модификатор изменяет код следующей нажатой клавиши для приложения CLIP. Например: нажатие клавиши 1 дает код 49, нажатие Ctrl-J,1 дает код 376, нажатие Ctrl-K,1 также дает код 376. Модификатор Ctrl-J работает как клавиша ALT, а модификатор Ctrl-K - как CTRL, но не для всех клавиш.

Более продвинутый режим клавиатуры - scan-mode. В этом режиме терминал передает скан-коды нажимаемых и отпускаемых клавиш. Доступны все комбинации клавиш, при условии корректного описания keymap. Имеется даже возможность ввода клавиш с использованием "Alt+код_клавиши_на_цифровой_клавиатуре"! В этом случае используется описание консольной раскладки (/usr/share/keymaps/*).

Для того чтобы приложения CLIP могли использовать scan-mode необходимо сгенерировать описатель клавиатуры для нужного keymap при помощи утилиты $CLIPROOT/keymaps/genmap.sh; поместить этот описатель в $CLIPROOT/keymaps и прописать CLIP_KEYMAP в файле-описателе используемого терминала в директории $CLIPROOT/term (см. выше о терминалах).

В качестве терминала с возможностью работы в scan-mode можно использовать эмулятор терминала linux-console или наш эмулятор STelnel (скачать можно на ftp://ftp.itk.ru/pub/telnet).

Для использования возможностей "продвинутого" терминала запускайте stelnet примерно следующим образом:

stelnet -s -t linux-stelnet host_name

и запускайте приложение CLIP таким образом:

export TERM=linux-stelnet
my_clip_app
export TERM=linux