<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kremotecontrol "<application
>KRemoteControl</application
>">
  
  <!ENTITY % Estonian  "INCLUDE"
> <!-- change language only here -->
  <!ENTITY % addindex "IGNORE">
]>

<book id="kremotecontrol" lang="&language;">
  <bookinfo>
    <title
>KDE kaugjuhtimise seadistamine</title>

    <authorgroup>
      <author
><firstname
>Michael</firstname
> <surname
>Zanetti</surname
> <affiliation
> <address
><email
>michael_zanetti@gmx.net</email
></address>
        </affiliation>
      </author>
    <othercredit role="translator"
><firstname
>Marek</firstname
><surname
>Laane</surname
><affiliation
><address
><email
>bald@smail.ee</email
></address
></affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 
    </authorgroup>

    <date
>2010-03-05</date>
    <releaseinfo
>1.0</releaseinfo>

    <copyright>
      <year
>2010</year>
      <holder
>Michael Zanetti</holder>
    </copyright>

    <abstract>
      <para
>&kremotecontrol;i seadistamine: &kde; kaugjuhtimise infrastruktuur. </para>
    </abstract>
    
    <keywordset>
      <keyword
>KDE kaugjuhtimine</keyword>
      <keyword
>kcm_remotecontrol</keyword>
      <keyword
>Kaugjuhtimine</keyword>
    </keywordset>

  </bookinfo>

  <chapter id="introduction">
    <title
>Sissejuhatus</title>

    <para
>See moodul võimaldab seadistada kaugjuhtimisseadmeid. Siin saab määrata toiminguid, mis teostatakse nupule vajutades. Toimingud võivad käivitada rakendusi, neid juhtida või ka anda süsteemseid käske, näiteks arvuti välja lülitada. </para>

    <sect1 id="requirements">
      <title
>Nõuded</title>

      <para
>&kremotecontrol; kasutamiseks peab arvutis olema kaugjuhtimisseadmetele vastav taustaprogramm. Praegu on selleks olemas ainult LIRC-i taustaprogramm. Kui see on korrektselt paigaldatud, ilmub süsteemisalve punane &kremotecontrol;i ikoon <inlinemediaobject
><imageobject
><imagedata fileref="irkick.png" format="PNG"/></imageobject
></inlinemediaobject
>. Kui mitte, siis on hall ja ristiga <inlinemediaobject
><imageobject
><imagedata fileref="irkickoff.png" format="PNG"/></imageobject
></inlinemediaobject
>. </para>

      <para
>Rohkem teavet LIRC-i kohta leiab veebileheküljelt http://www.lirc.org. </para>

    </sect1>
  </chapter>

  <chapter id="usage">
    <title
>Kasutamine</title>

    <para
>Seadistamismoodul koosneb kahest nimekirjast. Vasakul on näha saadaolevad kaugjuhtimisseadmed ja nende režiimid. Paremal on näha kõik antud seadmele ja režiimile määratud toimingud. <screenshot>
      <screeninfo
>KDE kaugjuhtimise seadistamine</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="kcmremotecontrol.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Kaugjuhtimisseadmete ning seadistatud režiimide ja toimingute nimekirjad</phrase>
          </textobject>
        </mediaobject>
      </screenshot>
    </para>

    <sect1 id="modes">
      <title
>Kaugjuhtimisseadmed ja režiimid</title>

      <para
>Kõigil kaugjuhtimisseadmetel võib olla mitu eri režiimi. Eri režiimid võimaldavad nuppudega käivitada eri olukordades eri toiminguid. Võtame kas või tele/video/satelliidi/DVD mitmeotstarbelise puldi. Selle asemel et kasutada eri pulti iga rakenduse jaoks, võib lihtsalt muuta ühe kaugjuhtimisseadme käitumist rakendusele sobivaks, luues eri režiimid ja neid vajaduse korral vahetades. Sõltumata režiimist on alati kasutatavad otse kaugjuhtimisseadmel määratud toimingud. Režiimi jaoks määratud toiminguid käivitatakse ainult siis, kui seade viibib parajasti antud režiimis. Seade saab korraga olla ainult ühes režiimis. Samuti võib režiim puududa, mis tähendab, et nupule vajutades käivitatakse ainult alati saadaolevad toimingud. Lisaks võib kindlaks määrata vaikimisi režiimi, mis omistatakse seadmele automaatselt selle sisselülitamisel. </para>
      <para
>Kaugjuhtimisseadmele saab režiime lisada, kui valida seade ning kasutada nimekirja all olevat nuppu <guibutton
>+</guibutton
>. Režiimi loomisel tuleb sellele ka nimi anda. Soovi korral võib määrata nupu, mida kasutatakse režiimi aktiveerimiseks, ning ikooni, mida näidatakse antud režiimi märguannete korral. Režiime saab kustutada, kui valida režiimi ja klõpsata nupule <guibutton
>-</guibutton
>. <screenshot>
        <screeninfo
>Režiimi lisamine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AddMode.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Uue režiimi lisamine</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
>Kui ühele nupule on omistatud mitu režiimi, kasutatakse seda nuppu vaikimisi režiimide läbikerimiseks. Sel moel saab oma režiime rühmitada. Näiteks võib panna nupu nimega <quote
>Muusika</quote
> läbi kerima &amarok;i ja &juk;i režiime, nupu nimega <quote
>Video</quote
> aga &dragon;i või KMPlayeri režiime. Kui aga soovid, et sul oleks üks nupp kõigi režiimide läbikerimiseks ja teine sama tegemiseks vastupidises suunas, saad ka seda teha kaugjuhtimisseadme seadistustes, valides seadme ja vajutades muutmisnuppu. <screenshot>
        <screeninfo
>Kaugjuhtimisseadme muutmine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="EditMasterMode.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Kaugjuhtimisseadme muutmine</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>

    </sect1>

    <sect1 id="actions">
      <title
>Toimingud</title>

      <para
>Pärast kaugjuhtimisseadme või režiimi valimist saab lisada toiminguid, kasutades selleks paremal asuvat nuppu <guibutton
>+</guibutton
>. Toiminguid saab luua kahel viisil: kasutades malli või sirvides D-Busi seansisiini käsitsi. <screenshot>
        <screeninfo
>Toimingu lisamine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AddAction.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Toimingu lisamine</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
>Toimingu loomine malli põhjal on lihtne, aga suhteliselt piiratud. Mallid on olemas enamiku levinumate rakenduste jaoks, näiteks &amarok; või &kde; rakenduste käivitaja, samuti süsteemsete käskude tarbeks, näiteks arvuti väljalülitamiseks. Mallid on koondatud profiilidesse, mis rühmitab nad sarnase ülesande järgi. Näiteks on olemas profiil <quote
>Energiahaldus</quote
>, mis sisaldab malle arvuti väljalülitamiseks või uneseisundisse saatmiseks. <screenshot>
        <screeninfo
>Profiili toimingu lisamine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AddProfileAction.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Toimingu lisamine malli kasutades</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
>Toimingu loomine D-Busi sirvides näitab kõiki parajasti töötavaid rakendusi. Sirvida saab nii neid kui ka nende funktsioone. See nõuab vähemalt teatavat arusaamist D-Busi töötamise põhimõtetest, kuid nii saab kasutusele võtta rohkem rakendusi ja funktsioone, kui neid leidub mallide nimekirjas. <screenshot>
        <screeninfo
>D-Busi toimingu lisamine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AddDBusAction.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Toimingu lisamine D-Busi kasutades</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
>Toimingut lisades saab muuta ka mõningaid selle omadusi. Esimene määrab kas toiming tuleb täita korduvalt, kui kaugjuhtimisseadme nuppu hoitakse all. See võib olla kasulik selliste toimingute puhul, nagu helitugevuse suurendamine või vähendamine, aga mitte näiteks meediamängija esituse/pausi lülitamise korral. Teine määrab, kas sihtrakendus tuleb nupu vajutamisel käivitada, kui see veel ei tööta. Sel valikul ei ole mõistagi mõtet rakendust sulgevate toimingute puhul. Kolmas ja vimane valik väimaldab määrata, milline rakenduse isend saab toimingu, kui rakendusest töötab enam kui üks isend. Kui oled valinud rakenduse, millel mitu isendit ei saa üheaegselt töötada, siis seda valikut kasutada ei saa. </para>
      <para>
        <screenshot>
        <screeninfo
>Toimingu lisamise valikud</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AddActionOptions.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Toimingute valikud</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
>Toiminguid võib ka automaatselt luua nõustaja nupu abil. Sel juhul püüab &kremotecontrol; sinu eest sobitada nupud funktsioonidega. Automaatse lisamise dialoog näitab lipukesega kõiki saadaolevaid mallikogusid. Sõltuvalt lipukese värvist toetab profiil kaugjuhtimisseadet täielikult, osaliselt või ei toeta üldse. Roheline lipuke tähendab, et kõik mallid sobivad sinu kaugjuhtimisseadmega, kollane, et mõned mallid sobivad, ning punane seda, et ühtegi malli ei saa sobitada sinu kaugjuhtimisseadme nuppudega. See ei tähenda veel, et malle ei saakski kasutada. Need tuleb sel juhul lihtsalt ükshaaval seadistada, määrates ise vajaliku nupu. <screenshot>
        <screeninfo
>Automaatne loomine</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="AutoPopulate.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Toimingute automaatne loomine mallide abil</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </para>
      <para
><emphasis role="strong"
>Märkus:</emphasis
> kui kaugjuhtimisseade ei ole üheski profiilis toetatud, võib põhjust peituda selles, et sa pole seadistanud LIRC-i kasutama nimeruume. </para>
    </sect1>
  </chapter>
  <chapter id="advancedInformation">
    <title
>Muu teave</title>
    <para
>Selles peatükis tuleb juttu asjadest, mis võivad pakkuda huvi kogenenumatele kasutajatele või arendajatele. Muu hulgas saab siin teada, kuidas luua ise profiile. </para>

    <sect1 id="profileCreation">
      <title
>Profiili loomine</title>

      <sect2>
        <title
>Sissejuhatus</title>
        <para
>&kremotecontrol; võimaldab ilma probleemideta kasutada peaaegu kõiki &DBus;i tundvaid rakendusi. Kasutajasõbraliku seadistamise huvides ning selleks, et rakendus ilmuks automaatse lisamise dialoogis, on siiski mõttekas luua vastav profiil. </para>
        <para
>Profiil annab &kremotecontrol;ile (ja kasutajale!) teada, mida eri &DBus;i väljakutsed täpselt teevad. Põhimõtteliselt ongi niisiis tegemist &DBus;i väljakutsete dokumentatsiooniga. Sa ei pea lisama kõiki &DBus;i väljakutseid, piisab neist, millest sinu meelest kasutaja võiks kõige rohkem kasu saada (reeglina <quote
>liidese kohendamise</quote
> väljakutsed, mitte aga <quote
>teabe kogumise</quote
> väljakutsed). </para>
      </sect2>

      <sect2>
        <title
>Profiilist lähemalt</title>
        <procedure>

          <step>
            <title
>&DBus;</title>
            <para
>Kontrolli, kas rakendus, millele soovid profiili luua, pakub ikka funktsioone &DBus;i seansisiinil. Põhimõtteliselt saab seda kontrollida, kui lisada rakendusele toiminguid &kremotecontrol;i käsitsimeetodi abil. Programm <quote
>qdbusviewer</quote
>, mis on kaasas Qt4-ga, on samuti väga hea tööriist rakenduste &DBus;-võimekuse tundmaõppimiseks. </para>
          </step>

          <step>
            <title
>Samm-sammult</title>
            <para
>Kui oled tuvastanud sobivad &DBus;i funktsioonid, tuleb need kirjeldada dokumendis <filename
>appname.profile.xml</filename
>. Toome siin ära lühikese juhise selliste failide loomiseks: </para>

            <substeps>
              <step>
                <para
>Kõigepealt loo uus fail alloleva sisuga. Silt <quote
>name</quote
> määrab kindlaks profiili kirjeldava lühinime. Profiili kirjeldus käib sildi <quote
>description</quote
> alla. Lisa ka oma nimi sildi <quote
>author</quote
> ja versiooninumber sildi <quote
>version</quote
> all. Versiooninumber on oluline profiili uuendamisel. &kremotecontrol; kasutab juhul, kui süsteemis leitakse profiili mitu versiooni, suurema numbriga versiooni. </para>
                <programlisting
>&lt;xml version="1.0" encoding="UTF-8"?>
&lt;profile xmlns="urn:org-kde-kremotecontrol"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd"&gt;

    &lt;name&gt;Minu profiil&lt;/name&gt;
    &lt;version&gt;0.1&lt;/version&gt;
    &lt;author&gt;Mina&lt;/author&gt;
    &lt;description&gt;Põgus kirjeldus, milleks see profiil on mõeldud&lt;/description&gt;
    &lt;action&gt;
        &lt;--  Seda silti seletatakse järgmise sammu juures--&gt;
    &lt;action&gt;

&lt;/profile&gt;
                </programlisting>
              </step>

              <step>
                <para
>Kui profiili kondikava on loodud, tasub lisada mõned toimingumallid. </para>

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

    &lt;name&gt;Minu profiil&lt;/name&gt;
    &lt;version&gt;0.1&lt;/version&gt;
    &lt;author&gt;Mina&lt;/author&gt;
    &lt;description&gt;Põgus kirjeldus, milleks see profiil on mõeldud&lt;/description&gt;

    &lt;action id="someUniquId"  repeat="true|false" button="mingiNupp"&gt;
      &lt;name&gt;Minu toiming&lt;/name&gt;
      &lt;description&gt;Toimingu kirjeldus&lt;/description&gt;
      &lt;prototype&gt;
        &lt;--  Seda silti kirjeldatakse järgmise sammu juures--&gt;
      &lt;prototype&gt;
      &lt;ifmulti&gt;ifMultiOption&lt;/ifmulti&gt;
    &lt;/action&gt;
    
&lt;/profile&gt;
                </programlisting>
               <para
>Kõigepealt tuleb määrata unikaalne identifikaator. Seda kasutab &kremotecontrol; olemasolevate toimingute sobitamisel malliga, näiteks kirjelduse lugemisel. ID peab olema unikaalne kogu profiilis. Atribuuti <quote
>button</quote
> kasutatakse automaatse loomise funktsiooni jaoks. Saadaolevate nuppude täielikku nimekirja näeb <quote
>profile.xsd</quote
> skeemifailis. Atribuut <quote
>repeat</quote
> määrab, kas toimingut tuleb käivitada mitu korda, kui kaugjuhtimisseadmel hoitakse nuppu all. Kui rakendus tuleb käivitada, kui ta nupule vajutamise ajal veel ei tööta, tuleb atribuudi <quote
>autostart</quote
> väärtuseks määrata <quote
>true</quote
>. Atribuudid <quote
>button</quote
>, <quote
>repeat</quote
> ja <quote
>autostart</quote
> ei ole kohustuslikud. Kui <quote
>repeat</quote
> ja <quote
>autostart</quote
> on defineerimata, eeldatakse, et nende väärtus on <quote
>false</quote
>. </para>
                 
               <para
>Lühinimi tuleb lisada sildile <quote
>name</quote
> ja kirjeldus sildile <quote
>description</quote
>. Omadus <quote
>ifmulti</quote
> määrab kndlaks, mida &kremotecontrol; peab tegema, kui nupu vajutamise ajal töötab rakenduse mitu isendit. Selle omaduse puhul saab kasutada järgmisi väärtusi: <quote
>sendtotop</quote
> (väljakutse saatmine aknapinu pealmisele isendile), <quote
>sendtobottom</quote
> (väljakutse saatmine aknapinu alumisele isendile), <quote
>sendtoall</quote
> (väljakutse saatmine kõigile isenditele), <quote
>dontsend</quote
> (väljakutset ei saadeta ühelegi isendile) ja <quote
>unique</quote
> (rakendus ei luba mitut isendit käivitada). Kui silti pole defineeritud, eeldab &kremotecontrol;, et rakendused ei saa käivitada mitut isendit, niisiis vaikimisi kasutatakse sildi väärtust <quote
>unique</quote
>. </para>
              </step>

              <step>
                <para
>Seejärel tuleb defineerida käivitatav &DBus;i funktsioon sildis <quote
>prototype</quote
>: </para>
                <programlisting
>&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;profile xmlns="urn:org-kde-kremotecontrol"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd"&gt;

    &lt;name&gt;Minu profiil&lt;/name&gt;
    &lt;version&gt;0.1&lt;/version&gt;
    &lt;author&gt;Mina&lt;/author&gt;
    &lt;description&gt;Põgus kirjeldus, milleks see profiil on mõeldud&lt;/description&gt;

    &lt;action id="someUniquId"  repeat="true|false" button="mingiNupp"&gt;
      &lt;name&gt;Minu toiming&lt;/name&gt;
      &lt;description&gt;Toimingu kirjeldus&lt;/description&gt;

      &lt;prototype&gt;
        &lt;serviceName&gt;org.näidis.rakendus&lt;/serviceName&gt;
        &lt;node&gt;Mingi/Sõlm&lt;/node&gt;
        &lt;function&gt;function&lt;/function&gt;
      &lt;/prototype&gt;

      &lt;ifmulti&gt;ifMultiOption&lt;/ifmulti&gt;
    &lt;/action&gt;

&lt;/profile&gt;
                </programlisting>
                <para
><quote
>servicename</quote
> sisaldab rakenduse &DBus;i teenuse nime, &eg; <quote
>org.kde.plasma-desktop</quote
>. <quote
>node</quote
> sisaldab vastavat &DBus;i sõlme, näiteks <quote
>App</quote
>. Siia tuleb lisada funktsiooni nimi ilma tagastatava väärtuseta ja argumendid, kasutades silti <quote
>function</quote
>, näiteks <quote
>toggleDashboard</quote
>. </para>
              </step>

              <step>
                <para
>Kui funktsioonil on argumente, tuleb need kõik kirjeldada, määrates kasutajale mõeldud kirjelduse, tüübi ja soovi korral ka vaikeväärtuse. Toetatud tüüpide loendi leiab skeemifailit <quote
>profile.xsd</quote
>. Silt <quote
>comment</quote
> peab sisaldama kena kasutajale mõistetavat argumendi kirjeldust. Samuti tuleks deklareerida iga funktsiooni vaikeväärtus sildis <quote
>default</quote
>. Pane tähele, et nuppu sisaldavad mallid peavad pakkuma vaikeväärtuse kõigile argumentidele, sest muidu luuakse automaatsel loomisel vigased funktsioonid. </para>
      
                  <programlisting
>&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;profile xmlns="urn:org-kde-kremotecontrol"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="urn:org-kde-kremotecontrol file:profile.xsd"&gt;

   &lt;name&gt;Minu profiil&lt;/name&gt;
    &lt;version&gt;0.1&lt;/version&gt;
    &lt;author&gt;Mina&lt;/author&gt;
    &lt;description&gt;Põgus kirjeldus, milleks see profiil on mõeldud&lt;/description&gt;

    &lt;action id="someUniquId"  repeat="true|false" button="mingiNupp"&gt;
      &lt;name&gt;Minu toiming&lt;/name&gt;
      &lt;description&gt;Toimingu kirjeldus&lt;/description&gt;

      &lt;prototype&gt;
        &lt;serviceName&gt;org.näidis.rakendus&lt;/serviceName&gt;
        &lt;node&gt;MingiSõlm&lt;/node&gt;
        &lt;function&gt;funktsioon&lt;/function&gt;

        &lt;arguments&gt;
          &lt;argument type="QString"&gt;
            &lt;comment&gt;Lisakommentaar&lt;/comment&gt;
            &lt;default&gt;mingiVäärtus&lt;/default&gt;
          &lt;/argument&gt;
        &lt;/arguments&gt;

      &lt;/prototype&gt;

      &lt;ifmulti&gt;ifMultiOption&lt;/ifmulti&gt;
    &lt;/action&gt;

&lt;/profile&gt;
                  </programlisting>
              </step>
            </substeps>
          </step>
        </procedure>
      </sect2>
      <sect2>
        <title
>Paigaldamine</title>
          <para
>Profiili testimiseks ja kasutamiseks tuleb see kopeerida kataloogi <filename
>$(kde_datadir)/profiles</filename
> ja taaskäivitada &kremotecontrol;. </para>
          <para
>Kui soovid annetada profiili &kde; SC tarbeks, saada see palun kdeutilsi meeskonnale aadressil <email
>kde-utils-devel@kde.org</email
>. </para>
        </sect2>
    </sect1>
  </chapter>
</book>
