No description
  • Shell 58%
  • QML 26.9%
  • Python 15.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonas 76a101aec5 README: Screenshots ergänzen, .gitignore hinzufügen
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 19:42:06 +02:00
bin Initial commit: DJI Osmo Pocket 3 KDE Plasma 6 Steuer-Widget 2026-06-01 19:33:19 +02:00
icons Initial commit: DJI Osmo Pocket 3 KDE Plasma 6 Steuer-Widget 2026-06-01 19:33:19 +02:00
package Initial commit: DJI Osmo Pocket 3 KDE Plasma 6 Steuer-Widget 2026-06-01 19:33:19 +02:00
screenshots README: Screenshots ergänzen, .gitignore hinzufügen 2026-06-01 19:42:06 +02:00
.gitignore README: Screenshots ergänzen, .gitignore hinzufügen 2026-06-01 19:42:06 +02:00
install.sh Initial commit: DJI Osmo Pocket 3 KDE Plasma 6 Steuer-Widget 2026-06-01 19:33:19 +02:00
LICENSE Initial commit: DJI Osmo Pocket 3 KDE Plasma 6 Steuer-Widget 2026-06-01 19:33:19 +02:00
README.md README: Screenshots ergänzen, .gitignore hinzufügen 2026-06-01 19:42:06 +02:00

DJI Osmo Pocket 3 – KDE Plasma 6 Steuer-Widget

Ein Plasmoid (Panel-Widget) für KDE Plasma 6 / Wayland, mit dem sich eine per USB angeschlossene DJI Osmo Pocket 3 (Webcam-Modus) direkt aus der Kontrollleiste steuern lässt – Pan, Tilt und Zoom über einen Joystick, plus gespeicherte Positionen. Gedacht für Situationen, in denen das nutzende Programm (z. B. Google Meet, OBS, Zoom) die Kamerabewegung selbst nicht steuern kann.

Klick auf das Leisten-Icon öffnet ein Popup direkt darüber – genau wie die native Medienwiedergabe.

Screenshots

Popup (Kamera verbunden) Keine Kamera (Icon ausgegraut)
Popup mit Joystick, Zoom und Positionen Ausgegrautes Icon ohne Kamera

Links das Popup mit Joystick (Pan/Tilt), Zoom-Regler, Zentrieren und den gespeicherten Positionen. Rechts der Zustand ohne verbundene Kamera: Das Leisten-Icon wird entsättigt/grau dargestellt und alle Bedienelemente sind deaktiviert.

Funktionen

  • Joystick für Pan/Tilt – leicht auslenken = langsam/präzise, weiter = schneller
  • Zoom-Schieberegler (1×–4×)
  • Zentrieren (Pan/Tilt = 0)
  • Gespeicherte Positionen (Presets): benennen, per Klick anfahren, löschen
  • Mehrere Kameras: Auswahlbox erscheint automatisch bei mehr als einer steuerbaren Kamera
  • Kein Gerät verbunden → alle Bedienelemente und das Leisten-Icon werden ausgegraut
  • Live-Statusanzeige (Pan/Tilt in Grad, Zoom in ×)

Technik

Die Pocket 3 gibt im Webcam-Modus die UVC-Controls pan_absolute, tilt_absolute und zoom_absolute frei. Das Widget steuert sie über v4l2-ctl. Die Einheit ist Bogensekunden (3600 = 1°).

  • bin/dji-pocket-ctl – Python-CLI-Backend (Geräteerkennung, v4l2-ctl, Presets-JSON). Befehle: devices, get, limits, status, set, jog, center, presets, preset-save|apply|delete; optional --dev /dev/videoN.
  • package/ – das QML-Plasmoid (Joystick, Zoom, Presets, Geräteauswahl, Ausgrau-Logik; nutzt plasma5support executable-engine und QtQuick.Effects MultiEffect für das graue Icon).
  • icons/dji-pocket.svg – Widget-Icon (Pocket-3-Stil mit „dji").
  • install.sh – selbst-enthaltender Installer (bettet alle Dateien ein, passt Pfade an den Benutzer an, frischt Caches auf, lädt Plasma neu).

Installation

Voraussetzungen (Arch/CachyOS): v4l-utils python plasma-workspace kpackage plasma5support

./install.sh

Danach das Widget in die Leiste holen: Rechtsklick auf die Kontrollleiste → Widgets hinzufügen… → nach „DJI" / „Pocket" suchen → auf die Leiste ziehen.

Deinstallieren

./install.sh --uninstall          # Plasmoid/CLI/Icon entfernen, Positionen bleiben
./install.sh --uninstall --purge  # zusätzlich gespeicherte Positionen löschen

Gespeicherte Positionen liegen in ~/.config/dji-pocket/presets.json.

Plasmoid nach Code-Änderungen neu laden

systemctl --user restart plasma-plasmashell

Grenzen (per USB nicht möglich)

  • Tracking / ActiveTrack – nicht als UVC-Control freigegeben.
  • Ausschalten / Sleep – an die Bluetooth-Funkschicht bzw. das Gerät gebunden, über USB nicht erreichbar.
  • Roll-Achse – wird von der Kamera angekündigt, aber vom Linux-Kernel mangels V4L2-Control nicht gemappt.
  • Pan-Bereich ≈ −35°…+215° (Firmware-Grenze, ~110° toter Winkel hinten).

Diese Funktionen laufen bei DJI nur über das proprietäre DUML-Protokoll (Bluetooth/Mimo-App) bzw. direkt am Gerät.

Lizenz

MIT – siehe LICENSE.