KDE afstandsbediening-instellingen Michael Zanetti Vertaler/Nalezer: Tom Albers
KDE afstandsbediening-instellingen
2
Inhoudsopgave 1
2
3
Inleiding
5
1.1
Benodigdheden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Gebruik 2.1 Afstandsbedieningen en modi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 6
2.2
Acties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Geavanceerde informatie 3.1 Een profiel aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 11
3.1.1
Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.1.2 3.1.3
Profiel HowTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 14
Samenvatting KRemoteControl instellingen: functionaliteit.
De infrastructuur voor KDE’s afstandsbediening-
KDE afstandsbediening-instellingen
Hoofdstuk 1
Inleiding Deze module stelt u in staat uw afstandsbedieningen in te stellen. U kunt acties die uitgevoerd worden door het indrukken van een knop toekennen. Acties kunnen programma’s starten, deze besturen of systeemcommando’s uitvoeren, zoals het afsluiten van uw systeem.
1.1
Benodigdheden
Om KRemoteControl te kunnen gebruiken moet u een compatibele backend voor afstandsbedieningen op uw computer hebben ingesteld. Op dit moment is er alleen een backend voor LIRC beschikbaar. Als LIRC juist is ingesteld, dan licht het pictogram KRemoteControl rood op in het
systeemvak
. Zo niet, dan is het grijs met een kruis
Voor meer informatie over LIRC kunt u de website raadplegen. http://www.lirc.org.
5
. Deze is te vinden op
KDE afstandsbediening-instellingen
Hoofdstuk 2
Gebruik De module voor instellingen bestaat uit twee lijsten. De linker lijst toont de verschillende afstandsbedieningen en hun modi. De rechter lijst toont de alle ingestelde acties voor de geselecteerde afstandsbediening en modus.
2.1
Afstandsbedieningen en modi
Elke afstandsbediening kan een aantal verschillende modi hebben. Meerdere modi maken het mogelijk om via dezelfde knop een andere actie te laten uitvoeren in verschillende situaties. Denk aan een meervoudige afstandsbediening voor tv/video/sateliet/dvd. In plaats van het gebruik van meerdere aparte afstandsbediening voor verschillende applicaties, kunt u het gedrag van één afstandsbediening aanpassen aan een applicatie door verschillende modi aan te maken. Directe acties op een afstandsbediening zijn per definitie onafhankelijk van de modus en dus altijd beschikbaar. Acties in een modus worden alleen uitgevoerd als de afstandsbediening in die modus staat. Een afstandsbediening kan op een bepaald moment slechts in één modus staan. Het kan ook in geen modus staan zodat alleen de altijd beschikbare acties uitgevoerd kunnen worden bij 6
KDE afstandsbediening-instellingen
het drukken op een knop. U kunt ook een standaard modus definiëren, die automatisch wordt toegekend bij opstarten. U kunt modi toevoegen aan een afstandsbediening door de afstandsbediening te kiezen en de +-knop naast de lijst te gebruiken. Bij het aanmaken van een modus dient u een naam ervoor op te geven. Optioneel kunt u een knop toewijzen die gebruikt moet worden om de modus te activeren en een pictogram die wordt gebruikt om deze modus aan te geven. U kunt modi verwijderen door ze te selecteren en de knop - te gebruiken.
Standaard, als er meerdere modi zijn toegekend aan dezelfde knop, wordt de knop gebruikt om door deze modi te lopen. Op deze manier kunt u uw modi groeperen. U kunt een knop met de naam ‘Muziek’ toekennen aan modi voor Amarok en JuK terwijl een knop met de naam ‘Video’ door de modi voor Dragon Player of KMplayer kan lopen. Als u liever een knop wilt hebben voor het doorlopen van alle modi en een tweede om om in de omgekeerde richting door de modi te lopen, dan kunt u dit gedrag instellen in de voorkeuren van een afstandsbediening door een afstandsbediening te selecteren en op de knop voor bewerken te drukken.
2.2
Acties
Na het selecteren van een afstandsbediening of een modus kunt u er acties aan toevoegen met gebruik van de knop + rechts. Er zijn twee verschillende manieren hoe acties aan te maken. Door een sjabloon te gebruiken of door handmatig langs de D-Bus-sessiebus te lopen.
7
KDE afstandsbediening-instellingen
Acties aanmaken met sjablonen is gemakkelijker maar beperkt. U kunt sjablonen voor de meeste gewone toepassingen, zoals Amarok of de KDE-programmastarter en systeemcommando’s voor het afsluiten van uw systeem vinden. Deze sjablonen zijn verzameld in profielen die ze groeperen in gelijksoortige taken. Er is bijvoorbeeld een profiel genaamd ‘Energiebeheer’ die sjablonen bevat voor afsluiten of onderbreken van uw computer.
Acties aanmaken door langs de D-Bus-lijsten van alle nu actieve toepassingen te lopen. U kunt ze langslopen en langs hun functies. Dit vereist een basiskennis van hoe D-Bus werkt, maar u kunt meer toepassingen en functies gebruiken dan die in de lijst met sjablonen.
8
KDE afstandsbediening-instellingen
Bij het toevoegen van een actie kunt u enkele opties aanpassen. De eerste hiervan definieert of de acties herhaaldelijk moeten worden uitgevoerd bij het ingedrukt houden van de knop op de afstandsbediening. Dit is nuttig bij actions zoals het verkleinen of vergroten van het volume kan ongewenst zijn voor acties zoals omschakelen van afspelen/pauzeren op een mediaspeler. De tweede definieert of de doeltoepassing gestart moet worden als deze nog niet actief is wanneer de knop wordt ingedrukt. Het zou bijvoorbeeld zinloos zijn voor acties die een toepassing sluit om deze te starten. De derde en laatste optie voor acties is om te definiëren welk exemplaar van een toepassing de actie zou moeten ontvangen als er meer dan één exemplaar actief is. Als u een toepassing hebt geselecteerd waarvan alleen één exemplaar actief kan zijn, dan is deze optie uitgeschakeld.
Acties kunnen ook automatisch worden toegekend met de assistentknop. Dit betekent dat KRemoteControl kan proberen om knoppen voor u overeen te laten komen met functies. De dialoog Autobevolken toont alle beschikbare sjabloonverzamelingen met een vlag. Ahankelijk van de kleur van de vlag wordt uw afstandsbediening volledig, gedeeltelijk of niet ondersteund door dat profiel. Groen betekent alle sjablonen in de verzameling komen met uw afstandsbediening overeen, geel betekent enkele komen overeen en rood betekent geen van de sjablonen komt overeen met de knoppen van uw afstandsbediening. Dit betekent niet dat u deze sjablonen niet kan 9
KDE afstandsbediening-instellingen
gebruiken. U moet de gewenste knoppen eenvoudig een voor een zelf instellen.
Opmerking: Als uw afstandsbediening niet compatibel is met enig profiel dan zou het kunnen dat u lirc niet hebt geconfigureerd met gebruik van naamruimten.
10
KDE afstandsbediening-instellingen
Hoofdstuk 3
Geavanceerde informatie Dit hoofdstuk laat enige informatie zien die interessant zou kunnen zijn voor meer geavanceerde gebruikers of ontwikkelaars. U leert hoe uw eigen profielen aan te maken.
3.1 3.1.1
Een profiel aanmaken Inleiding
Bijna alle programma’s die D-Bus kunnen gebruiken, kunnen gebruikt worden met KRemoteControl zonder verdere acties. U zou echter, om een gebruikersvriendelijke configuratie te leveren en om de het programma te laten verschijnen in de auto-invul-dialoog, er een profiel voor kunnen aanmaken. Een profiel vertelt aan KRemoteControl (en de gebruiker!) wat de verschillende D-Busaanroepen doen. In essentie is dit een soort van documentatie voor D-Bus-aanroepen. U hoeft niet alle D-Bus-aanroepen mee te nemen - alleen diegenen waarvan u het gevoel hebt dat de eindgebruiker er het meeste profijt van heeft (gebruikelijk is aanroepen voor ‘aanpassingen van het interface’ meer dan aanroepen voor het ‘verzamelen van informatie’).
3.1.2
Profiel HowTo
1. D-B US Verzeker u ervan dat de toepassing waarvoor u het profiel wilt aanmaken, zijn functies levert over D-Bus-sessiebus; U kunt dit controleren door te proberen de acties voor die toepassing toe te voegen, met de handmatige methode in KRemoteControl. De ‘qdbusviewer’ toepassing, die met uw Qt4-installatie wordt meegeleverd is ook een erg goed hulpmiddel om de D-Bus-eigenschappen van toepassingen op te sporen. 2. S TAP - VOOR - STAP Nadat u de van toepassing zijnde D-Bus-functies hebt gevonden is het nodig deze te beschrijven in een document appname.profile.xml. Hier is een snelgids over hoe zulke bestanden aan te maken: (a) Maak eerst een nieuw bestand aan met de onderstaande inhoud. De tag ‘name’ definieert een korte beschrijvende naam van het profiel. Voeg een beschrijving toe van het profiel in de tag ‘description’. Voeg ook uw naam toe aan de tag ‘author’ en een versienummer in de tag ‘version’. Het versienummer is belangrijk bij opwaarderen van uw profiel. KRemoteControl zal diegene gebruiken met het hoogste nummer als er meerdere versies van uw profiel in het systeem worden gevonden.
11
KDE afstandsbediening-instellingen
<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 ">
Mijn profiel name > 0.1 version > Ik author > < description > Beschrijvende informatie over wat het profiel doet ← description > <-- Deze tag zal worden uitgelegd in de volgende stap --> profile >
(b) Nadat u het skelet van het profile hebt aangemaakt is het tijd voor wat actiesjablonen. <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 "> Mijn profiel name > 0.1 version > Ik author > < description > Beschrijvende informatie over wat het profiel doet ← description > < action id =" eenUniekeId " repeat =" true | false " button =" eenKnop "> Mijn actie name > < description > Wat deze actie doet description > < prototype > <-- Deze tag zal worden uitgelegd in de volgende stap --> prototype > ifMultiOption ifmulti > action > profile >
Definieer eerst een unieke identifier. Deze zal door KRemoteControl worden gebruikt om bestaande acties overeen te laten komen met het sjabloon, bijvoorbeeld voor het lezen van de beschrijving. Deze id moet uniek zijn over het gehele profiel. Het attribuut ‘button’ wordt gebruikt voor de autobevolkingsfunctie. Kijk naar het schemabestand ‘profile.xsd’ voor een complete lijst van beschikbare knoppennamen. Het attribuut ‘repeat’ vertelt of de actie meerdere keren moet worden uitgevoerd als de knop op de afstandsbediening ingedrukt blijft. Als de toepassing gestart moet worden als de knop wordt ingedrukt en nog niet actief is zet dan ‘autostart’ op ‘true’. De attributen ‘button’, ‘repeat’ en ‘autostart’ zijn optioneel. Als ‘repeat’ en ‘autostart’ niet zijn gedefinieerd, dan krijgen zij de standaard waarde ‘false’. Voeg een korte naam toe aan de tag ‘name’ en een beschrijving met gebruik van de tag ‘description’. De eigenschap ‘ifmulti’ specificeert wat KRemoteControl moet doen als er meerdere exemplaren actief zijn wanneer een knop wordt ingedrukt. U kunt de volgende waarden voor deze eigenschap: ‘sendtotop’ (zend de aanroep aan het exemplaar bovenaan de vensterstapel), ‘sendtobottom’ (zend aanroep aan het exemplaar onderop de vensterstapel), ‘sendtoall’ (zend naar alle exemplaren), ‘dontsend’ (zend geen actie naar enig exemplaar) en ‘unique’ (Deze toepassing staat geen meerdere exemplaren toe). Als deze tag niet is gedefinieerd, dan neemt KRemoteControl aan
12
KDE afstandsbediening-instellingen
dat de toepassingen niet meerdere keren actief kan zijn, waarmee deze tag terugvalt op de standaard ‘unique’. (c) Definieer vervolgens de D-Bus-functie die uitgevoerd zou moeten worden in de ‘prototype’-tag: 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 "> Mijn profiel name > 0.1 version > Ik author > < description > Beschrijvende informatie over wat het profiel doet ← description > < action id =" EenUniekeId " repeat =" true | false " button =" eenKnop "> Mijn actie name > < description > Wat deze actie doet description > < prototype > < serviceName > org . example . application serviceName > <node > Een / Node node > < function > functie function > prototype > ifMultiOption ifmulti > action > profile >
‘servicename’ bevat de D-Bus servicenaam voor de toepassing, bijv. ‘org.kde.plasmadesktop’. ‘node’ bevat de respectievelijke D-Bus-node zoals ‘App’. Voeg de functienaam toe zonder waarde voor terugkeer en argumenten met de tag ‘function’. Bijvoorbeeld ‘toggleDashboard’. (d) Als de functie argumenten heeft, dan dient u elk van hen te beschrijven, via een beschrijving voor de gebruiker, een type en optioneel een standaard waarde. Een lijst met ondersteunde typen kan gevonden worden in het schemabestand ‘profile.xsd’. De tag ‘comment’ kan een nette gebruikersvriendelijke beschrijving bevatten van waarvoor het argument wordt gebruikt. U zou ook een standaard waarde moeten aangeven voor elk argument tussen de tags ‘default’. Merk op dat sjablonen met een knop een standaard waarde voor alle argumenten moeten aangeven anders zal de autobevolkingsfunctie gebroken functies produceren. 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 ←"> Mijn profiel name > 0.1 version > Ik author > < description > Een beschrijving over wat het profiel doet ←description > < action id =" someUniquId " someButton "> My Action name >
repeat =" true | false " button =" ←-
13
KDE afstandsbediening-instellingen
< description > What this action does description > < prototype > < serviceName > org . example . application serviceName > <node > SomeNode node > < function > function function > < arguments > < argument type =" QString "> Additional comment comment > <default > someValue default > argument > arguments > prototype > ifMultiOption ifmulti > action > profile >
3.1.3
Installatie
Om het profiel te testen en te gebruiken is het nodig het te kopiëren naar $(kde_datadir)/profi les en KRemoteControl te herstarten. Als u het leuk zou vinden om het profiel bij te dragen aan KDE SC, stuur het dan naar het kdeutils-team op [email protected].
14