<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kikbd "<application>kikbd</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="ru">
<bookinfo>
<title>Описание национальной клавиатуры</title>
<authorgroup>
<author>
<firstname>Александр</firstname>
<surname>Будник</surname>
<affiliation>
<address><email><ulink url="mailto:budnik@linserv.jinr.ru">budnik@linserv.jinr.ru</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>Oct 23 1998</date>
<releaseinfo>v1.0b1</releaseinfo>
<abstract>
<para>Данное описание соответствует версии 1.0b1</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>multilanguage</keyword>
<keyword>X11</keyword>
</keywordset>
</bookinfo>

<chapter id="vstuplenie">
<title>Вступление</title>

<para>KiKbd предназначено для национализации клавиатуры в среде KDE/Xwindow.</para>

<para>KiKbd не использует XKB, она использует динамически сменяемый xmodmap.
Это значит что в одно и тоже время можно иметь под рукой множество разных
раскладок.</para>

<para>В дополнение KiKbd может делать полезную работу - например назначать
для каждого окошка или приложения свою раскладку
(используя стиль ввода <emphasis remap="it">Окно</emphasis> или <emphasis remap="it">Класс</emphasis>).</para>
</chapter>

<chapter id="ustanovka">
<title>Установка</title>

<para>Установка проводиться как обычно :-)
<programlisting>     % ./configure
     % make
     % make install
  </programlisting>

Для успешной установки необходим KDE 1.0. 
<note remap="comment"><para>Начиная с KDE1.1 KiKbd включено в <emphasis remap="it">kdebase</emphasis>.</para></note></para>
</chapter>

<chapter id="natsionalnaia-klaviatura">
<title>Национальная клавиатура</title>

<para>Для каждой национальной клавиатуры KiKbd запоминает соответствие
клавиши клавиатуры двум, трем или четырем символам.
Например в русском клавише 'Q' соответствует символы 'й', 'Й', 'q', 'Q'.
Первые два символа называются национальными, последние два - альтернативными.
Для набора альтернативных символов в конфигурации надо назначить
специальный <emphasis remap="it">Альтернативный переключатель</emphasis>. Смотрите
<link linkend="config">Персональная конфигурация</link>.</para>

<para>Первый символ 'й' вы получите при обычном нажатии, второй 'Й' при нажатом
Shift, третий 'q' при нажатом  <emphasis remap="it">Альтернативном переключателе</emphasis> и
четвертый 'Q' при нажатых Shift и <emphasis remap="it">Альтернативном переключателе</emphasis>.</para>

<para>Во время написания этого документа в дистрибутиве KiKbd уже находилось
более двадцати готовых клавиатур.</para>

<para>Если нужная вам клавиатура отсутствует, смотрите 
<link linkend="create">Создание новой клавиатуры</link>.</para>
</chapter>

<chapter id="config">
<title>Персональная конфигурация</title>

<para>Персональная конфигурация включает все необходимые установки KiKbd.
Для изменения конфигурации необходимо пользоваться программой kcmikbd.
Когда вы запускаете KiKbd в первый раз, вы получите копию системной
конфигурации.</para>

<sect1 id="glavnoe">
<title>Главное</title>

<para><graphic fileref="general.png"></graphic></para>

<sect2 id="raskladki">
<title>Раскладки</title>

<para>Используя кнопки <emphasis remap="it">Добавить</emphasis> и <emphasis remap="it">Удалить</emphasis> вы можете
создать список необходимых вам раскладок. Верхняя раскладка в
списке станет основной при старте KiKbd.</para>

<para>Если вы используете более двух раскладок (например английскую,
русскую КОИ8 и русскую 1251), очень удобно включить
<emphasis remap="it">Использование горячего списка</emphasis>.
В этом случае с клавиатуры будут переключаться только две раскладки -
основная и дополнительная активная. Поменять дополнительную активную
можно из меню KiKbd. Если же еще включить стиль ввода <emphasis remap="it">Окно</emphasis>
или <emphasis remap="it">Класс</emphasis> то вы с успехом можете набирать КОИ8 в одном
окне и 1251 в другом.</para>
</sect2>

<sect2 id="perekliuchatel-i-alternativnyi-perekliuchate">
<title>Переключатель и Альтернативный переключатель</title>

<para>Для переключения раскладок с клавиатуры вы можете назначить
комбинации клавиш из списка. Так же можно назначить альтернативный
переключатель для набора альтернативных символов.</para>
</sect2>

<sect2 id="signal">
<title>Сигнал</title>

<para>Если включить режим сигнала вы будете информированы о любом переключении
раскладок.</para>
</sect2>
</sect1>

<sect1 id="advanced">
<title>Специальное</title>

<para><graphic fileref="advanced.png"></graphic></para>

<sect2 id="globalnoe-meniu">
<title>Глобальное меню</title>

<para>Если включить эту опцию, вы легко можете активировать меню KiKbd
в любом месте экрана удерживая какое-то время клавиши
выбранного переключателя.</para>
</sect2>

<sect2 id="emulirovat-caps-lock">
<title>Эмулировать Caps Lock</title>

<para>Для некоторых раскладок (как например для русской) есть проблемы
с Caps Lock. KiKbd может решить эту проблему эмулируя Caps Lock.
В этом случае статус Сaps Lock будет отображаться не лампочками
клавиатуры а цветом фона кнопки KiKbd.</para>
</sect2>

<sect2 id="vvod">
<title>Ввод</title>

<para>Вы можете выбрать:</para>

<para><itemizedlist>
<listitem>
<para>Глобально - "обычное" поведение, раскладка активируется для всех
окошек.</para>
</listitem>
<listitem>
<para>Окно - "расширенное" поведение, каждое окошко помнит свою активную
раскладку</para>
</listitem>
<listitem>
<para>Класс - "специальное" поведение, каждому классу окошек назначается
своя активная раскладка. Вы можете печатать по русски в окошке
редактора и набирать команды shell не заботясь о переключении
раскладок. Причем в каждом вновь открытом окне редактора русский
будет включен автоматически.</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="sokhraniat-klassy">
<title>Сохранять Классы</title>

<para>Если вы выбрали стиль ввода <emphasis remap="it">Окно</emphasis> то вы можете сохранять
текущее соответствие раскладок оконным классам при окончании работы
и восстанавливать это соответствие в следующей сессии.</para>
</sect2>
</sect1>

<sect1 id="stil">
<title>Стиль</title>

<para>Вы можете назначить фонт и установить три цвета:</para>

<para><graphic fileref="style.png"></graphic></para>

<sect2 id="perednii-plan">
<title>Передний план</title>

<para>Это текст надписи на кнопке KiKbd.</para>
</sect2>

<sect2 id="vmeste-s-caps-lock">
<title>Вместе с Caps Lock</title>

<para>Этот цвет фона будет обозначать включенный Caps Lock если
включен режим эмуляции Caps Lock.</para>
</sect2>

<sect2 id="vmeste-s-alternativnym">
<title>Вместе с Альтернативным</title>

<para>Этот цвет фона будет обозначать нажатый Альтернативный переключатель.</para>
</sect2>

<sect2 id="vybrat-svoi-font">
<title>Выбрать свой Фонт</title>

<para>Можно выбрать специальный фонт для KiKbd или использовать основные
установки KDE.</para>
</sect2>
</sect1>

<sect1 id="zapusk">
<title>Запуск</title>

<para><graphic fileref="startup.png"></graphic></para>

<sect2 id="avtostart">
<title>Автостарт</title>

<para>При включенной этой опции KiKbd будет запускаться автоматически
в начале каждой сессии KDE.</para>
</sect2>

<sect2 id="docked">
<title>Docked</title>

<para>При включенной этой опции KiKbd будет "упрятан" в специальной области
kpanel.</para>
</sect2>

<sect2 id="mesto">
<title>Место</title>

<para>Если вам не нравиться "docked" KiKbd или вы не пользуетесь kpanel,
KiKbd может разместиться в одном из четырех углов экрана.</para>
</sect2>
</sect1>
</chapter>

<chapter id="create">
<title>Создание новой раскладки</title>

<para>Все системные раскладки находятся в директории
<emphasis remap="it">$KDEDIR/share/apps/kikbd</emphasis>
и персональные в
<emphasis remap="it">$HOME/.kde/share/apps/kikbd</emphasis>.
Индивидуальность раскладки определяется именем файла без расширения
<emphasis remap="it">.kimap</emphasis>. Файл в персональной директории скрывает файл с
таким же именем в системной директории.</para>

<para>Для создания новой раскладки стоит взять за основу одну из существующих
раскладок. Файл раскладки содержит два раздела:</para>

<para><orderedlist><listitem>
<para><emphasis remap="bf">International Keyboard</emphasis>
В этой секции можно определить следующее:
<itemizedlist>
<listitem>
<para>Authors - список авторов
в формате "имя фамилия &lt; email адрес&gt;",
авторы в списке разделяются запятыми;</para>
</listitem>
<listitem>
<para>Comment** - дополнительный комментарий;</para>
</listitem>
<listitem>
<para>Language** - язык для которого предназначена эта раскладка;</para>
</listitem>
<listitem>
<para>Charset - charset;</para>
</listitem>
<listitem>
<para>Locale - локализация для которой предназначена эта раскладка;</para>
</listitem>
<listitem>
<para>Label* - метка этой раскладки.</para>
</listitem>
</itemizedlist>

* - необходимо
** - может быть представлено в переводе на другие языки
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">KeyboardMap</emphasis>
Эта секция описывает соответствие между основными символами клавиатуры и
двумя, тремя или четырьмя новыми символами по форме:
<programlisting>    keysym&lt;num&gt; = &lt;default sym&gt;,&lt;sym1&gt;,&lt;sym2&gt;,&lt;sym3&gt;,&lt;sym4&gt;,
  </programlisting>

и соответсвие кодов символам:
<programlisting>    keycode&lt;num&gt; = &lt;key code&gt;,&lt;sym1&gt;,&lt;sym2&gt;,&lt;sym3&gt;,&lt;sym4&gt;,
  </programlisting>


Где <emphasis remap="it">num</emphasis> означает любое уникальное число, <emphasis remap="it">sym</emphasis> означает
символ в форме шестнадцатиричного числа или форме которую понимает X,
<emphasis remap="it">key code</emphasis> означает десятичное число, <emphasis remap="it">default sym</emphasis>
означает основной символ или символ до запуска KiKbd.
Символа <emphasis remap="it">sym1, sym2</emphasis> определяют <emphasis remap="it">национальные</emphasis> 
символы
и <emphasis remap="it">sym3, sym4</emphasis> определяют <emphasis remap="it">альтернативные</emphasis> символы.
При описании раскладки предпочтительно использовать описание 
<emphasis remap="it">keysym</emphasis>.</para> 

<para>В дополнение в этой секции можно описать <emphasis remap="it">CapsSymbols</emphasis>
как список символов разделенных запятой используемых при эмуляции Caps Lock.</para>
</listitem>
</orderedlist>
</para>

<para>После создания и тестирования новой раскладки можно отправить ее
команде разработчиков KDE или напрямую автору.</para>
</chapter>

<chapter id="problemy">
<title>Проблемы</title>

<sect1 id="ne-naiden-simvol">
<title>Не найден символ</title>

<para>Такое может случиться если ваш Xserver имеет не латинский или 
какой необычный набор символов.
Начиная с версии 1.0b1 вы можете пред определить символы при старте
KiKbd в <link linkend="advanced">секции Специальное конфигурации</link>,
это исправит проблему.</para>
</sect1>

<sect1 id="khraniteli-ekrana">
<title>Хранители экрана</title>

<para>Может возникнуть проблема набрать пароль латинскими буквами в приглашении
хранителя экрана (screen saver) если перед его запуском была включена
не латинская раскладка.</para>

<para>Первое решение состоит в использовании хранителей экрана из поставки KDE
и установки английской раскладки в качестве основной. В этом случае
KiKbd распознает появление окна хранителя экрана и автоматически
переключиться на основную раскладку.</para>

<para>Если вы используете стиль ввода <emphasis remap="it">Окно</emphasis> или <emphasis remap="it">Класс</emphasis>
KiKbd назначит основную раскладку любому новому окну в том числе
и окну хранителей экрана не из поставки KDE.</para>

<para>Другое решение - это использование раскладок с латинскими символами
в качестве альтернативных (русские раскладки из поставки KiKbd содержат
латинские символы в качестве альтернативных). Пароль можно набрать
при нажатом альтернативном переключателе.</para>
</sect1>

<sect1 id="bugs">
<title>Bugs</title>

<para>Рапорты по обнаруженным bugs принимаются на
<ulink url="http://buglist.kde.org">http://buglist.kde.org</ulink></para>
</sect1>
</chapter>

<chapter id="avtor">
<title>Автор</title>

<para>Интернациональная клавиатура написана 
<ulink url="mailto:budnik@linserv.jinr.ru">Александром Будник</ulink></para>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->