Lese die neueste Dokumentation Release notes
WARNUNG: Diese Dokumentation ist veraltet und möglicherweise nicht korrekt.
streamdeck_ui Ein Linux kompatibles UserInterface für das Elgato Stream Deck.
- Linux Kompatibel: Ermöglicht die Nutzung aller Stream Deck Geräte mit Linux ohne code zu benötigen.
- Mehrere Geräte: Ermöglicht die Verbindung und Konfiguration mehrere Stream Deck Geräte an einem Computer.
- Helligkeits-Steuerung: Unterstützt die Einstellung der Helligkeit von der Konfigurations-Oberfläche und den Knöpfen am Gerät selbst.
- Konfigurierbares Tastenbild: Icon + Text, nur Icon und nur Text sind pro Taste des Stream Decks konfigurierbar.
- Multi-Action Unterstützung: Kommandos starten, Text schreiben und Hotkey-Kombinationen drücken mit einem einzigen Tastendruck auf dem Stream Deck.
- Tasten-Seiten: streamdeck_ui bietet mehrere Seiten von Tasten mit dynamischer Einstellung von Tasten zum Umschalten zwischen ihnen.
- Automatisches Wiederverbinden: Das Gerät wird automatisch und problemlos wieder verbunden, falls das Gerät ab- und wieder angesteckt wurde.
- Import/Export: Bietet das Abspeichern und Wiederherstellen ganzer Stream Deck Konfigurationen.
Die Kommunikation mit dem Streamdeck erfolgt durch die Python Elgato Stream Deck Library.
Python 3.8 wird benötigt. Sie können die Version, die sie installiert haben, überprüfen mit python3 --version
.
Es gibt fertige Skripte um streamdeck_ui auf Debian/Ubuntu und Fedora zu installieren.
Um streamdeck_ui unter Linux zu verwenden, müssen einige System-Bibliotheken als Voraussetzung installiert werden.
Die Namen dieser Bibliotheken können, abhängig von ihrem Betriebssystem, variieren.
Debian / Ubuntu:
sudo apt install python3-pip libhidapi-libusb0 libxcb-xinerama0
Fedora:
sudo dnf install python3-pip python3-devel hidapi
Wenn sie die GNOME shell verwenden, könnten sie eine Erweiterung, die den KStatusNotifierItem/AppIndicator Support bietet, manuell installieren müssen um das Tray-Icon anzuzeigen.
Um streamdeck_ui ohne root-Rechte zu benutzen, müssen sie ihrem user vollen Zugriff auf das Gerät erlauben.
Fügen sie die folgenden udev rules mit Hilfe ihres Editors hinzu:
sudoedit /etc/udev/rules.d/70-streamdeck.rules
# Wenn das nicht funktioniert, versuchen sie:
sudo nano /etc/udev/rules.d/70-streamdeck.rules
Fügen sie die folgenden Zeilen ein:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
Aktivieren sie die Regeln:
sudo udevadm trigger
Die Installation der Anwendung selbst erfolgt via pip:
pip3 install streamdeck-ui --user
Stellen sie sicher, dass $HOME/.local/bin
in ihrem PATH enthalten ist.
Wenn das nicht der Fall ist, fügen sie
PATH=$PATH:$HOME/.local/bin
an das Ende ihrer shell Konfigurationsdatei (wahrscheinlich .bashrc in ihrem home directory) hinzu.
Jetzt können sie streamdeck
starten um mit der Konfiguration zu beginnen.
streamdeck
Es wird empfohlen streamdeck
in die Autostart-Liste ihrer Fenster-Umgebung aufzunehmen. Wenn sie es verwenden wollen ohne dass das Benutzer-Interface angezeigt wird, verwenden siestreamdeck -n
.
Auf anderen Betriebssystemen müssen sie die benötigten Abhängigkeiten der Bibliothek installieren. Danach verwenden sie pip zur Installation der Anwendung:
pip3 install streamdeck-ui --user
streamdeck
Beachten sie auch die Anleitungen für
Geben sie einen Befehl in das Feld "Command" ein, um ihn auszuführen. In Ubuntu/Fedora starten sie ein Terminal mit gnome-terminal
, obs
startet OBS.
Sie können ein tool wie xdotool
verwenden, um mit anderen Programmen zu interagieren.
Finden sie das Fenster, das mit Meet -
beginnt, und setzen sie den Fokus darauf. Das hilft ihnen, wenn sie eine Google Meet Sitzung auf irgend einem Tab haben, die aber hinter anderen Fenstern verloren gegangen ist.
xdotool search --name '^Meet - .+$' windowactivate
Der Meeting-Tab muss aktiv sein wenn sie mehrere Tabs offen haben, da der Fenstertitel vom derzeit aktiven Tab gesetzt wird.
Finden sie das Fenster, das mit Meet -
beginnt, und senden sie ctrl+d
dorthin. Das bewirkt das Umschalten der Stummschaltung (mute button) in Google Meet.
xdotool search --name '^Meet - .+$' windowactivate --sync key ctrl+d
Drehen sie die System-Lautstärke um einen gewissen Prozentsatz hoch (oder runter). Wir nehmen an, sie verwenden PulseAudio/Alsa Mixer.
amixer -D pulse sset Master 20%+
Wenn sie einen Befehl abgeben wollen der shell-script spezifische Dinge wie &&
oder |
enthält, dann starten sie ihn via bash. Dieser Befehl wird de Fokus auf Firefox setzen, indem es wmctrl
nutzt, und dann den Fokus auf den ersten Tab verschieben:
bash -c "wmctrl -a firefox && xdotool key alt+1"
Simuliert Tasten-Kombinationen (hot keys). Grundsätzlich werden Tasten, die gleichzeitig betätigt werden, mit einem +
Zeichen verbunden. Trennen sie Tasten-Kombinationen mit einem ,
, wenn zusätzliche Kombinationen benötigt werden. Die Zeichenfolge alt+F4,f
zum Beispiel bedeutet drücke und halte alt
, gefolgt von F4
und lass dann beide los. Drücke anschließend f
und lass es wieder los.
Sie können auch einen Tasten-Code im hex Format verwenden, 0x74
ist zum Beispiel der Tasten-Code für t
. Dieser Wert wird auch manchmal als keysym bezeichnet.
Sie können das tool
xev
verwenden um den Key-Code einer Taste zu ermitteln. Suchen sie in der Ausgabe nach keysym hex value, zum Beispiel(keysym 0x74, t)
Verwenden sie
comma
oderplus
, wenn sie ein,
oder ein+
ausgeben wollen.Verwenden sie
delay <n>
um eine Verzögerung einzufügen, wobei<n>
die Anzahl (float oder integer) der Sekunden ist. Wenn<n>
nicht angegeben wird, wird eine Standardverzögerung von 0.5 Sekundenverwendet. Wenn<n>
nicht als gültige Zahl erkannt wird, erfolgt keine Verzögerung.
F11
- drückt F11. Wenn der Fokus auf einem Browser ist, schaltet das zwischen Vollbild und Normalbild hin und her.alt+F4
- schließt das aktuelle Fenster.ctrl+w
- schließt den aktuellen Browser-Tab.cmd+left
- verkleinert das Fenster auf seine linke Hälfte. Achtung,cmd
ist die super Taste (entsprechend der Windows Taste).alt+plus
- drückt die alt und die+
Taste gleichzeitin.alt+delay+F4
- drücke alt, warte dann 0.5 Sekunden, drücke dann F4. Lass beide Tasten los.1,delay,delay,2,delay,delay,3
- tippe 123 mit 1-Sekunden Pausen zwischen den Tastendrucken (unter Verwendung der Standardpausen).1,delay 1,2,delay 1,3
- tippe 123 mit 1-Sekunden Pausen zwischen den Tastendrucken (unter Verwendung selbst definierter Pausen).e,c,h,o,space,",t,e,s,t,",enter
- tippeecho "test"
und drücke Enter.ctrl+alt+0x74
- öffnet ein neues Terminalfenster.0x74
ist der Tasten-Code vont
. TIP: Verwenden sie den Tasten-Code, wenn der Buchstabe nicht funktioniert.0xffe5
- Caps Lock umschalten.0xffaf
- Die/
Taste im Ziffernblock der Tastatur.
Die Standardliste der Tasten finden sie im source-code.
Die super
Taste (Windows-Taste) kann bei einigen Linux-Versionen problematisch sein. Statt der Tastendruck-Funktion können sie dann die Befehls-Funktion wie folgt benutzen. In diesem Beispiel wollen wir die Super
Taste und 4
drücken, was die Anwendung Nummer 4 ihrer Favoriten startet (Ubuntu).
xdotool key "Super_L+4"
Das ist ein schneller Weg um längere Textstücke zu schreiben (Wort für Wort). Beachten sie, dass anders als in der Tastendruck-Funtion, hier keine Spezial-(Modifikations-)Tasten akzeptiert werden. Wenn sie jedoch Enter drücken (um eine neue Zeile zu beginnen) wird auch Enter bei der Ausgabe ausgegeben.
Unfortunately that's a hard no.
Kind regards,
Joe
Stellen sie sicher, dass sie die neueste Version verwenden mit pip3 show streamdeck-ui
. Vergleichen sie es mit:
- Streamdeck verwendet pynput zur Simulation derf Tasten-Betätigungen wodurch ordentliche Unterstützung für Wayland fehlt. Im Allgemeinen werden sie gute Ergebnisse bei Verwendung von X haben (Ubuntu/Linux Mint). Dieser thread lönnte nützlich sein.
- Taste drücken oder Text schreiben funktioniert nicht unter Fedora (außerhalb von streamdeck selbst), was nicht besonders hilfreich ist. Die Befehls-Funktion kann aber trotzdem eine Menge.
- Version 1.0.2 hat keine Fehler-Behandlung bei der Befehls- und der Taste drücken Funktion. Deshalb müssen sie vorsichtig sein - ein ungültiger Befehl oder Tastendruck stoppt auch alle anderen Prozesse. Bitte upgraden sie zur neuesten Version.
- Einige Anwender haben berichtet, dass das Stream Deck Gerätnicht an allen USB-ports funktioniert, da es einiges an Strom verbraucht und/oder strenge Bandbreitenanforderungen hat. Versuchen sie einen anderen Anschluß.
- Wenn sie einen shell script mit der Befehls-Funktion ausführen, vergessen sie nicht das shebang für die entsprechende Sprache am Anfangihrer Datei haben.
#!/bin/bash
oder#!/usr/bin/python3
etc. Das streamdeck könnte sich andernfalls unter einigen Distros aufhängen.