Karte-Headset-Schaltfläche in gnome3

440
Eric

Wie kann ich die gnome3-Taste von meinem Bluetooth-Headset aus zuordnen?

Gnome sieht ein AcceleratorActivatedEreignis, wenn ich darauf drücke:

$ dbus-monitor --monitor signal time=1525078944.868498 sender=:1.17 -> destination=:1.52 serial=2069 path=/org/gnome/Shell; interface=org.gnome.Shell; member=AcceleratorActivated uint32 152 array [ dict entry( string "device-id" variant uint32 3 ) dict entry( string "timestamp" variant uint32 61966125 ) dict entry( string "action-mode" variant uint32 1 ) ] 

Gnome macht aber nichts anderes als ein "action-unavailable-symbolic"Symbol in gnomes OSD anzuzeigen (ich verwende ein dunkles gnome-Thema):

Karte-Headset-Schaltfläche in gnome3

Der folgende dbus ist ShowOSDsogar gleichzeitig zu sehen:

$ dbus-monitor --monitor method call time=1525078944.869555 sender=:1.52 -> destination=:1.17 serial=246 path=/org/gnome/Shell; interface=org.gnome.Shell; member=ShowOSD array [ dict entry( string "icon" variant string "action-unavailable-symbolic" ) ] 

Die Headset - Tasten werden nicht von gnome in den üblichen Tastatur - Mapping - Einstellungen finden Sie unter erkannt: Settings > keyboard > Add Custom Shortcut: Obwohl es toll mit Mapping - Tasten auf der Tastatur funktioniert, Headset - Tasten sind nicht von diesem Tool erkannt, wenn ich sie drücken, so kann ich einfach nicht verwenden Headset-Taste zuordnen.

Ich möchte die Wiedergabe / Pause auslösen, wenn ich die Headset-Taste drücke. Irgendeine Idee, wie das geht?

1

1 Antwort auf die Frage

1
grawity

Sehen AcceleratorActivatedbedeutet, dass der Schlüssel bereits auf etwas abgebildet ist; evtl. zum eingebauten "play / pause" -Eintrag. Andernfalls wäre es nicht während der Registrierung des Beschleunigers an gnome-shell übermittelt worden.

Wenn Sie gnome-shell neu starten, während Sie den Bus beobachten, wird ein Methodenaufruf GrabAcceleratorsmit allen Schlüsselnamen und eine entsprechende method_return mit Accel-IDs angezeigt. Damit können Sie die ID von AcceleratorActivated, wie 152in Ihrem Fall, bis zur Tastenkombination entschlüsseln . (Es ist sehr wahrscheinlich, dass das System Ihre Schaltfläche bereits als erkennt XF86AudioPlay. Und GNOME hat bereits eine Standardzuordnung für "XF86AudioPlay ⇒ Wiedergabe / Pause über MPRIS".)

In diesem Fall wird das OSD angezeigt, wenn weder ein MPRISv2-kompatibler Player läuft, auf den gnome-shell das Ereignis weiterleiten könnte, noch ein Player, der die alten GNOME-spezifischen Funktionen zum Empfangen von Medienschlüsseln verwendet.

Sie haben Recht, es wurde einem MPRIS-Befehl zugeordnet und spielt / pausiert, wie Sie es vorgeschlagen haben. Gut gemacht. Mit VLC funktionierte es in der Tat out-of-the-box, aber nicht mit dem anderen Spieler, den ich verwendete. Vielen Dank! Eric vor 6 Jahren 0
Für diejenigen, die mpris mit youtube nutzen möchten, gibt es bis heute nur eine einzige Lösung: https://github.com/otommod/browser-mpris2 Eric vor 6 Jahren 0