# KDE kaugjuhtimise seadistamine

## Sissejuhatus

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.

### Nõuded

&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 . Kui mitte, siis on hall ja ristiga .

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

## Kasutamine

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. KDE kaugjuhtimise seadistamine Kaugjuhtimisseadmete ning seadistatud režiimide ja toimingute nimekirjad

### Kaugjuhtimisseadmed ja režiimid

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.

Kaugjuhtimisseadmele saab režiime lisada, kui valida seade ning kasutada nimekirja all olevat nuppu +. 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 -. Režiimi lisamine Uue režiimi lisamine

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 Muusika läbi kerima &amarok;i ja &juk;i režiime, nupu nimega Video 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. Kaugjuhtimisseadme muutmine Kaugjuhtimisseadme muutmine

### Toimingud

Pärast kaugjuhtimisseadme või režiimi valimist saab lisada toiminguid, kasutades selleks paremal asuvat nuppu +. Toiminguid saab luua kahel viisil: kasutades malli või sirvides D-Busi seansisiini käsitsi. Toimingu lisamine Toimingu lisamine

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 Energiahaldus, mis sisaldab malle arvuti väljalülitamiseks või uneseisundisse saatmiseks. Profiili toimingu lisamine Toimingu lisamine malli kasutades

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. D-Busi toimingu lisamine Toimingu lisamine D-Busi kasutades

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.

Toimingu lisamise valikud Toimingute valikud

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. Automaatne loomine Toimingute automaatne loomine mallide abil

Märkus: kui kaugjuhtimisseade ei ole üheski profiilis toetatud, võib põhjust peituda selles, et sa pole seadistanud LIRC-i kasutama nimeruume.

## Muu teave

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.

### Profiili loomine

#### Sissejuhatus

&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.

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 liidese kohendamise väljakutsed, mitte aga teabe kogumise väljakutsed).

#### Profiilist lähemalt

1. #### &DBus;

   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 qdbusviewer, mis on kaasas Qt4-ga, on samuti väga hea tööriist rakenduste &DBus;-võimekuse tundmaõppimiseks.

2. #### Samm-sammult

   Kui oled tuvastanud sobivad &DBus;i funktsioonid, tuleb need kirjeldada dokumendis `appname.profile.xml`. Toome siin ära lühikese juhise selliste failide loomiseks:

   1. Kõigepealt loo uus fail alloleva sisuga. Silt name määrab kindlaks profiili kirjeldava lühinime. Profiili kirjeldus käib sildi description alla. Lisa ka oma nimi sildi author ja versiooninumber sildi version all. Versiooninumber on oluline profiili uuendamisel. &kremotecontrol; kasutab juhul, kui süsteemis leitakse profiili mitu versiooni, suurema numbriga versiooni.

          <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>Minu profiil</name>
              <version>0.1</version>
              <author>Mina</author>
              <description>Põgus kirjeldus, milleks see profiil on mõeldud</description>
              <action>
                  <--  Seda silti seletatakse järgmise sammu juures-->
              <action>

          </profile>

   2. Kui profiili kondikava on loodud, tasub lisada mõned toimingumallid.

          <?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>Minu profiil</name>
              <version>0.1</version>
              <author>Mina</author>
              <description>Põgus kirjeldus, milleks see profiil on mõeldud</description>

              <action id="someUniquId"  repeat="true|false" button="mingiNupp">
                <name>Minu toiming</name>
                <description>Toimingu kirjeldus</description>
                <prototype>
                  <--  Seda silti kirjeldatakse järgmise sammu juures-->
                <prototype>
                <ifmulti>ifMultiOption</ifmulti>
              </action>

          </profile>

      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 button kasutatakse automaatse loomise funktsiooni jaoks. Saadaolevate nuppude täielikku nimekirja näeb profile.xsd skeemifailis. Atribuut repeat 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 autostart väärtuseks määrata true. Atribuudid button, repeat ja autostart ei ole kohustuslikud. Kui repeat ja autostart on defineerimata, eeldatakse, et nende väärtus on false.

      Lühinimi tuleb lisada sildile name ja kirjeldus sildile description. Omadus ifmulti 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: sendtotop (väljakutse saatmine aknapinu pealmisele isendile), sendtobottom (väljakutse saatmine aknapinu alumisele isendile), sendtoall (väljakutse saatmine kõigile isenditele), dontsend (väljakutset ei saadeta ühelegi isendile) ja unique (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 unique.

   3. Seejärel tuleb defineerida käivitatav &DBus;i funktsioon sildis 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>Minu profiil</name>
              <version>0.1</version>
              <author>Mina</author>
              <description>Põgus kirjeldus, milleks see profiil on mõeldud</description>

              <action id="someUniquId"  repeat="true|false" button="mingiNupp">
                <name>Minu toiming</name>
                <description>Toimingu kirjeldus</description>

                <prototype>
                  <serviceName>org.näidis.rakendus</serviceName>
                  <node>Mingi/Sõlm</node>
                  <function>function</function>
                </prototype>

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

          </profile>

      servicename sisaldab rakenduse &DBus;i teenuse nime, ⪚ org.kde.plasma-desktop. node sisaldab vastavat &DBus;i sõlme, näiteks App. Siia tuleb lisada funktsiooni nimi ilma tagastatava väärtuseta ja argumendid, kasutades silti function, näiteks toggleDashboard.

   4. 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 profile.xsd. Silt comment peab sisaldama kena kasutajale mõistetavat argumendi kirjeldust. Samuti tuleks deklareerida iga funktsiooni vaikeväärtus sildis default. Pane tähele, et nuppu sisaldavad mallid peavad pakkuma vaikeväärtuse kõigile argumentidele, sest muidu luuakse automaatsel loomisel vigased funktsioonid.

          <?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>Minu profiil</name>
              <version>0.1</version>
              <author>Mina</author>
              <description>Põgus kirjeldus, milleks see profiil on mõeldud</description>

              <action id="someUniquId"  repeat="true|false" button="mingiNupp">
                <name>Minu toiming</name>
                <description>Toimingu kirjeldus</description>

                <prototype>
                  <serviceName>org.näidis.rakendus</serviceName>
                  <node>MingiSõlm</node>
                  <function>funktsioon</function>

                  <arguments>
                    <argument type="QString">
                      <comment>Lisakommentaar</comment>
                      <default>mingiVäärtus</default>
                    </argument>
                  </arguments>

                </prototype>

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

          </profile>

#### Paigaldamine

Profiili testimiseks ja kasutamiseks tuleb see kopeerida kataloogi `$(kde_datadir)/profiles` ja taaskäivitada &kremotecontrol;.

Kui soovid annetada profiili &kde; SC tarbeks, saada see palun kdeutilsi meeskonnale aadressil kde-utils-devel@kde.org.