# Einstellungen für Fernbedienungen unter &kde;

## Einführung

In diesem Modul können Sie Ihre Fernbedienungen einrichten und ihnen Aktionen zuweisen, die beim Drücken eines Knopfes ausgeführt werden. Aktionen können Programme starten, sie steuern oder Systembefehle wie das Herunterfahren des Rechners ausführen.

### Voraussetzungen

Um &kremotecontrol; benutzen zu können, müssen Sie ein kompatibles Dienstprogramm für Fernbedienungen auf Ihren Rechner installieren. Zur Zeit gibt es nur ein Dienstprogramm für LIRC. Wenn LIRC richtig eingerichtet ist, wird das Symbol für &kremotecontrol; im Systemabschnitt der Kontrollleiste hellrot angezeigt . Sonst ist das Symbol grau mit einem Kreuz .

Weitere Informationen zu LIRC finden Sie auf der Homepage http://www.lirc.org.

## Benutzung

Dieses Einstellungsmodul besteht aus zwei Listen. Die linke Liste zeigt alle vorhandenen Fernsteuerungen und deren Modi an. In der rechten Liste werden alle eingerichteten Aktionen für die aktuell ausgewählte Fernsteuerung und den Modus aufgeführt. Einrichtung von KRemoteControl Liste der Fernbedienungen und der eingerichteten Modi und Aktionen.

### Fernbedienungen und Modi

Jede Fernbedienung hat eine Anzahl unterschiedlicher Modi. Unterschiedliche Modi erlauben es, einer Taste je nach Anwendungsbereich unterschiedliche Funktionen zuzuweisen. Auf diese Weise können Fernbedienungen viele verschiedene Geräte mit nur einigen wenigen Knöpfen steuern. Ein Beispiel hierfür sind die Vielzweck-Fernbedienungen für TV/Video/DVD und weiteres. Diese haben wenige Tasten, welche je nach zu bedienendem Gerät unterschiedliche Funktionen besitzen. Direkt für die Fernbedienung definierte Aktionen sind immer verfügbar, unabhängig vom aktuellen Modus der Fernbedienung. Aktionen, die für einen Modus definiert wurden, werden auch nur dann ausgeführt, wenn sich die Fernbedienung in diesem Modus befindet. Für eine Fernbedienung kann gleichzeitig nur ein Modus oder auch kein Modus aktiviert sein. Ist kein Modus aktiviert, werden nur die direkt definierten und immer verfügbaren Aktionen beim Drücken eines Knopfes ausgeführt. Außerdem kann ein Standardmodus angegeben werden, der der Fernbedienung automatisch beim Start zugewiesen wird.

Modi können für eine Fernbedienung hinzugefügt werden, indem Sie sie auswählen und dann auf den Knopf + rechts neben der Liste klicken. Ein neu erstellter Modus muss als ersten einen Namen erhalten. Wahlweise können Sie dem Modus eine Taste zur Aktivierung und ein Symbol zuweisen, das in Benachrichtigungen zu diesem Modus benutzt wird. Um einen Modus zu löschen, wählen sie ihn aus und drücken den Knopf -. Modus hinzufügen Einen neuen Modus hinzufügen

Gibt es mehrere Modi mit der gleichen zugewiesenen Taste, wird diese Taste in der Voreinstellung zum Moduswechsel benutzt. Damit können Sie Ihre Modi gruppieren. Sie können zum Beispiel eine Taste Musik für das Wechseln der Modi in &amarok; und &juk; benutzen oder eine Taste Video auf die gleiche Art für &dragon; oder KMplayer. Möchten Sie mit einer Taste durch alle Modi vorwärts und mit einer weiteren Taste durch alle Modi rückwärts wechseln, wählen Sie eine Fernsteuerung aus. Drücken Sie den Knopf „Bearbeiten“ und stellen Sie dies Verhalten im Einrichtungsdialog ein. Fernbedienung bearbeiten Eine Fernbedienung bearbeiten

### Aktionen

Wenn Sie eine Fernbedienung oder einen Modus ausgewählt haben, können Sie Ihnen mit dem Knopf + auf der rechten Seite Aktionen hinzufügen. Aktionen können auf zwei unterschiedliche Arten erstellt werden, entweder unter Verwendung einer Vorlage oder manuell mit Durchsehen der D-Bus-Sitzung. Aktion hinzufügen Eine Aktion hinzufügen

Aktionen mithilfe von Vorlagen zu erstellen, ist einfach, die Einstellungsmöglichkeiten für diese Aktionen sind aber begrenzt. Vorlagen für häufig benutzte Anwendungen wie &amarok; oder den &kde;-Programmstarter und Systembefehle für das Herunterfahren des Rechners werden mit installiert. Diese Vorlagen sind in Profilen für ähnlichen Aufgaben zusammengefasst. Es gibt zum Beispiel ein Profil Power management mit Vorlagen um den Rechner in den Ruhezustand oder Tiefschlaf zu versetzen oder herunterzufahren. Profil hinzufügen Aktion mit Hilfe einer Vorlage hinzufügen

Durchsuchen Sie den D-Bus um Aktionen zu erstellen, dann werden alle laufenden Programme angezeigt und Sie können alle Funktionen dieser Programme durchsehen. Dazu sind aber Grundkenntnisse zum D-Bus erforderlich, es lassen sich damit dann mehr Programme und Funktionen als in der Vorlagenliste benutzen. D-Bus-Aktion hinzufügen Eine D-Bus-Aktion hinzufügen

Für D-Bus-Aktionen gibt es einige zusätzliche Optionen. Als erstes muss definiert werden, ob Aktionen wiederholt ausgeführt wird, wenn Sie eine Taste auf der Fernbedienung länger drücken. Diesen Verhalten ist zum Beispiel sinnvoll, um die Lautstärke zu erhöhen oder zu verringern. Für Aktionen wie Wiedergabe/Pause bei der Medienwiedergabe ist es nicht geeignet. Weiterhin muss festgelegt werden, ob das Programm automatisch beim Drücken der Taste gestartet werden soll, wenn es noch nicht läuft. Das automatische Starten sollte zum Beispiel nicht für eine Aktion gewählt werden, die eine Anwendung beendet. Als dritte und letzte Option für Aktionen ist anzugeben, welche Instanz einer Anwendung die Aktion ausführen soll, falls die Anwendung mehrfach gestartet werden kann. Diese Option ist für Anwendung deaktiviert, die nur einmal laufen können.

Einstellungen für Aktionen Einstellungen für Aktionen

Mithilfe des Assistenten lassen sich Aktionen auch automatisch erzeugen. Dabei versucht &kremotecontrol; automatisch Aktionen für Tasten zu finden. Im Dialog „Automatisch ausfüllen“ werden alle vorhandenen Vorlagen mit einer Markierung gekennzeichnet. An der Farbe dieser Markierung erkennen Sie, ob Ihre Fernbedienung vollständig (Grün). teilweise (Gelb) oder gar nicht (Rot) unterstützt wird. Bei einem grünen Symbol passen alle enthaltenen Vorlagen zu Ihrer Fernbedienung, ein gelbes Symbol zeigt an, dass nur ein Teil der enthaltenen Aktionen unterstützt wird. Passt keine der Vorlagen zu Ihrer Fernbedienung, sehen Sie eine rote Markierung. Auch bei einer roten Markierung können diese Vorlegen benutzt werden, Sie müssen aber alle gewünschten Tasten manuell einrichten. Automatisch ausfüllen Aktionen automatisch mit Vorlagen erstellen

Hinweis: Wenn Ihre Fernbedienung mit keinem Profil kompatibel ist, haben Sie LIRC vermutlich nicht für die Verwendung von Namensräumen eingerichtet.

## Zusätzliche Informationen

In diesem Kapitel werden zusätzliche Information vorgestellt, die für einen erfahrenen Benutzer oder Entwickler von Interesse sind. In diesem Kapitel finden Sie eine Anweisung, um benutzerdefinierte Profile zu erstellen.

### Ein Profil erstellen

#### Einführung

Fast alle Programme mit einer &DBus;-Schnittstelle können durch &kremotecontrol; ohne zusätzliche Aktionen benutzt werden. Um aber eine grafische Benutzerschnittstelle für die Einrichtung bereitzustellen und das Programm im Dialog Automatisch ausfüllen anzuzeigen, sollten Sie ein Profil dafür erstellen.

Ein Profil gibt &kremotecontrol; und dem Benutzer die Funktion der verschiedenen &DBus;-Aufrufe an, Im Grunde ist das eine Art von Dokumentation der &DBus;-Aufrufe. Es müssen nicht alle &DBus;-Aufrufe aufgeführt sein, nur die Wichtigsten für den Endbenutzer. Dazu gehören eher die Aufrufe um die Schnittstelle einzurichten als die Aufrufe zu Abfrage von Informationen.

#### Anleitung zur Erstellung von Profilen

1. #### &DBus;

   Überprüfen Sie, ob das Programm für das Sie ein Profil erstellen möchten, Funktionen über einen &DBus;-Sitzungsbus anbietet. Dazu versuchen Sie, in &kremotecontrol; manuell eine Aktion für dieses Programm hinzuzufügen. Auch mit dem Programm qdbusviewer, das zusammen mit Qt4 installiert wird, können Sie Informationen über die &DBus;-Schnittstelle eines Programms finden.

2. #### Ausführliche Anleitung

   Wenn Sie die passenden &DBus;-Funktionen gefunden haben, müssen diese in der Datei `appname.profile.xml` beschrieben werden. Im folgenden Abschnitt finden Sie eine kurze Einführung zur Erstellung dieser Dateien:

   1. Erstellen Sie zuerst eine Datei mit den weiter unten angezeigten Inhalt. In name geben Sie einen kurzen Namen des Profils ein, der dessen Funktion beschreibt, in description eine Beschreibung dieses Profils. Tragen Sie Ihren Namen in author und eine Versionsnummer in version ein. Die Versionsnummer ist für die Aktualisierung des Profils wichtig, wenn &kremotecontrol; mehrere Versionen eines Profils auf Ihrem Rechner findet, wird das Profil mit der größten Versionsnummer benutzt.

          <xml version="1.0" encoding="UTF-8"?>
          <profile xmlns="urn:org-kde-kremotecontrol"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd">

              <name>Mein Profil</name>
              <version>0.1</version>
              <author>Ich</author>
              <description>Beschreibung der Funktionen des Profils</description>
              <action>
                  <--  Dies wird im nächsten Schritt erklärt -->
              <action>

          </profile>

   2. In diesen Profilentwurf müssen nun einige Aktionen eingefügt werden.

          <xml version="1.0" encoding="UTF-8"?>
          <profile xmlns="urn:org-kde-kremotecontrol"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd">

              <name>Mein Profil</name>
              <version>0.1</version>
              <author>Ich</author>
              <description>Beschreibung der Funktionen des Profils</description>
              <action id="someUniquId"  repeat="true|false" button="eineTaste">
                <name>Meine Aktion</name>
                <description>Beschreibung der Funktion dieser Aktion</description>
                <prototype>
                  <--  Dies wird im nächsten Schritt erklärt -->
                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              <action>

          </profile>

      Geben Sie als erstes einen eindeutigen Bezeichner an. Diese ID wird in &kremotecontrol; dazu benutzt, um vorhandene Aktionen einer Vorlage zuzuordnen, wenn zum Beispiel die Beschreibung eingelesen wird. Diese ID muss innerhalb eines Profils eindeutig sein. Das Attribut button wird für das automatische Ausfüllen verwendet. In der Schemadatei profile.xsd finden Sie eine vollständige Liste aller möglichen Tastennamen. Das Attribut repeat legt fest, ob eine Aktion mehrfach ausgeführt wird, wenn eine Tasten längere Zeit gedrückt wird. Um eine Anwendung, die noch nicht läuft, auf Tastendruck automatisch zu starten, setzen Sie den Wert für autostart auf true. Die Attribute button, repeat und autostart dürfen auch weggelassen werden. Sind repeat und autostart nicht definiert, wird als Voreinstellung false benutzt.

      Geben Sie einen kurzen Namen für name und eine Beschreibung für description ein. Die Eigenschaft ifmulti legt fest, wie sich &kremotecontrol; bei einem Tastendruck verhält, wenn es mehrere laufenden Instanzen einer Anwendung gibt. Für diese Eigenschaft sind folgende Werte erlaubt: sendtotop - die Aktion wird an die oberste Anwendung im dem Fensterstapel weitergegeben, sendtobottom - die Aktion wird an die unterste Anwendung im dem Fensterstapel weitergegeben, sendtoall -an alle Instanzen, dontsend - die Aktion wird nicht an alle Instanzen weitergereicht und unique - für diese Anwendung ist nur eine Instanz möglich. Ist dieser Wert nicht definiert, geht &kremotecontrol; davon aus, dass die Anwendung nur einmal ausgeführt werden kann und benutzt die Voreinstellung unique.

   3. Als nächstes wird die auszuführende &DBus;-Funktion in prototype definiert:

          <xml version="1.0" encoding="UTF-8"?>
          <profile xmlns="urn:org-kde-kremotecontrol"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd">

              <name>Mein Profil</name>
              <version>0.1</version>
              <author>Ich</author>
              <description>Beschreibung der Funktionen des Profils</description>
              <action id="someUniquId"  repeat="true|false" button="eineTaste">
                <name>Meine Aktion</name>
                <description>Beschreibung der Funktion dieser Aktion</description>
                <prototype>
                  <serviceName>org.example.application</serviceName>
                  <node>Some/Node</node>
                  <function>function</function>
                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              <action>

          </profile>

      servicename enthält den Namen des &DBus;-Dienstes für die Anwendung, ⪚ org.kde.plasma-desktop. In node ist der zugehörige &DBus;-Knoten wie App einzutragen. Geben Sie den Funktionsnamen ohne Rückgabewert und Argumente in function an, zum Beispiel toggleDashboard.

   4. Erfordert eine Funktion zusätzliche Argumente, muss für jedes Argument der Typ, eine Beschreibung für den Benutzer und optional ein Standardwert angegeben werden. Eine Liste der möglichen Argumenttypen finden Sie in der Schemadatei profile.xsd. In comment sollte eine benutzerfreundliche Beschreibung der Funktion des Arguments enthalten sein. In default sollten Sie einen Standardwert vorgeben. In Vorlagen für eine Taste müssen alle Argumente Standardwerte haben, sonst führt die Verwendung von Automatisch ausfüllen zu nicht korrekt arbeitenden Funktionen.

          <xml version="1.0" encoding="UTF-8"?>
          <profile xmlns="urn:org-kde-kremotecontrol"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd">

              <name>Mein Profil</name>
              <version>0.1</version>
              <author>Ich</author>
              <description>Beschreibung der Funktionen des Profils</description>
              <action id="someUniquId"  repeat="true|false" button="eineTaste">
                <name>Meine Aktion</name>
                <description>Beschreibung der Funktion dieser Aktion</description>
                <prototype>
                  <serviceName>org.example.application</serviceName>
                  <node>Some/Node</node>
                  <function>function</function>

                  <arguments>
                    <argument type="QString">
                      <comment>Zusätzlicher Kommentar</comment>
                      <default>einWert</default>
                    </argument>
                  </arguments>

                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              <action>

          </profile>

#### Installation

Um das Profil zu benutzen und zu testen, müssen Sie es in den Ordner `$(kde_datadir)/profiles` kopieren und &kremotecontrol; neu starten.

Möchten Sie Profile zur &kde; SC beisteuern, senden sie sie bitte unter der Adresse kde-utils-devel@kde.org an das KDE-Utils-Team .