# Налаштування інфрачервоних пультів керування у KDE

Frank
Scheffold

    fscheffold@googlemail.com

Michael
Zanetti

    michael_zanetti@gmx.net

Gav
Wood

    gav@kde.org

Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
2010-01-06
2.0
2004
Gav Wood
2010
Frank Scheffold
Michael Zanetti

Налаштування &kdelirc;: інфраструктура функціональних можливостей &kde; з роботи з пристроями інфрачервоного керування.

KDE
irkick
kdelirc
kcmlirc
lirc

## Вступ

### Вимоги

Щоб скористатися оболонкою &kdelirc;, вам слід налаштувати систему LIRC. Якщо систему налаштовано належним чином, піктограма &kdelirc; у системному лотку набуде червоного кольору . Якщо ж це не так, піктограма буде сірою і перекресленою .

Щоб дізнатися більше про LIRC та способи налаштування, відвідайте сайт програми за адресою http://www.lirc.org.

Зауваження: під час налаштування LIRC рекомендуємо вам використовувати простори назв кнопок.

## Використання

Передбачено три вкладки, поділених на розділи налаштування та додаткових відомостей. Першу вкладку з назвою Функції контролера призначено для налаштування режимів та дій для всіх можливих пультів керування. На вкладці Огляд профілів буде наведено параметри доступних профілів. На вкладці Можливі пристрої буде показано відомості щодо ваших пультів віддаленого керування. Вибір пункту пульта призведе до показу огляду призначення його кнопок.

### Функції контролера

#### Пульти керування і режими

Кожен з пультів дистанційного керування може працювати у декількох режимах. Використання декількох режимів надає змогу виконувати за допомогою натискання однієї кнопки різних дій у різних обставинах. Непоганим прикладом є пульти дистанційного керування ТБ/Відео/Супутникового тюнера/DVD — замість використання різних пультів для виконання різних завдань, ви можете змінити поведінку одного пульта так, щоб за його допомогою можна було виконувати різні завдання у різних програмах: достатньо лише створити різні записи режимів, а потім перемикатися між цими режимами.

Дії, визначені безпосередньо для пульта віддаленого керування, виконуються завжди, незалежно від того, у якому режимі працює пульт. Дії, визначені для режиму, буде виконано, лише якщо пульт працює у відповідному режимі. Кожен з пультів керування може одночасно перебувати лише у одному режимі. Крім того, пульт може перебувати у стані без визначеного режиму, коли у відповідь на натискання кнопок буде виконано лише загальні для пульту дані. Ви також можете визначити типовий режим, тобто режим, у якому пульт працюватиме одразу після запуску програми.

У списку, наведеному ліворуч, ви побачите всі пристрої дистанційного керування, виявлені у вашій системі. Ви зможете додати або вилучити режим вибором назви бажаного пристрою зі списку з наступним натисканням кнопок, розташованих під списком. За допомогою кнопки редагування ви зможете змінювати створені раніше записи режимів

#### Призначення дій до кнопок

У &kdelirc; передбачено два різних типи дій: перемикання режимів та дії, які буде виконано. За допомогою перемикань режимів можна змінювати режими, у яких працює пульт, а за допомогою звичайних дій — виконувати команди &DBus;. Під час визначення нової дії ви можете скористатися одним з варіантів: використати шаблон дії або вручну визначити всі можливі параметри. Шаблони дій називаються профілями. Хоча використання профілів для створення записів дій простіше і зрозуміліше пересічному користувачеві, за допомогою профілів ви не зможете отримати доступ до всіх можливих функціональних можливостей дій. Складні дії краще визначати налаштуванням функцій та їх параметрів вручну.

Щоб додати запис дії, натисніть кнопку Додати..., розташовану внизу праворуч. Програма відкриє вікно майстра, у якому запитає вас щодо типу дії, запис якої слід створити. За допомогою першого варіанта можна створити дію на основі профілю. За допомогою другого варіанта — ви зможете створити запис дії вручну. Не забудьте, що під час налаштування запису дії має бути запущено програму, дію у якій ви бажаєте налаштувати, інакше ви не побачите відповідного пункту у списку доступних програм. Якщо ви виберете третій варіант, ви зможете створити запис дії з перемикання режимів. Виберіть бажаний тип дії та виконуйте настанови майстра.

Поля запису дії може бути заповнено у автоматичному режимі за допомогою кнопки Автозаповнення.... Це означає, що &kdelirc; може спробувати встановити відповідність кнопок діям у автоматичному режимі. У діалоговому вікні автоматичного заповнення буде показано всі можливі профілі з відповідним прапорцем. Колір прапорця позначатиме степінь підтримки пульта віддаленого керування профілем: повна підтримка, часткова підтримка або неможливість підтримки. Зелений прапорець означає повну підтримку, жовтий — часткову, червоний — немає підтримки.

Зауваження: якщо ваш пульт віддаленого керування несумісний з жодним з профілів, ймовірно, ви не налаштували lirc на використання просторів назв кнопок.

### Огляд профілів

На вкладці Огляд профілів буде подано дані щодо всіх можливих профілів. Після позначення вами профілю програма покаже докладні відомості щодо профілю, зокрема відомості щодо автора та список всіх визначених у профілі дій. Кожен з записів дії містить відомості щодо додаткових параметрів, коментар та ідентифікатор кнопки, який буде використано під час автоматичного заповнення полів.

Якщо у вас виникло бажання поділитися власним профілем програм, ознайомтеся з вмістом глави Додаткова інформація.

### Можливі пристрої

На цій вкладці буде наведено докладні відомості щодо ваших пультів віддаленого керування. Тут ви зможете перевірити, чи належним чином було розпізнано ваш пульт системою.

## Додаткова інформація

У цій главі ми обговоримо деякі речі, які можуть зацікавити досвідчених користувачів та розробників. За її допомогою ви зможете навчитися створенню власних профілів.

### Створення профілів

#### Вступ

За допомогою &kdelirc; можна користуватися всіма програмами, що підтримують роботу з &DBus;, без додаткових налаштувань. Але щоб програму легше було налаштовувати і щоб пункт програми з’явився у діалоговому вікні автоматичного заповнення, вам доведеться створити профіль для програми.

За допомогою профілю ви повідомите &kdelirc; (і користувачеві!) про те, які дії виконуються у відповідь на кожен з викликів &DBus;. Профіль — це різновид документації до викликів &DBus;. Вам не обов’язково описувати всі виклики &DBus; — достатньо лише тих, які будуть найкориснішими для користувачів (це зазвичай виклики «коригування інтерфейсу», а не виклики «збирання відомостей»).

#### Створення

1. ##### &DBus;

   Переконайтеся, що програма, для якої ви бажаєте створити профіль, може керуватися за допомогою &DBus;. На базовому рівні це можна перевірити так: спробуйте додати дії для цієї програми за допомогою &kdelirc; вручну. Чудовим інструментом для виконання цього завдання є також програма qdbusviewer, яка постачається разом з бібліотекою Qt4. За допомогою цієї програми ви зможете дізнатися про можливості керування програмою за допомогою &DBus;.

2. ##### Створення профілю

   Після визначення відповідних функцій &DBus; вам слід описати їх у документі `appname.profile.xml`. Ось короткі настанови щодо створення таких документів:

   1. Спочатку створіть файл з наведеним нижче вмістом. Замініть myapp на назву виконуваного файла програми, а My Application на описову назву програми.

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">

            <profile id="myapp" servicename="My Application">
            </profile>

   2. У межах теґу profile вкажіть ім’я та відомості щодо автора. За допомогою теґу instances можна повідомити &kdelirc; про те, можна запускати декілька екземплярів програми чи ні. Встановіть значення unique у 0, якщо можна запускати декілька екземплярів програми (типовим є значення 1). За допомогою властивості ifmulti можна вказати &kdelirc;, що слід робити, якщо на час натискання кнопки виконується декілька екземплярів програми. Варіанти такі: dontsend (нічого не робити, якщо >1 екземпляра), sendtoone (надіслати виклик довільно обраному екземпляру) та sendtoall (надіслати всім екземплярам). Типовим є варіант dontsend, але у багатьох випадках найкориснішим може бути варіант sendtoone.

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">

            <profile id="myapp" servicename="My Application">
              <name>My Application</name>
              <author>Me</author>
              <instances unique="0" ifmulti="sendtoone"/>
            </profile>

   3. Вкажіть у профілі теґи дій. Кожен з теґів дій має містити назву об’єкта &DBus; та прототип функції.

      Для правильної обробки дії &kdelirc; потрібні додаткові атрибути. Теґ button буде використано для автоматичного заповнення. Повний список можливих назв кнопок можна знайти у документації щодо програмного інтерфейсу solid. За допомогою теґу repeat можна повідомити програму, чи слід повторювати виконання дії, якщо користувач утримує кнопку на пульті натиснутою (0 = ні, 1 = так). За допомогою теґу autostart ви можете повідомити, чи слід запускати програму, якщо її ще не запущено.

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">

            <profile id="myapp" servicename="My Application">
              <name>My Application</name>
              <author>Me</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MyApp" prototype="void showint(short int)"
                button="Menu" repeat="0" autostart="0">
              </action>
            </profile>

   4. Додайте до запису дії назву і коментар. Ці дані буде показано у інтерфейсі користувача &kdelirc;.

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">

            <profile id="myapp" servicename="My Application">
              <name>My Application</name>
              <author>Me</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MyApp" prototype="void showints(short int)"
                  button="Menu" repeat="0" autostart="0">
                <name>Show Integers</name>
                <comment>Shows a configurable integer</comment>
              </action>
            </profile>

   5. Опишіть кожен з аргумент за допомогою атрибутів comment (коментар) та type (тип). Список можливих типів наведено у файлі описів профілів. Вам слід оголосити типове значення кожного з аргументів за допомогою теґів default:

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">

            <profile id="myapp" servicename="My Application">
              <name>My Application</name>
              <author>Me</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MyApp" prototype="void showints(short int)"
                  button="Menu" repeat="0" autostart="0">
                <name>Show Integers</name>
                <comment>Shows a configurable integer</comment>
                <argument type="int">
                  <default>5</default>
                  <comment>The integer to be shown</comment>
                </argument>
              </action>
            </profile>

#### Встановлення

Щоб перевірити та використовувати профіль, вам слід скопіювати його до `$(kde_datadir)/profiles` і перезапустити &kdelirc;.

Якщо ви бажаєте додати ваш профіль до типового пакунка &kde;, будь ласка, надішліть його команді розробки kdeutils на адресу kde-utils-devel@kde.org.