# Configuração do controle remoto por infravermelho do &kde;

Frank
Scheffold

    fscheffold@googlemail.com

Michael
Zanetti

    michael_zanetti@gmx.net

Gav
Wood

    gav@kde.org

Marcus
Gama

    marcus.gama@gmail.com

Tradução
2010-01-06
2.0
2004
Gav Wood
2010
Frank Scheffold
Michael Zanetti

Configuração do &kdelirc; A infraestrutura para a funcionalidade de controle remoto por infravermelho do &kde;.

KDE
irkick
kdelirc
kcmlirc
lirc

## Introdução

### Requisitos

Para usar a plataforma do &kdelirc;, você deverá ter o LIRC configurado no seu computador. Se estiver devidamente configurado, o ícone do &kdelirc; na bandeja irá aparecer em vermelho . Caso contrário, aparecerá em cinza e tracejado .

Para mais informações sobre o LIRC e como configurá-lo, visite a página Web do projeto em http://www.lirc.org.

Nota: Ao configurar o LIRC, recomenda-se que use os espaços de nomes dos botões.

## Utilização

Existem três páginas que lhe fornecem diversas seções de configuração e informações adicionais. A primeira página, chamada Funções do controlador, é usada para configurar os modos e ações para todos os controles disponíveis. A página Visão Geral dos Perfis contém alguns detalhes sobre os perfis disponíveis. A página Controles Disponíveis mostra-lhe algumas informações adicionais sobre os seus controles remotos. Selecionar um controle apresenta uma ideia geral sobre os seus botões.

### Funções do Controlador

#### Controles remotos e modos

Cada controle remoto poderá ter um conjunto de modos. Ter vários modos permite que o mesmo botão execute ações diferentes em diferentes situações. Um bom exemplo são os controles remotos multi-usos para TV/Vídeo/Satélite/DVD - em vez de usar vários controles remotos para os diferentes aparelhos, você pode mudar o comportamento de um controle remoto para adaptá-lo a um aparelho, criando modos diferentes e alternando entre eles conforme suas necessidades.

As ações definidas diretamente para o controle remoto estão sempre disponíveis, independentemente do modo em que está o controle no momento. As ações definidas num determinado modo só são executadas se o controle estiver definido no momento para esse modo. Cada controle remoto só poderá estar num modo de cada vez. Ele também poderá estar sem qualquer modo, o que significa que só são executadas as ações sempre disponíveis, sempre que pressionar um botão. Você poderá também definir um modo padrão, o qual será o modo atribuído automaticamente na inicialização.

A lista contém todos os controles remotos detectados no seu sistema. Os modos poderão ser adicionados e removidos se selecionar o controle remoto desejado e se usar os botões diretamente abaixo da lista. O botão Editar permite a edição dos modos existentes.

#### Atribuir ações aos botões

O &kdelirc; conhece dois tipos diferentes de ações. As opções do modo e as ações a executar. As opções do modo permitem alterar o comando atual para um modo diferente, enquanto as ações normais permitem a execução de comandos através de &DBus;. Ao definir uma nova ação executável, você terá duas opções. Uma é usar um modelo, enquanto a outra obriga a definir manualmente todas as opções possíveis. Os modelos das ações são chamados de perfis. Embora a utilização de perfis para criar ações seja muito mais simples e intuitiva, não é possível acessar a todas as funções com os perfis. As ações mais avançadas poderão ser configuradas se selecionar manualmente as funções e os seus parâmetros.

Para adicionar uma ação, use o botão Adicionar... no canto inferior direito. Irá aparecer um assistente que lhe pergunta o tipo de ação que deseja criar. A primeira opção irá criar uma ação com base num perfil. A segunda opção permite-lhe criar manualmente a ação. Lembre-se que a aplicação que deseja controlar deverá estar em execução no momento em que configura a ação, ou então não irá aparecer na lista de aplicações disponíveis. A terceira opção permite criar uma ação de mudança de modo. Selecione o tipo desejado da ação e siga os passos por todo o assistente.

As ações também poderão ser preenchidas automaticamente com o botão Auto-povoar.... Isto significa que o &kdelirc; poderá tentar corresponder os botões a funções para você. A janela de auto-povoamento mostra todos os perfis disponíveis com uma bandeira. Dependendo da cor da bandeira, o seu comando é suportado por completo, parcialmente ou não suportado por esse perfil. O verde corresponde ao suporte completo, o amarelo ao suporte parcial e o vermelho à ausência de suporte.

Nota: Se o seu controle remoto não for compatível com nenhum perfil, você poderá não ter configurado o Lirc com espaços de nomes.

### Visão Geral dos Perfis

A página de Visão Geral dos Perfis fornece alguma informação sobre os perfis disponíveis. Ao selecionar um perfil, você poderá ver algumas informações detalhadas, como os detalhes do autor e uma lista com todas as ações definidas. Cada item de ação contém informações sobre as opções adicionais, um comentário e o identificador do botão a usar pela função de preenchimento automático.

Se você quiser contribuir com perfis de aplicações, veja o capítulo de informação avançada.

### Controles Disponíveis

Esta página fornece informações detalhadas sobre os seus controles remotos. Você poderá verificar aqui se os seus controles remotos foram reconhecidos corretamente pelo sistema.

## Informação Avançada

Este capítulo irá discutir mais algumas informações que poderão ser interessantes para usuários avançados ou programadores. Você irá aprender a criar os seus próprios perfis.

### Criação do Perfil

#### Introdução

Todas as aplicações com suporte para &DBus; poderão ser usadas com o &kdelirc; sem quaisquer ações posteriores. Contudo, para fornecer uma configuração amigável e permitir à aplicação aparecer na janela de auto-povoamento (preenchimento automático), você poderá querer criar um perfil para ele.

Um perfil diz ao &kdelirc; (e ao usuário!) o que as várias chamadas de &DBus; fazem. Essencialmente, é uma espécie de documentação das chamadas de &DBus;. Você não terá que incluir todas as chamadas de &DBus; - apenas as que acha que os usuários iriam se beneficiar mais (normalmente as chamadas de ajuste da interface em vez das chamadas de coleta de informações).

#### Criação

1. ##### &DBus;

   Certifique-se de que a aplicação para a qual quer criar o perfil dispõe de funções através do &DBus;. Basicamente, você poderá verificar isto ao tentar adicionar ações para essa aplicação, usando o método manual no &kdelirc;. A aplicação qdbusviewer, que vem com a sua instalação do Qt4, também é uma ótima ferramenta para descobrir as capacidades de &DBus; por parte das aplicações.

2. ##### Criar um perfil

   Assim que tenha descoberto as funções apropriadas de &DBus;, você terá que descrevê-las num documento `aplicação.profile.xml`. Aqui está um guia rápido sobre como criar esses arquivos:

   1. Crie primeiro um novo arquivo que contém os seguintes dados. Substitua o minha-aplicação pelo nome do executável da aplicação e Minha Aplicação por um nome de aplicação descritivo.

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

            <profile id="minha-aplicação" servicename="Minha Aplicação">
            </profile>

   2. Dentro da marca profile, adicione o nome e a informação do autor. A marca instances diz ao &kdelirc; se a aplicação poderá ser executada várias vezes ou não. Configure o unique como 0 se puder iniciar a aplicação várias vezes (por padrão, é igual a 1). A propriedade ifmulti define o que o &kdelirc; deverá fazer, se existirem várias instâncias rodando, quando pressionar num botão. As opções são dontsend (não fazer nada se >1 instância), sendtoone (enviar a chamada a uma instância escolhida de forma arbitrária) e sendtoall (enviar a todas as instâncias). O valor padrão é dontsend, contudo, o sendtoone poderá ser o mais útil em muitas circunstâncias.

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

            <profile id="minha-aplicação" servicename="Minha Aplicação">
              <name>Minha Aplicação</name>
              <author>Eu</author>
              <instances unique="0" ifmulti="sendtoone"/>
            </profile>

   3. Preencha o perfil com as marcas de ações 'action'. Cada uma dessas marcas deverá conter o nome do objeto de &DBus; e o protótipo da função.

      O &kdelirc; necessita de alguns atributos adicionais para saber como lidar com uma ação. A marca button é usada para a função de preenchimento automático. Veja a documentação da API do Solid para obter uma lista completa dos nomes dos botões disponíveis. A marca repeat diz se a ação deverá ser executada várias vezes, caso o botão do comando se mantenha pressionado (0 = Não, 1 = Sim). A marca autostart define se a aplicação deverá ser iniciada, caso não esteja já em execução.

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

            <profile id="minha-aplicação" servicename="Minha Aplicação">
              <name>Minha Aplicação</name>
              <author>Eu</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MinhaAplicação" prototype="void mostrarInt(short numero)"
                button="Menu" repeat="0" autostart="0">
              </action>
            </profile>

   4. Adicione um nome e um comentário à ação. Isto é mostrado na interface do usuário do &kdelirc;.

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">
            <profile id="minha-aplicação" servicename="Minha Aplicação">
              <name>Minha Aplicação</name>
              <author>Eu</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MinhaAplicação" prototype="void mostrarInt(short numero)"
                  button="Menu" repeat="0" autostart="0">
                <name>Mostrar um Inteiro</name>
                <comment>Mostra um número inteiro configurável</comment>
              </action>
            </profile>

   5. Descreva cada argumento com um comentário e um atributo de tipo. Uma lista com os tipos válidos poderá ser encontrada no arquivo de descrição dos perfis. Você deverá declarar um valor padrão para cada argumento, dentro das marcas default:

          <?xml version="1.0" ?>
          <!DOCTYPE profile SYSTEM "profile.dtd">
            <profile id="minha-aplicação" servicename="Minha Aplicação">
              <name>Minha Aplicação</name>
              <author>Eu</author>
              <instances unique="0" ifmulti="sendtoone"/>
              <action objid="MinhaAplicação" prototype="void mostrarInt(short numero)"
                  button="Menu" repeat="0" autostart="0">
                <name>Mostrar Inteiro</name>
                <comment>Mostra um número inteiro configurável</comment>
                <argument type="int">
                  <default>5</default>
                  <comment>O número inteiro a apresentar</comment>
                </argument>
              </action>
            </profile>

#### Instalação

Para testar e usar o perfil, você terá que copiá-lo para o `$(kde_datadir)/profiles` e reiniciar o &kdelirc;.

Se você quiser contribuir o perfil para o &kde; SC, envie-o por favor para a equipe do 'kdeutils' em kde-utils-devel@kde.org.