# Configuración de mandos a distancia para KDE

## Introducción

Este módulo le permite configurar sus mandos a distancia. Puede asignar acciones que se ejecutan al presionar cada botón. Las acciones pueden iniciar aplicaciones, controlarlas o ejecutar órdenes del sistema, como apagar su equipo.

### Requisitos

Para usar &kremotecontrol; debe haber instalado un motor compatible para mandos a distancia en su equipo. Actualmente sólo hay disponible un motor para LIRC. Si LIRC está correctamente instalado, el icono de &kremotecontrol; en la bandeja del sistema estará iluminado en rojo . Si no, estará en gris y tachado. .

Para más información sobre LIRC, visite su página web en http://www.lirc.org.

## Uso

El módulo de configuración consiste en dos listas. La lista de la izquierda muestra los mandos a distancia disponibles y sus modos. La lista de la derecha muestra todas las acciones configuradas para los mandos a distancia seleccionados actualmente. Configuración de KRemoteControl Lista de mandos a distancia y modos y acciones configurados.

### Mandos a distancia y modos

Cada mandoa distancia tiene varios modos diferentes. Tener múltiples modos permite que los botones ejecuten diferentes acciones en situaciones distintas. Piense en ellos como mandos a distancia múltiples para TV/video/satélite. En lugar de usar diferentes mandos a distancia para diferentes aplicaciones, usted puede cambiar el comportamiento de un mando a distancia para adaptarlo a una aplicación creando diferentes modos y alternando entre ellos cuando sea necesario. Las acciones definidas directamente en el mando a distancia están siempre disponibles, sin importar en qué modo está funcionando actualmente el mando. Cada mando a distancia puede estar funcionando en un solo modo a la vez. Puede no estar en ningún modo, significando que sólo se ejecutarán las acciones siempre disponibles al apretar cada botón. También puede definir un modo por defecto, que es el que se le asignará de manera predeterminada al inicio.

Puede añadir modos a un mandoa distancia seleccionando el mando y usando el botón + situado junto a la lista. Cuando cree un modo, tendrá que proporcionarle un nombre. Opcionalmente, puede asignar un botón que se utilizará para activar el modo y un icono que se use para las notificaciones para este modo. Puede eliminar modos seleccionándolos y usando el botón -. Añadir modo Añadir un modo nuevo

De forma predeterminada, si existen múltiples modos con el mismo botón asignado, el botón se usará para cambiar de uno a otro, en secuencia. De esta forma, puede agrupar sus modos. Por ejemplo, podría asignar un botón llamado Música para recorrer los modos para &amarok; y &juk;, mientras que un botón llamado Vídeo podría recorrer los modos para &dragon; o KMplayer. Si prefiere tener un botón para recorrer todos los modos y un segundo botón para recorrerlos en orden inverso, puede configurar este comportamiento en las preferencias del mando seleccionándolo y apretando el botón de edición. EditRemote Editar un mando a distancia

### Acciones

Después de seleccionar un mando o un modo, puede añadirle acciones usando el botón + a la derecha. Hay dos formas diferentes en las que se pueden crear acciones: usando una plantilla o explorando el bus de sesión D-Bus manualmente. AddAction Añadir una acción

Crear acciones usando plantillas es más fácil, pero limitado. Puede encontrar plantillas para las aplicaciones más comunes, como &amarok; o el lanzador de programas de &kde;, y órdenes del sistema para apagar su equipo. Esas plantillas se recogen en perfiles, qu elas agrupan en tareas similares. Por ejemplo, hay un perfil llamado Gestor de energía que contiene plantillas para apagar o suspender el equipo. AddProfileAction Añadir una acción usando una plantilla

Crear acciones explorando el D-Bus lista todas las aplicaciones que están actualmente en funcionamiento. Puede explorarlas junto con sus funciones. Esto requiere una comprensión básica de cómo funciona D-Bus, pero puede usar más aplicaciones y funciones que las que están en la lista de plantillas. AddDBusAction Añadir una acción usando D-Bus

Cuando añada una acción, puede ajustar unas pocas acciones más. La primera de ellas define si la acción se ejecuta repetidamente cuando el botón del mando a distancia se mantiene pulsado. Este comportamiento es útil para acciones como aumentar o disminuir el volumen, pero puede no ser deseable para acciones como activar o desactivar la pausa en un reproductor multimedia. La segunda define si la aplicación objetivo debería iniciarse cuando se pulsa el botón, en caso de que aún no estuviera en marcha. Por ejemplo, no tendría sentido para acciones que debieran cerrar una aplicación para iniciarla. La tercera y última opción para las acciones es definir qué instancia de la aplicación debería recibir la acción, si hay más de una en marcha. Si ha seleccionado una aplicación que no puede iniciarse varias veces al mismo tiempo, la opción estará deshabilitada.

AddActionOptions Opciones para las acciones

Las acciones también pueden generarse automáticamente usando el botón del asistente. Esto significa que &kremotecontrol; puede intentar emparejar botones con funciones por usted. El diálogo de autogenerar muestra todas las colecciones de plantillas disponibles con una bandera. Dependiendo del color de la bandera, su mando a distancia estará totalmente, parcialmente o no admitido por ese perfil. El verde significa que todas las plantillas incluidas se pueden emparejar con su mando a distancia; el amarillo, que algunas de las acciones contenidas coinciden; y el rojo, que ninguna de las plantillas se pueden asociar a los botones de su mando. Esto no significa que no pueda usar esas plantillas. Sólo tiene que configurarlas una por una, estableciendo el botón deseado usted mismo. AutoPopulate Generar acciones automáticamente utilizando plantillas

Nota: Si su mando a distancia no es compatible con ningún perfil, puede que no haya configurado LIRC usando espacios de nombres.

## Información avanzada

Este capítulo tratará de una información que puede ser interesante para usuarios más avanzados o para desarrolladores. Usted aprenderá cómo crear sus propios perfiles.

### Crear un perfil

#### Introducción

Casi todas las aplicaciones compatibles con &DBus; se pueden usar con &kremotecontrol; sin ninguna acción posterior.Sin embargo, para proporcionar una configuración amigable para el usuario y dejar que la aplicación aparezca en el diálogo de autogenerar, puede que desee crear un perfil para ella.

Un perfil le dice a &kremotecontrol; (¡y al usuario!) qué hacen las diferentes llamadas a &DBus;. Esencialmente, es una especie de documentación para las llamadas a &DBus;. No tiene que incluir todas las llamadas a &DBus;, sólo las que usted crea que más van a beneficiar a los usuarios finales (normalmente, llamadas al ajuste de la interfaz más que llamadas a la recogida de información).

#### Tutorial de perfiles

1. #### &DBus;

   Asegúrese de que la aplicación para la que quiere crear el perfil proporciona funciones para el bus de sesión de &DBus;. Puede comprobarlo intentando añadir acciones para esa aplicación usando el método manual en &kremotecontrol;. qdbusviewer, una aplicación que se envía con su instalación de Qt4, también es muy buena herramienta para averiguar las capacidades de aplicaciones de &DBus;.

2. #### Paso a paso

   Una vez haya encontrado las funciones apropiadas de &DBus;, necesitará describirlas en un documento `appname.profile.xml`. Aquí tiene una guía rápida de cómo crear esos archivos:

   1. Primero cree un archivo nuevo que incluya el contenido de abajo. La etiqueta name define un nombre corto descriptivo del perfil. Añada una descripción del perfil en la etiqueta description. Añada también su nombre en la etiqueta author, y un número de versión en la etiqueta version. El número de versión es importante para actualizar su perfil. &kremotecontrol; usará el que tenga el número más alto si encuentra múltiples versiones de su 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>Mi perfil</name>
              <version>0.1</version>
              <author>Yo</author>
              <description>Alguna información descriptiva de lo que hace el perfil</description>
              <action>
                  <--  Esta etiqueta se explicará en el siguiente paso-->
              <action>

          </profile>

   2. Después de que haya creado el esqueleto del perfil, es hora de añadir algunas plantillas de acción.

          <?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>Mi perfil</name>
              <version>0.1</version>
              <author>Yo</author>
              <description>Alguna información descriptiva de lo que hace el perfil</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>Mi acción</name>
                <description>Lo que hace esta acción</description>
                <prototype>
                  <--  Esta etiqueta se explicará en el siguiente paso-->
                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              </action>

          </profile>

      Primero defina un identificador único. Esto será utilizado por &kremotecontrol; para emparejar acciones existentes a la plantilla, por ejemplo para leer la descripción. Este idenficador debe ser único en todo el perfil. el atributo de button se usa para la función de autogenerar. Mire el esquema de profile.xsd para una lista completa de los nombres de botón disponibles. El atributo repeat dice si la acción debe ser ejecutada múltiples veces si el botón del mando a distancia se mantiene pulsado. Si la aplicación debe comenzar si no está ya en marcha cuando se pulse un botón, establezca autostart a true. Los atributos button, repeat y autostart son opcionales. Si repeat y autostart no están definidos, se establecerán por omisión en false.

      Añada un nombre corto a la etiqueta name y una descripción, usando la etiqueta description. La propiedad ifmulti especifica qué debería hacer &kremotecontrol; si hay múltiples instancias del programa en marcha cuando se aprieta un botón. Puede usar los siguientes valores para esta propiedad: sendtotop (envía la llamada a la instancia situada en la parte superior de la pila de ventanas), sendtobottom (envía la llamada a la instancia situada en la parte inferior de la pila de ventanas), sendtoall (la envía a todas las instancias), dontsend (no envía la acción a ninguna instancia) y unique (esta aplicación no permite múltiples instancias). Si esta etiqueta no está definida, &kremotecontrol; supone que las aplicaciones no pueden funcionar varias veces a la vez, haciendo que esta etiqueta funcione por omisión como unique.

   3. Después, defina la función de &DBus; que debe ejecutarse en la 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>Mi perfil</name>
              <version>0.1</version>
              <author>Yo</author>
              <description>Información descriptiva sobre lo que hace el perfil</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>Mi acción</name>
                <description>Lo que hace esta acción</description>

                <prototype>
                  <serviceName>org.example.application</serviceName>
                  <node>Some/Node</node>
                  <function>function</function>
                </prototype>

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

          </profile>

      servicename contiene el nombre de servicio de &DBus; para la aplicación; ⪚ org.kde.plasma-desktop. node contiene el nodo de &DBus; respectivo, como App. Añada el nombre de la función sin valor de retorno y argumentos usando la etiqueta function. Por ejemplo, toggleDashboard.

   4. Si la función tiene argumentos, necesitará describir cada uno de ellos proporcionando una descripción para el usuario, un tipo y, opcionalmente, un valor predeterminado. Se puede encontrar una lista de tipos admitidos en el archivo de esquema profile.xsd. La etiqueta comment debería contener una buena descripción amigable para el usuario sobre para qué se usa el argumento. También debería declarar un valor predeterminado para cada argumento entre las etiquetas default. Tenga en cuenta que las plantillas que contienen un botón necesitan suministrar un valor predeterminado para todos los argumentos, o la función de autogenerar producirá funciones defectuosas.

          <?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>Mi perfil</name>
              <version>0.1</version>
              <author>Yo</author>
              <description>Información descriptiva sobre lo que hace la plantilla</description>

              <action id="someUniquId"  repeat="true|false" button="someButton">
                <name>Mi acción</name>
                <description>Lo que hace esta acción</description>

                <prototype>
                  <serviceName>org.example.application</serviceName>
                  <node>SomeNode</node>
                  <function>función</function>

                  <arguments>
                    <argument type="QString">
                      <comment>Comentarios adicionales</comment>
                      <default>someValue</default>
                    </argument>
                  </arguments>

                </prototype>

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

          </profile>

#### Instalación

Para probar y usar el perfil, necesita copiarlo en `$(kde_datadir)/profiles` y reiniciar &kremotecontrol;.

Si desea contribuir con el perfil a &kde; SC, por favor envíelo al equipo de kdeutils a kde-utils-devel@kde.org.