# KDE-Lautstärkeregler in e16 benutzen

## musv

Guten Abend, 

vor vielen Jahren hatte ich mir mal ein Script zusammengebastelt, was ich beim Drücken der Lautstärketasten aufgerufen hatte. Beim Druck auf Laut+, Laut-, Stumm hab ich jeweils einen Parameter an das Script übergeben, um die Lautstärke +10%, -10% oder stumm zu schalten. Den OSD hatte ich über xosd realisiert und kleine Balken auf den Bildschirm gemalt. Das Script hat im Grunde genommen nichts anderes gemacht als amixer set/get aufzurufen.

Jetzt hat's mir vor kurzem meine SSD des Laptops geschrottet. Und ich glaub, ich hab kein Backup mehr der letzten Scriptversion rumliegen.

Ich könnte mich jetzt wieder hinsetzen und das Script neu zusammenbasteln. Aber da ich sowieso KDE installiert hab, liegt die Idee nahe, den Lautstärke-OSD-Regler von KDE irgendwie aufzurufen. Also nicht Kmix sondern das Ding, was beim Drücken der Lautstärketasten erscheint. 

Geht das irgendwie? Und wenn ja, wie ruf ich das auf? Brauch ich dazu irgendeinen KDE-Dienst, z.B. Tastaturdienst?Last edited by musv on Wed Aug 12, 2015 4:07 pm; edited 2 times in total

----------

## franzf

https://docs.kde.org/stable/en/kdemultimedia/kmix/advanced.html

dbus-interface z.B. mit qdbusviewer browsen.

Wenn du diese Methoden nutzt sollte mMn auch das OSD hochkommen. kmix muss natürlich gestartet sein. (hier nicht installiert, drum kann ich das leider nicht testen..)

----------

## musv

Ich hol mal meinen Thread wieder hoch. Ich hab's hinbekommen. Ist eigentlich ganz simpel - wenn man's weiß.

Also e16 hat ein Verzeichnis für Scripte, die beim Starten geladen werden. Wird logischerweise bei xfce, openbox usw. ähnlich sein. Bei e16 muss das allerdings noch aktiviert werden in den Einstellungen.

```

#!/bin/sh

kcminit_startup

qdbus org.kde.kded /kded loadModule khotkeys

qdbus org.kde.kded /kded loadModule kmixd
```

kcminit_startup startet kded

kmixd ist logischerweise für den Mixer zuständig. 

khotkeys ist für die Verwaltung der Tastaturkommandos zuständig.

Sofern man eine Tastatur ohne Multimediatasten hat, kann man in den Systemsettings 

-> Kurzbefehle und Gestensteuerung -> Globale Kurzbefehle -> KMix 

die Kombination einstellen. Im KMix selbst kann man noch einstellen, welcher Kanal angesprochen werden soll.

DBUS-Steuerung

Bei der Ansteuerung direkt über DBUS kann man jeden Kanal einzeln ansteuern, also z.B. 

```
qdbus org.kde.kded /Mixers/ALSA__Xonar_DS_1/Headphone_0 increaseVolume
```

Allerdings kommt dabei der Dialog nicht hoch. Wäre im Grunde genommen nur eine umständlichere Variante als amix direkt anzusteuern.

----------

## musv

Zu früh gefreut.  :Sad: 

Erstmal muss ich noch den ktimezoned starten, sonst krieg ich einen Locale-Error beim Start von kmix. 

Und als zweites funktionieren die Tasten noch immer nicht. Erst wenn ich 1x kmix gestartet hab, dann kann ich die Tasten benutzen. Hab schon die ganzen anderen Dienste ausprobiert, ob da vielleicht noch 'ne Abhängigkeit vorhanden ist, die ich nicht vermuten würde. Aber nein. Bisher ist kmix widerspenstig.

----------

## musv

Bin wieder einen Schritt weiter:

Also ktimezoned braucht man doch nicht. Die Locale-Fehlermeldung scheint wohl irgendwie "normal" zu sein. 

Neue Erkenntnisse sind:

KDED-Module: kmixd und khotkeys werden benötigt.

Kmix muss danach 1x gestartet werden. Eine UI erscheint nicht. Dafür gehen aber die Lautstärketasten. Würde man jetzt Kmix noch mal aufrufen, hätte man die UI zur Verfügung.

Damit wäre für mich das Problem gelöst. Bevor ich den Thread jetzt aber wieder auf [solved] setz, teste ich erst noch mal ein bisschen. 

Was mir noch so aufgefallen ist: Irgendwie scheint es zu den kded-Modulen keine (vernünftige) Dokumentation zu geben. Also z.B. beim statusnotifierwatcher brachte mich Google zu der Meinung, dass damit nur die Benachrichtigungen im Systray realisiert werden würden. Da ich in e16 kein Systray hab/nutz, hab ich das aus meiner Autostartliste rausgeschmissen. Dummerweise hat dann kdeconnect keinerlei Nachrichten mehr angezeigt. Statusnotifierwatcher ist demnach also zwingend notwendig, damit die Nachrichten auf dem Bildschirm überhaupt angezeigt werden. Bei anderen Modulen hab ich noch immer keine Ahnung, wofür die genau da sind, z.B. soliduiserver.

Wenn da jemand mal 'ne brauchbare Doku-Seite weiß, wär das klasse.

----------

