Wie ich das Elgato Stream Deck produktiv als Entwickler einsetze - eine alternative Nutzungsweise
Was ist ein Stream Deck und wozu ist es eigentlich gedacht?
Ein Stream Deck ist kurzerhand gesagt eine Tastatur mit programmierbaren Tasten. Ein Druck auf eine der Taste führt eine vorher festgelegte Aktion aus.
Das kann zum Beispiel sein:
- das Starten eines Programmes
- das Einspielen eines Sounds
- das Einblenden eines Banners, Icons oder Smilies in ein Video,
- das Absetzen eines Posts in den sozialen Medien
- das Regeln der Lautstärke
- das Stummschalten des Mikrofons
So ein externes Stream Deck mit ein paar Tasten (es gibt sie mit 6, 15 oder gar 32 Tasten) kann man sich neben die Maus oder in Sicht- und Reichweite stellen und dann schnell mal eine Taste drücken, genau in dem Moment, wenn man sie braucht.
Wenn dann zum Beispiel ein Zuschauer bei einem Live-Stream einen Betrag spendet, der ein Danke oder Wow! oder ähnliches verdient hat, dann drückt der Streamer als sofortige Reaktion nur schnell eine Taste auf seinem Stream Deck und dann wird zum Beispiel ein Danke-Sound eingespielt und ein Smiley im Live-Video eingeblendet, so dass der Zuschauer unmittelbar ein Feedback erhält. Das führt dann in diesem Beispiel dazu, dass der betreffende Zuschauer sich geachtet fühlt und vielleicht öfters spendet und dass andere Zuschauer sich animiert fühlen, eher selbst auch etwas zu spenden.
Natürlich kann man auch einen Knopf mit dem Intro oder dem Outro belegen, dass dann automatisch abgespielt wird; oder mit anderen Video-Schnippseln wie dem berühmten "Lasst ein Abo da und drückt die Glocke!" auf Youtube.
Dem typischen Nutzungsverhalten entspricht auch das Design, das einen schnell die richtige Taste finden lässt: Die Tasten sind durchsichtig und unter ihnen liegt ein berührungsempfindliches Display, das Icons zu jeder der Tasten bzw. Aktionen anzeigt. Hier kann man eigene Bildchen anzeigen lassen oder das passende aus einer großen Auswahl in der Konfigurationssoftware auswählen.
Die Software auf dem PC, mit dem man das Stream Deck konfiguriert ist auf Streamer zugeschnitten und bietet hier sehr viele Funktionen, die einfach auf das Deck gebracht werden können, es gibt eine OBS-Schnittstelle (OBS Studio ist eine weit verbreitete Streaming Software) und und und...
Und wozu ich es hauptsächlich verwende
Jetzt bin ich (noch) kein professioneller Live-Streamer, der solch ein Stream Deck unbedingt zum Überleben bräuchte. Und ich habe auch erst gar nicht gewusst, dass es solche Dinger gibt oder wozu die gut sein könnten. Und schon gar, was sie sonst noch so drauf haben.Ich bin vornehmlich Software- und Elektronik Entwickler und mache zwar auch ein paar Youtube-Videos, aber dafür nutze ich es (noch) nicht. Ich benutze es, um meine Produktivität bei der Entwicklungsarbeit zu erhöhen.
Meine bisherige Lösung
Dafür habe ich unter anderem eine eigene Hardware entwickelt, den HID-Master. So nenne ich meinen selbstentwickelten Tastatur/Maus/GamePad-Emulator.
Den benutze ich mit der linken Hand, immer wenn mir mal wieder die rechte Schulter wegen Überarbeitung weh tut. Und auch mal zwischendurch, um es vielleicht erst gar nicht so weit kommen zu lassen. Er hat ein Display, eine Tastatur, eine Touchpad zur Maussteuerung und ein großes Scrollrad / Jogdial. Außerdem kann ich noch Retro-Joysticks daran anschließen wie einen alten Competition Pro (D-Sub-9) oder einen alten Gameport-Joystick.
Bei der Tastatur habe ich zwölf frei programmierbare Tasten von F1 bis F12. Je nachdem, welche Programm auf meinem Windows gerade im Vordergrund läuft, werden hier unterschiedliche Tastaturmakros abgesetzt.
Im Normalfall, also ich in keinem spezielles Programm bin, dann agieren die Tasten als Schnellstart-Tasten für die entsprechenden Programme bzw. wenn das Programm schon läuft, kommt es in den Vordergrund.
Damit ich auch weiß, welche Tasten gerade welches Tastaturmarko starte, habe ich links unten ein kleines Fenster eingeblendet. Das wird mit der PF1-Taste gesteuert, also ein- oder ausgeblendet bzw. aktualisiert:
Drücke ich jetzt z. B. PF2 wird Open SCAD (ein Programm, um 3D-Objekte zu konstruieren) gestartet. Dann drücke ich noch zweimal PF1, damit die Anzeige aktualisiert wird und dann sieht das Fenster unten links so aus:
Nun werden hier Befehle aufgeführt, die ich in OpenSCAD häufig verwende und wenn ich jetzt wieder PF2 drücken würde, dann merkt das System, dass es in OpenSCAD ist und schreibt mir den formatierten Translate-Befehl in meinen Code. Das gleiche gilt natürlich für die anderen Tasten. So muss ich mir die genaue Syntax der gebräuchlichsten Befehle nicht merken sondern drücke einfach eine PF-Taste auf dem HID-Master und schreibe mir so schnell meinen OpenSCAD-Code zusammen.
Jede Programmierumgebung kann ich so mit den elf gebräuchlichsten Befehlen oder Code-Schnippseln ausstatten, etwa die Arduino IDE wenn ich den Arduino programmiere. Oder wenn ich HTML-Schnippsel brauche, wenn ich eine Webseite erstelle. Oder oder oder... Das System erkennt automatisch, welche Umgebung vorne ist, zeigt sie im Fenster unten links an und fügt sie in den Quelltext ein.
Das klappt auch alles sehr gut, aber es geht sicher noch ein bisschen besser. Ganz perfekt ist das nämlich nicht, denn ich muss immer den Text für die Tastenbelegungen im PF-Tasten-Info-Fenster auf dem Monitor lesen und dann wieder zum HID-Master gucken und dort die entsprechende Tasten drücken. Okay, die liegen nur 50 cm auseinander, aber trotzdem.
Was das Stream Deck besser kann und besonders macht
Dann bin ich irgendwann mal über das Foto eines Stream Decks von elgato in einem Shop gestolpert. Ich war von der Idee, jeden Knopf mit einem eigenen Bildchen auszustatten, das aussagt, wofür der Knopf steht, begeistert.Da würde ich direkt sehen, was die Taste auslöst, ohne erst in meinem kleinen Fensterchen auf dem Monitor nachzuschauen bzw. nachzulesen. Die Taste von diesem Stream Deck hatte ja sogar Bildchen. Die visuell zu erfassen würde natürlich noch bequemer und schneller sein, als sich kurze Texte durchzulesen.
Nur der Preis schreckte mich ab. So ein Stream Deck sollte weit über 100 Euro kosten. Das fand ich ein wenig teuer und zu dem Zeitpunkt ging ich davon aus, das da wirklich 15 Einzeltasten mit 15 einzelnen Mini-Displays verbaut sein würde, was natürlich auch nicht ganz billig in Summe sein dürfte.
Selbst so etwas zu entwickeln wäre sicher eine Option gewesen, hätte aber wieder viel Zeit gekostet und ich hatte doch noch so viele andere Projekte, die ich machen wollte...
Also schaute ich mir ein wenig weiter um und stieß auf ein paar Android Apps, die versprachen, ein Stream Deck auf dem Smartphone zu sein. Das hörte sich gut an. Einfach ein altes, nicht mehr gebrauchtes Smartphone quer legen, App laufen lassen, und fertig ist das "Stream Deck". Hat dann zwar keinen guten Druckpunkt und keine einzelne Tasten, kostet dafür aber nichts extra.
Ich probierte ein paar aus dem Google Store aus und öffnete eine Mogelpackung nach der anderen: Viele versprachen kostenlos zu sein, dann aber sollten essentielle Funktionen doch kosten. Oder die App funktionierte gar nicht. Oder hakelte wie der Teufel und war die reinste Geduldsprobe. Oder plasterte den Screen mit Ruckel-Zuckel-Nerv-Werbung zu statt mit nutzbaren Buttons.
Nach ein paar Stunden des erfolglosen Rumprobierens gab ich dann entnervt auf. Das Smartphone-Stream-Deck-Konzept könnte gut funktionieren... aber die Umsetzungen: ein Graus.
Irgendwann gab es dann das elgato Stream Deck Mk I für 99.99 Euro im Angebot auf amazon. Ich glaube, dass war zu der Zeit, als gerade das neue Mk II herauskam. Das ich persönlich allerdings nicht unbedingt besser fand, denn der Aufstellwinkel schien da fest zu sein, es schien mehr Platz auf dem Tisch wegzunehmen und es schien mehr Plastik als Metall zu sein.
Ich dachte immer noch, da wären 15 Einzelscreens drin verbaut und fand unter diesem Umständen, dass der Preis dann ja doch irgendwie okay sei und wollte das Teil für 100 Euro schon kaufen. Dann kam mir aber eine wichtige Frage in den Sinn: Würde das Stream Deck mitkriegen können, welches Programm auf meinem Windows-Rechner gerade im Vordergrund läuft und dann automatisch die Buttons anders belegen, so wie ich das auch schon mit meinem HID-Master realisiert hatte? Hier war ich ja schließlich auf die Software von elgato angewiesen, die ich nicht selbst programmiert hatte.
Eine e-mail-Anfrage an den Support brachte leider auch keine genaue Antwort auf die Frage. Ich soll mich doch mal auf der Stream Deck Entwickler-Seite umschauen. Die war zwar informativ, aber hatte auch keine Antwort auf meine Frage parat.
Nun dachte ich mir: Bestellst du das Stream Deck halt auf Verdacht bei amazon, kannst du ja innerhalb von 14 Tagen wieder zurückschicken, wenn es das nicht können sollte.
Bis ich über den Hinweis "Für Windows 10 oder MacOS" im Kleingedruckten stolperte. Halt! Ich verwende doch noch Windows 7. Wird der Treiber und die Software denn damit laufen?
Stream Deck Konfigurationssoftware unter Windows 7 zum Laufen bringen
Zumindest konnte ich mir die Konfigurationssoftware schon einmal im Vorfeld herunterladen, ohne ein Stream Deck zu besitzen und das austesten. Und für wahr: die Software weigerte sich, sich installieren zu lassen: Erst ab Windows 10.
Aber so schnell gebe ich nicht auf. Auf reddit las ich, dass die Software wohl ganz normal mit Visual Studio programmiert ist, aber vergessen wurde, den Legacy-Support für ältere Windows-Versionen einzuschalten. Damit verweigert der Installer schon im Vorfeld die Installation, obwohl die Software natürlich auch unter älteren Windows-Versionen laufen würde. Denn das Win32-Subsystem ist natürlich das gleiche bzw. kompatibel und wenn die .Net-Extensions da drauf installiert sind, sollte es eigentlich keine Hindernisse geben. Im Grunde genommen also ein künstliche Beschränkung, die nicht sein müsste.
Atom0s war dann so nett unter seinem Github-Account entsprechend mit Legacy-Support kompilierte DLLs bereitzustellen, die man von dort herunterladen kann und über die Originale im Installationsverzeichnis kopiert. Windows sieht dann keine Probleme mehr und installiert die Software.
Zu beachten sind allerdings drei wichtige Punkte:
- die DLLs sind für die Version Stream_Deck_4.5.1.12246.msi und nur auf diese sollte der Trick angewandt werden. Download von neueren Version oder Updates der Software sollte man sich verkneifen, denn dann könnte es sein, dass sie nicht mehr richtig läuft. Die Version 4.5.1.12246 bringt aber alles mit, was man braucht.
- manche herunterladbare Plugins werden nicht richtig funktionieren. Ich habe ein paar getestet, die es dann nicht richtig taten und musste sie danach wieder deinstallieren, weil sonst die Stream Deck Software abstürzte (Protection Fault).
- es gibt keinen Support von elgato, wenn bei euch noch Windows 7 oder 8 läuft. Ihr solltet schon das entsprechende technische Wissen und Verständnis haben, um Probleme damit selbst lösen zu können.
Bestellt, geliefert, ausprobiert: funktioniert
Auch wenn die Stream Deck Software jetzt bei mir unter Windows 7 lief und ich schon ein bisschen damit rumspielen konnte und die ersten Buttons definieren, war ich mir nicht 100%ig sicher, ob das denn auch mit dem Stream Deck selbst zusammen funktionieren würde und dann war da ja noch die Frage nach dem Erkennen der Vordergrund-App, die ungeklärt war.Nichtsdestotrotz das Teil bei amazon für den Angebotspreis von 100 Euro bestellt. Ich hätte es ja zurückgeben können, hätte es nicht funktioniert. Amazon ist da eigentlich sehr kulant. Außerdem gibt es ja noch die Bedingungen des deutschen Fernabsatzgesetzes, bzw. jetzt ja Widerrufsrecht nach § 355 i. V. m. § 312g BGB. Ich fühlte mich auch - ehrlicherweise gesagt - ein wenig gedrängt vom Angebotspreis und wusste nicht, wie lange der noch gelten würde und wollte nicht noch mehr Tage mit Tests im Vorfeld vertun. Retrospektiv betrachtet war das richtig: jetzt, zwei Monate später kostet die Mk I Version, jetzt "Klassik" genannt schon rund 150 Euro, also die Hälfte mehr.
Die Hardware des elgato Stream Decks
Als die Sendung ankam, habe ich sie natürlich gleich ausgepackt. Das Stream Deck Mk.1 machte schon im ersten Eindruck einen hochwertigen Eindruck. Die Frontplatte ist aus Metall, das schwarze, abgerundete Design sieht gut aus und auch der Druckpunkt der Tasten ist noch okay. Natürlich nicht so gut wie die Cherry Switches in meinem HID-Master, aber durchaus brauchbar. Nur dass an den Rändern der durchsichtigen Buttons die Grafik darunter wie durch ein Lupe verzerrt wird, stört mich ein wenig. Da kommt wohl durch die Mulde / Vertiefung in der Mitte der Buttons, was ihnen auf der anderen Seite auch ein besseres Drück-Feeling gibt.Wie sich zeigt, sind doch nicht, wie ich erst annahme, 15 einzelne Displays verbaut. So wie es aussieht gibt es ein großes Display unter den Knöpfen, das berührungssensitiv ist (Touch-Screen wie vom Smartphone) und die Knöpfe sind irgendwie kapazitiv leitend, so dass das Display mitbekommt, wo gedrückt wurde. Das spart natürlich Kosten. Aber das Display ist wirklich ein gutes. Die Farben sind leuchtend, die Darstellung scharf, das Display hell genug.
Und das Display ist - noch wichtiger - sehr blickwinkelstabil - man kann von allen Seiten schräg draufschauen und kann die Grafiken immer noch gut erkennnen. Allerdings hauen einem hier wieder die durchsichtigen Tasten quer: die lagern etwas über den Grafiken und verzerren den Rand bzw. man sieht die Grafik nicht ganz, weil sie vom schwarzen Gehäuse abgedeckt werden. Fürs Draufschauen aus normalem Winkel reicht es aber total. Ich habe aber die Erfahrung gemacht, bei meinem Blickwinkel die Schrift lieber ober- statt unterhalb des Icons zu positionieren, weil das so besser ablesbar ist.
Mitgeliefert wird ein kleiner Ständer, um das Stream Deck im richtigen Winkel aufzustellen, damit man es optimal ablesen kann. Logo kann man es auch flach auf den Schreibtisch legen, aber das ist dann nicht so toll ablesbar.
Auch wenn der Ständer nur aus Plastik ist, ist er robust genug. Er hat zwei unterschiedlich breite Flappen-Paare und unten ein Raster, wo diese einrasten. So sind Aufstell-Winkel von 16 über 20 bis hin zu 45 Grad einstellbar. Bei mir passen 45 Grad am besten und wenn das Display direkt vor mir steht, dass kann ich die Grafiken und Texte fast in voller Größe benutzen, ohne das etwas durch die Tastenränder verzerrt wird.
Die Software des elgato Stream Decks
Mit der Software kann man alles mögliche einstellen. Man kann jedem Button ein Icon zuweisen und einen Text. Für das Icon kann man ein fertiges auswählen oder eines selbst erstellen. Oder man lädt sich eines aus dem Internet herunten. Für den Text kann man den Font, die Größe und die Positionierung wählen. Auch mehrzeilige Texte gehen.
Ich benutze mein Stream Deck hauptsächlich für zwei Dinge:
- um Programme zu starten bzw. gestartete in den Vordergrund zu bringen
- Textbausteine in meinen Entwicklungsumgebungen in den Code einzufügen
So zeigt das Stream Deck bei mir standardmäßig die Buttons wie rechts gezeigt an. Hier kann ich meine Lieblings-Pogramme mit einem Knopfdruck starten: Chrome, Firefox, Thunderbird, mein CMS-System, usw.
Da ich doch mehr als nur ein Dutzend Programme habe, kommt mir die Ordner-Funktion der Konfigurationssoftware sehr entgegen. Dort kann ich nochmals einen Haufen Icons reinpacken und habe an erster Stelle immer einen Zurück-Button, um wieder eine Ebene höher zu kommen. Das Icon für den Unterordner "weitere" ist bei mir ein Pfeil nach rechts, den ich immer an letzter Stelle platziere.
Drücke ich dann die Pfeil-Taste komme ich in den nächsten Ordner, die im meinem Fall viele weitere Ordner enthält, in die ich die weiteren Programme einsortiert habe:
Und selbst die ganzen Ordner reichen nicht ganz aus, so dass es am Ende noch einmal weiter geht. Das Ineinanderverschachteln von Ordner ist wirklich eine Super Funktion, die so gut funktioniert, dass ich mich frage, wer denn da noch die 32-Button-Variante benötigt. Also, wir wäre die zu groß und unübersichtlich und würde mir zuviel Platz auf dem Schreibtisch wegnehmen, denke ich. Und die Variante mit nur 6 Buttons wäre mir zu klein. Da hätte ich dann ja nur 4 Buttons pro Seite - wie oft will ich da bitte schön blättern? Meine 15-Button-Version füfhlt sich für mich genau richtig dimensioniert an.
Wenn ich jetzt zum Beispiel auf den Ordner "3D / Elektronik" drücke, dann komme ich zu meinen 3D-Programmen:
Die Icons habe ich einfach aus den Programmen selbst genommen. Hier reicht es bei der Icon-Definition die entsprechende .exe-Datei anzugeben. Die Konfigurationssoftware fischt sich dann selbst das Programm-Icon heraus. Wirklich mal mitgedacht und sehr komfortabel für den User.
Starte ich jetzt das Programm OpenSCAD über den entsprechenden Knopf, dann erkennt das Stream Deck, dass jetzt OpenSCAD das Programm im Vordergrund ist. Und da ich das als extra Profil definiert habe, schaltet das Stream Deck automatisch dorthin. Dabei ist es egal, wie ich OpenSCAD gestartet habe, ob über das Stream Deck oder den Windows-Desktop per Doppelklick.
In echt sieht das dann aus wie auf dem Foto rechts, und in der Profil-Definition so:
Hier starte ich jetzt kein Programm, sondern sende den Hotkey Strg+Alt+Umschalt+Windows+F1...F15. Der ist absichtlich so kompliziert, damit ich mir keine Tastenabkürzungen wegnehme, denn die gebrauche ich mit AutoHotKey auch ständig. Außerdem kommt man da sicher nicht unbeabsichtet drauf.
Wenn ich jetzt auf das (i) drücke, wird derselbe Tastencode gesendet, wie das auch mein HID-Master tut. Auf der Windows-Seite läuft meine HID-Master-Software und setzt den Tastendruck (wieder je nachdem welche Anwendung vorne ist) in den entsprechenden Textbaustein um und fügt in an der Stelle, wo der Cursor steht, ein.
Klar, das ging vorher schon mit dem HID-Master, nur jetzt habe ich direkt eine Taste mit Bildchen und eine viel engere visuelle Verbindung. Ich muss nicht erst hier gucken, dann da drücken, sondern gucken und drücken ist eins. Außerdem habe ich ein Icon, das Icon für den Cube-Befehl ist zum Beispiel ein Würfel, denn der macht einen Würfel. Das Icon für den Sphere-Befehl ist eine Kugel, denn ... - ihr ahnt es.
Toll ist auch, dass ich mir die genaue Syntax für einen Befehl nicht merken muss. Nein, selbst wenn ich vergessen habe, welche Befehle es gibt: das sehe ich nun (naja, mit dem HID-Master davor auch). Aber es noch einmal schneller klar, was ein Befehl macht durch das Bildchen dazu.
Zur Zeit habe ich das noch so, dass das HID-Master-System die Tastatur-Makros abspielt, denn AutoHotKey, was dafür dahinter steht, kann viel besser Cursor-Bewegungen, Mausbewegungen usw. ausführen als die Stream Deck Software. Hier kann ich zwar auch Text einfügen, aber für Sondertasten wie Cursor, Pos1, Return etc. muss ich für jeden einzelnen Tastendruck einen Hotkey definieren und die ganze Abfolge dann als Multi-Befehl definieren. Ganz schön umständlich.
Auch halte ich das zur Zeit noch kompatibel. Die Tasten PF1 bis PF12 sind die 12 linken Tasten auf dem Stream Deck an selber Position. Es ist darum egal, wo ich die Taste an der Position drücke, auf dem HID-Master oder auf dem Stream Deck. Allerdings hat der HID-Master nur 12 Tasten, das Stream Deck 15. Darum sind die drei rechten Tasten auf dem Stream Deck grau, als Erinnerung, dass die nicht mit dem HID-Master erreichbar sind. Allerdings werden die ebenfall durch das HID-Master-System verarbeitet, sind dann eben nur Strg+Alt+Umschalt+Windows+F13...F15.
Theoretisch könnte ich auch hier wieder mit Ordnern arbeiten und weitere Befehle über einen Rechtspfeil hinzufügen. Aber das werde ich erst machen, wenn wirklich der Bedarf da ist.
Es ist aber auch immer im Vorfeld ein gutes Stückchen Arbeit, die Icons herauszusuchen und die Texte zu vergeben. Aber unterm Strich lohnt der Aufwand, denn man spart doch Zeit. Allerdings ist fraglich, ob ich den Aufwand für ganz selten benutzte Entwicklungsumgebungen betreibe. Obwohl es gerade da ja wichtig wird, weil man die Befehlssyntax natürlich desto schneller vergisst, je seltener man die benutzt. Aber ich schätze mal, das wird nach und nach wachsen.
Und was ich noch gar nicht benutzt habe
Die ganzen fancy Funktionen für die OBS-Integration, die Funktionen für das Live-Streaming etc., das Zeug, für das Stream Deck eigentlich gemacht ist, die habe ich alle noch gar nicht ausprobiert. Und ich denke, dass hier die Stärken des Stream Decks liegen werden.Aber da werde ich sicher auch mal mit rumspielen, wenn mir danach ist und vielleicht mache ich dann auch irgendwann ein Live-Video auf meinem Youtube-Kanal. Ihr wisst ja dann, womit ich die Effekte angestoßen habe ;)