# Configuració del comandament a distància al KDE

Michael
Zanetti

    michael_zanetti@gmx.net

&traductor.Antoni.Bella;
05-03-2010
1.0
2010
Michael Zanetti

Configuració de &kremotecontrol;: La infraestructura per a la funcionalitat del comandament a distància per a &kde;.

KRemoteControl
kcm_remotecontrol
Comandament a distància

## Introducció

Aquest mòdul us permet configurar els comandaments a distància. Podeu assignar accions que s'executaran en prémer cada botó. Les accions poden iniciar aplicacions, controlar-les o executar ordres del sistema, com apagar l'ordinador.

### Requeriments

Per usar &kremotecontrol; haureu de tenir instal·lat un dorsal compatible per a comandaments a distància. Actualment només n'hi ha disponible un per a LIRC. Si LIRC està correctament instal·lat, la icona de &kremotecontrol; a la safata del sistema estarà il·luminada en vermell . Si no, estarà en gris i tatxada. .

Per a més informació sobre LIRC, visiteu la seva pàgina web a http://www.lirc.org.

## Ús

El mòdul de configuració consisteix en dues llistes. La llista de l'esquerra mostra els comandaments a distància disponibles i els seus modes. La llista de la dreta mostra totes les accions configurades per als comandaments a distància seleccionats actualment. Configuració de KRemoteControl Llista de comandaments a distància i els modes i accions configurats.

### Comandaments a distància i modes

Cada comandament a distància disposa de diversos modes diferents. El tenir múltiples modes permet que els botons executin diferents acciones en situacions diferents. Penseu en ells com a comandaments a distància multi-propòsit per a TV/Vídeo/Satèl·lit/DVD. En comptes d'usar diferents comandaments a distància per a diferents aplicacions, podeu canviar el comportament d'un comandament a distància per adaptar-lo a una aplicació creant diferents modes i alternant entre ells quan sigui necessari. Les accions definides directament en el comandament a distància sempre estaran disponibles, sense importar en quin mode està funcionant actualment el comandament. Cada comandament a distància pot estar funcionant en un únic mode a la vegada. Podeu no estar en cap mode, significant que només s'executaran les accions sempre disponibles en prémer cada botó. També podeu definir un mode per omissió, que serà el que se li assignarà de manera predeterminada a l'inici.

Podeu afegir modes a un comandament a distància seleccionant el comandament i utilitzant el botó + situat al costat de la llista. Quan creeu un mode, haureu de proporcionar-li un nom. Opcionalment, li podeu assignar un botó que s'utilitzarà per activar el modo i una icona que s'utilitzarà per a les notificacions per aquest mode. Podeu eliminar modes seleccionant-los i utilitzant el botó -. Afegeix mode Afegeix un nou mode

Per omissió, si existeixen múltiples modes amb el mateix botó assignat, el botó s'utilitzarà per a canviar d'un a altre, en seqüència. D'aquesta manera, podeu agrupar els modes. Per exemple, podríeu assignar un botó anomenat Música per a recórrer els modes per a &amarok; i &juk;, mentre que un botó anomenat Vídeo podria recórrer als modes per a &dragon; o KMplayer. Si preferiu tenir un botó per a recórrer tots els modes i un segon per a fer-ho en ordre invers, podeu configurar aquest comportament en les preferències del comandament seleccionant-lo i prement el botó d'edició. EditRemote Editar un comandament a distància

### Accions

Després de seleccionar un comandament o un mode, li podeu afegir accions utilitzant el botó + a la dreta. Hi ha dues formes diferents en les que es poden crear accions. Utilitzant una plantilla o explorant el bus de sessió D-Bus manualment. AddAction Afegir una acció

El crear accions utilitzant plantilles és més fàcil, però limitat. Podeu trobar plantilles per a les aplicacions més comuns, com &amarok; o el llançador de programes de &kde;, i ordres del sistema per apagar l'ordinador. Aquestes plantilles es recullen en perfils, que les agrupen en tasques similars. Per exemple, hi ha un perfil anomenat Gestor d'energia que conté plantilles per apagar o suspendre l'ordinador. AddProfileAction Afegir una acció utilitzant una plantilla

El crear accions explorant el D-Bus llista totes les aplicacions que estan actualment en funcionament. Podeu explorar-les junt amb les seves funcions. Això requereix una comprensió bàsica de com funciona D-Bus, però podeu utilitzar més aplicacions i funcions de les que hi ha a la llista de plantilles. AddDBusAction Afegir una acció utilitzant D-Bus

Quan s'afegeix una acció, podeu ajustar unes poques opcions més. La primera defineix si l'acció s'executarà repetidament quan es manté premut el botó del comandament a distància. Aquest comportament és útil per accions com augmentar o disminuir el volum, però pot no ser desitjable per accions com reprodueix/pausa en un reproductor multimèdia. La segona defineix si l'aplicació de destinació hauria d'iniciar-se quan es prem el botó, en el cas que encara no estigués en funcionament. Per exemple, no tindria sentit per accions que haurien de tancar una aplicació per iniciar-la. La tercera i última opció per a les accions defineix quina instància de l'aplicació ha de rebre l'acció, si n'hi ha més d'una en funcionament. Si heu seleccionat una aplicació que no es pot iniciar múltiples vegades alhora, l'opció restarà deshabilitada.

AddActionOptions Opcions per a les accions

Les accions també es poden generar automàticament utilitzant el botó de l'assistent. Això significa que &kremotecontrol; pot intentar emparellar botons amb funcions. El diàleg d'auto-genera mostra totes les col·leccions de plantilles disponibles amb una bandera. Depenent del color de la bandera, el vostre comandament a distància estarà totalment, parcialment o no admès per aquest perfil. El verd significa que totes les plantilles incloses es poden emparellar amb el comandament a distància; el groc, que algunes de les accions coincideixen; i el vermell, que cap de les plantilles es pot associar als botons del comandament. Això no significa que no les podeu utilitzar. Només que les haureu de configurar una per una, establint el botó desitjat. AutoPopulate Generar accions automàticament utilitzant plantilles

Nota: Si el comandament a distància no és compatible amb cap perfil, potser no heu configurat LIRC utilitzant espais de nom.

## Informació avançada

Aquest capítol tractarà alguna informació que pot ser interessant per a usuaris més avançats o per a desenvolupadors. Aprendreu com crear els vostres propis perfils.

### Crear un perfil

#### Introducció

Gairebé totes les aplicacions compatibles amb &DBus; es poden utilitzar amb &kremotecontrol; sense cap acció posterior. De tota manera, per a proporcionar una configuració amigable per a l'usuari i deixar que l'aplicació aparegui en el diàleg d'auto-generar, potser voldreu crear un perfil.

Un perfil li indica a &kremotecontrol; (i a l'usuari!) què fan les diferents crides de &DBus;. Essencialment, és una espècie de documentació per a les crides de &DBus;. No les haureu d'incloure totes, només les que creieu que beneficiaran més als usuaris finals (normalment, crides a l'ajustament de la interfície més que no pas les crides a la recollida d'informació).

#### Com es fa per als perfils

1. ##### &DBus;

   Assegureu-vos que l'aplicació per a la que voleu crear el perfil proporciona funcions per al bus de sessió de &DBus;. Ho podeu comprovar intentant afegir accions per a aquesta aplicació utilitzant el mètode manual en &kremotecontrol;. qdbusviewer, una aplicació que ve amb la vostra instal·lació de Qt4, també es molt bona eina per esbrinar les capacitats &DBus; de les aplicacions.

2. ##### Pas a pas

   Una vegada trobades les funcions apropiades de &DBus;, necessitareu descriure-les en un document `nom_aplicació.profile.xml`. Aquí teniu una guia ràpida de com crear aquests fitxers:

   1. Primer creeu un nou fitxer que inclogui el contingut de a sota. L'etiqueta name defineix un nom curt descriptiu del perfil. Afegiu-li una descripció en l'etiqueta description. Afegiu també el vostre nombre en l'etiqueta author, i un número de versió en l'etiqueta version. El número de versió és important per actualitzar el perfil. &kremotecontrol; usarà el que tingui el número més alt si troba múltiples versions d'aquest perfil en el sistema.

          <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>El meu perfil</name>
              <version>0.1</version>
              <author>Jo</author>
              <description>Alguna informació descriptiva quant al que fa el perfil</description>
              <action>
                  <--  Aquesta etiqueta s'explica en el següent pas. -->
              <action>

          </profile>

   2. Una vegada creat l'esquelet del perfil, és hora d'afegir algunes plantilles d'acció.

          <?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>El meu perfil</name>
              <version>0.1</version>
              <author>Jo</author>
              <description>Alguna informació descriptiva quant al que fa el perfil</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>La meva acció</name>
                <description>Què és el que fa aquesta acció</description>
                <prototype>
                  <--  Aquesta etiqueta s'explica en el següent pas. -->
                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              </action>

          </profile>

      Primer definiu un identificador únic. Aquest l'utilitzarà &kremotecontrol; per emparellar accions existents a la plantilla, per exemple, per a llegir la descripció. Aquest identificador haurà de ser únic en tot el perfil. L'atribut de button s'utilitza per a la funció d'auto-generar. Mireu l'esquema de profile.xsd per a una llista completa dels noms de botó disponibles. L'atribut repeat indica si l'acció s'ha d'executar múltiples vegades si el botó del comandament a distància es manté premut. Si l'aplicació s'ha d'iniciar si no està funcionant quan premeu un botó, establiu autostart a true. Els atributs button, repeat i autostart són opcionals. Si repeat i autostart no estan definits, s'establiran per omissió a false.

      Afegiu un nom curt a l'etiqueta name i una descripció, utilitzant l'etiqueta description. La propietat ifmulti especifica què hauria de fer &kremotecontrol; si hi ha múltiples instàncies del programa en funcionament quan es prem un botó. Podeu utilitzar els següents valors per a aquesta propietat: sendtotop (envia la crida a la instància situada a la part superior de la pila de finestres), sendtobottom (envia la crida a la instància situada a la part inferior de la pila de finestres), sendtoall (l'envia a totes les instàncies), dontsend (no envia l'acció a cap instància) i unique (aquesta aplicació no permet múltiples instàncies). Si aquesta etiqueta no està definida, &kremotecontrol; suposa que les aplicacions no es poden executar múltiples vegades alhora, creant per omissió aquesta etiqueta.

   3. Després, definiu la funció de &DBus; que s'ha d'executar en l'etiqueta prototype:

          <?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>El meu perfil</name>
              <version>0.1</version>
              <author>Jo</author>
              <description>Alguna informació descriptiva quant al que fa el perfil</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>La neva acció</name>
                <description>Què és el que fa aquesta acció</description>

                <prototype>
                  <serviceName>org.exemple.aplicació</serviceName>
                  <node>Algun/Node</node>
                  <function>funció</function>
                </prototype>

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

          </profile>

      servicename conté el nom del servei de &DBus; per a l'aplicació; &ead; org.kde.plasma-desktop. node conté el node de &DBus; respectiu, com App. Afegiu el nom de la funció sense valor de retorn i arguments utilitzant l'etiqueta function. Per exemple, toggleDashboard.

   4. Si la funció té arguments, necessitareu descriure cadascun proporcionant una descripció per a l'usuari, un tipus i, opcionalment, un valor per omissió. Es pot trobar una llista de tipus admesos en el fitxer d'esquema profile.xsd. L'etiqueta comment hauria de contenir una bona descripció amigable per a l'usuari sobre per a què s'usa l'argument. També hauríeu de declarar un valor per omissió per a cada argument entre les etiquetes default. Tingueu en compte que les plantilles que contenen un botó necessiten subministrar un valor per omissió per a tots els arguments, o la funció d'auto-generar presentarà funcions defectuoses.

          <?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>El meu perfil</name>
              <version>0.1</version>
              <author>Jo</author>
              <description>Alguna informació descriptiva quant al que fa el perfil</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>La meva acció</name>
                <description>Què és el que fa aquesta acció</description>

                <prototype>
                  <serviceName>org.exemple.aplicació</serviceName>
                  <node>AlgunNode</node>
                  <function>funció</function>

                  <arguments>
                    <argument type="QString">
                      <comment>Comentari addicional</comment>
                      <default>algunValor</default>
                    </argument>
                  </arguments>

                </prototype>

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

          </profile>

#### Instal·lació

Per a provar i usar el perfil, necessitareu copiar-lo a `$(kde_datadir)/profiles` i reiniciar &kremotecontrol;.

Si voleu contribuir amb el perfil a &kde; SC, si us plau, envieu-lo a l'equip de kdeutils a kde-utils-devel@kde.org.