Teams Controller

Wir haben bei einem Teams Meeting zwar meistens eine PC-Tastatur vor uns aber wer kennt schon all die Hotkeys für Teams auswendig. Da kommt der Wunsch nach echten Kurztasten auf und ich habe mich mal auf die Suche nach Möglichkeiten gemacht.

Eine Empfehlung kann ich aktuell noch nicht aussprechen. Leider gibt es von Teams keine Schnittstelle, mit der man auch Tasten entsprechend beleuchten könnte.

Elgato Stream Deck

Wenn Sie etwas herum schauen, dann ist Anfang 2020 anscheinend das Elgato Stream Deck so etwas wie die Referenz. Das Gerät sieht man auf mehreren YouTube-Videos und Bildern von Personen, die Mit Audio/Video-Software arbeiten. Sie nutzen dies z.B. für Video-Schnitt, Ton-Schnitt aber auch beim Streaming um bestimmte Aktionen (Hotkeys oder Makros) ausführen zu lassen.

Dieses Geräte ist mit 150€ ein etwas teureres Gadget aber durch die kleinen LCD-Monitore in jeder Taste auch dynamisch für jede Applikation anzupassen ohne Tastaturkappen zu bedrucken. Über eine Software auf dem PC kann jede Taste umfangreich individuell belegt werden. Es gibt sogar schon die ersten Blogs zur Verwendung mit Teams

Leider hat Teams selbst keine direkte Unterstützung von solchen Zusatzgeräten und kann auch keine Rückmeldung über den aktuellen Status, z.B. Audio ist an oder aus, eingehender Ruf steht an etc, geben. Die Funktion des Stream Desk beschränkt sich mit Teams auf "Tasten senden"

Teams mit Tastatur steuern

Der Teams-Client lässt sich zum Glück nicht nur durch die Maus bedienen sondern auch per Tastatur steuern. Die Beschreibung zu den Kürzeln ist sogar direkt in Teams direkt über das Menü erreichbar.

Die Belegung ist natürlich auch bei Microsoft und anderen Blogs dokumentiert:

Wenn ich mir die ganzen Teams-Hotkeys anschaue, dann sind da viele Kombinationen dabei, die ich sowieso eher von der Tastatur aus verwende und für Hotkeys ist nur eine Auswahl interessant, z.B.

Funktion Taste Eselsbrücke Sendkey-Code

Audio Ein/Aus (Stummschaltung)

CTRL- SHIFT-M

Mute

"^+M"

Video Ausblenden (oder Umschalten?)

CTRL-SHIFT-O

 

"^+O"

Bildschirmfreigabe starten

CTRL-SHIFT-E

 

"^+E"

Audio annehmen

CTRL-SHIFT-S

Speak

"^+S"

Videoanruf annehmen

CTRL-SHIFT-A

 

"^+A"

Anruf Ablehnen

CTRL-SHIFT-D

Deny

"^+D"

Audioanruf starten

CTRL-SHIFT-C

Create

"^+C"

Leider sind die Hotkeys keine "Globalen Hotkeys" sondern funktionieren nur, wenn "Teams" auch den Fokus hat. Ein Keyboard, welches nur die Tasten sendet, kann daher die Eingaben nicht zuverlässig an Teams senden, wenn gerade eine andere Software aktiv ist. Wenn auf dem PC eine Unterstützungssoftware gestartet ist, dann kann diese natürlich das Teams-Fenster suchen, aktivieren und dann die Taste senden.

Leider kann die Tastatur nicht erkennen, ob der Tastendruck korrekt angekommen ist. Allerdings könnte eine Software auf dem Client vielleicht erkennen, ob die Stummschaltung genutzt wird. Die Headsets melden das ja auch. Meine erste Taste wäre wirklich große "Stummschalten"-Taste, die mit einer Anzeige kombiniert ist, wenn ich stumm bin. Besser als die kontinuierlichen Hinweisetäne im Headset oder kaum sichtbar Symbole im Teams-Client, der vielleicht gar nicht im Vordergrund ist.

Varianten

"Make or Buy" ist die Frage und auch wenn ich mich ein Gehäuse mit Tasten und einem kleinen Arduino als programmierbaren Controller und USB-Device gelockt hat, ist ein mechanische schickes Design in Heimarbeit nicht so einfach. Aber es gibt durchaus unterschiedliche Angebote und Produkte, die immer dann brauchbar sind, wenn man die Tasten umprogrammieren kann. Der Markt dieser Zusatztastaturen wurde anscheinend von der Gaming-Szene schon länger eröffnet, um bestimmte Aktionen schneller erreichen zu können. Andere Tastaturen zielen auf Audio-Produktion/Podcaster ab, die damit z.B. ihr Soundprogramm steuern können. Das kommt Teams schon näher. Ich sehe mehrere Varianten

  • Numerisches Pad
    Während eines Meetings kommt der "Zehnerblock" einer normalen Tastatur eigentlich nie zum Einsatz. Zudem gibt es solche zusätzlichen Tasten für unter 20€ schon als Zusatzgeräte. Allein per Software könnte man diese Zusatztasten einfach "anders" definieren
  • Generische Tastaturen zum Umprogrammieren
    Ebenso gibt es schon länger eigene Tastaturen, z.B. zum Einsatz bei POS-Stationen mit beschriftbaren Tastaturkappen, die man zweckentfremden kann
  • Tastaturen mit LCD
    Wenn Sie herum suchen, dann finden Sie einige externe Tastaturen, die sogar per LCD-Display veränderlich sind.
  • Tablet/Smartphone
    Zuletzt könnten Sie natürlich auch eine "App" für ihr Smartphone oder ein günstiges Tablet nutzen, welches dann entsprechende Tasten an ihr System sendet

Es gibt eine Menge an Optionen über eigene Tasten entsprechende Befehle an Teams zu senden. Aktuell müssen die Tasten aber immer noch an Teams direkt gesendet werden. Ein "Remote Control" über Graph oder andere Server-APIs ist meines Wissens nicht möglich.

Marktüberblick programmierbare Tasten

Also bin ich los und habe Suchmaschinen bemüht, z.B. nach "LCD Tastatur", "Displaytastatur", "hotkey keyboard"  u.a. gesucht und über erste Fundstellen dann weitere Suchen angestellt. Hier eine sicher unvollständige Liste. Allerdings scheinen auch einige Hersteller darunter zu sein, die nicht mehr oder noch nie geliefert haben.

Produktname / BIld Preis Beschreibung

Elgato Stream Desk

150€ 15 Tasten
100€ 6 Tasten

6/15 individualisierbare Tasten. Das Steuerungsprogamm auf dem PC kann anscheinend auch erkennen, welche Applikation gerade den Fokus hat und entsprechend die Belegung ändern.

E3 Keys

?

Kommerzielles Produkt der Firma E3 https://www.e3-keys.com/de_index.html, die im Kundenauftrag angepasste Keyboards entwickeln.

Art Lebedev: Optimus Mini Six

unbekannt 

Sollten 2012 erscheinen aber ich habe keine Quelle oder Preise gefunden. Nur Artikel auf Gaming Seiten verweisen darauf

Infinitton

180€

Laut Webseite eine Zusatztastatur mit 15 individuell belegbaren Tasten

EditorKeys

?

Editorkeys stellt eine Reihe hintergrundbeleuchteter Keyboards mit produktspezifischen Aufdrucken, speziell für die Studio- und Medien-Branche her.

Interessen sind solche Tastaturen mit ihren Hintergrund-Beleuchtung, die visuell auch den Status wiedergeben kann. Wenn ich z.B. das Mikrofon stummschalte, dann kann die Taste ja rot sein oder wechseln. Eingehende Anrufe könnten blinken und vieles mehr. Das geht natürlich nur mit einer entsprechenden Zusatzsoftware auf dem Client, der die Befehle annimmt und den Status meldet, was durchaus eine Herausforderung ist.

Diese Zusatztasten funktionieren um so besser, je mehr eine Applikation sinnvoll per Makro und Kurztasten gesteuert werden kann. Teams kann damit durchaus bedient werden aber allein für Teams erscheint mit der Preis doch etwas hoch.

Allgemeine Zusatzkeyboards

Wer günstige einkaufen will, kann natürlich eine der vielen "Zehnertastaturen" oder Zusatzkeyboards kaufen, die per Bluetooth oder USB direkt an den PC angeschlossen und als HID-Tastatur  erkannt werden. Sie kosten wenig aber die Belegung und vor allem die Beschriftung der Tasten müssen sie natürlich selbst machen. Vielleicht erlaubt Teams ja irgendwann die Nutzung der "Zehnertastaturen" als Hotkey.

Interessant ist das besonders, wenn keine Software auf dem Client die Zusatztaste auswertet und dann den Hotkey simuliert sondern wenn die Erweiterungstastatur sich so programmieren kösst, dass sie direkt die richtigen Tasten drückt.

Nicht alle Tastaturen sind "programmierbar". In dem Fall könnte aber ein "Rewriting" über Windows, HIDMacro oder andere "Remaping-Tools" funktionieren.

Produkt Preis Beschreibung

XP PEN AC19

33€

Der XP Pen AC19 ist eigentlich ein Zusatzgerät für Zeichner, die über Schnelltasten ihr Zeichenprogramm steuern. Jeder der Tasten kann aber individuell belegt werden. 

Wacom ACK-411050 Remote Control

100€

Auch von Wacom gibt es ein Zusatzgerät zur Unterstützung von Zeichnern, welche man programmieren kann

Expertkeys EK-58

99€
150€ 

20 oder 58 frei programmierbare Tasten, die sie aber noch selbst beschriften müssen.

ActiveKey

76€
85€ 

Frei programmierbare und individuell zusammenstellbare Tasten einer deutschen Firma im Kundenauftrag.

AK 100/24 https://www.activekey.de/tastaturen/ak-100/
AK-S100-xW-B/35 https://www.activekey.de/tastaturen/ak-s100-35/

Shop: https://activekeyboards.eu/Standard-Kompakt-und-Mini-Tastaturen:::4.html 

MAX FALCON-8 RGB MINI MACROPAD

50 US$

Die Firma MAX Keyboards stellt programmierbare Keyboards in unterschiedlichen Größen her. Die gibt es fertig aber auch zum Selbstbau

X-Keys

100€ 

Verschiedene programmierbare Tastaturen. Interessant finde ich eine schmale Leiste mit 4,8, oder 16 Tasten, die man z.B. auf die Tischtastatur über die Funktionstesten legen kann oder an den Monitor montiert.

Logilink

 

15€ 

Eigentlich ist es "nur" eine drittel Tastatur, die per USB angeschlossen wird. Wenn Sie die Tasten aber umbelegen und neu beschriften, dann haben Sie ein sehr günstiges Steuerungspanel.

Diverse 10er Taststaturen

10€-30€ 

Mit der passenden Software können Sie natürlich auch beliebige 10er Tastaturen per USB, Bluetooth o.ä. anschliessen, die Tastaturen anders belegen und selbst beschriften. Hier nur ein Beispiel

Interessant oder sogar erschreckend sind die Preisunterschiede. Günstige Standard PC-Keyboards und selbst externe 10er Tastaturen bewegen sich <30€ während die anderen Keyboards alle deutlich teurer sind. vielleicht stellt jemand passend beschriftete Kappen für 10er Tastaturen her. Die kosten in Asien noch viel weniger

Quelle: AliExpress-Suche nach numerische Keyboards

Wenn der Hersteller der Tastatur keine eigene Software zur Ausführung von Makros mitbringt, dann können Sie sich mal "HIDMACRO" anschauen.

Es ist schon erstaunlich, welche extreme Preisunterschiede anscheinend durch Massenfertigung möglich sind. Gehäuse, Kontakte und Kabel sind billig aber lohnt sich da ein fertiges Gehäuse mit einem Arduino als Tastaturgerät mit Teams-Kurztasten umzubauen oder startet man doch eine Eigenentwicklung?

Software und Tablet/Smartphone

Bei Preisen um 100-200€ für voll programmierbare Tastaturen kann auch ein Smartphone oder altes Tablet vielleicht als zweites Eingabegerät herhalten. Es gibt gleich mehrere Produkte, die einen kleinen Server auf Windows oder Mac starten und eine passende App für Android oder IOS dann als Fernsteuerung über WLAN fungiert. Die Software dazu ist kostenfrei meist unter 10€ zu erhalten. WLAN und Tablet erlaubt auch in einem Besprechungsraum eine ungeahnte Mobilität aber die Verbindung ist anspruchsvoller als ein USB-Kabel. Für das Home-Office kann dies aber durchaus eine Option sein.

Produkt Preis Beschreibung

https://rivafarabi.github.io/deckboard/#/
https://www.electronjs.org/apps/deckboard

Free ?

Reine Softwarelösung auf dem Windows PC, der dann von per WLAN angemeldeten Smartphones gesteuert werden kann. 

MakroDeck
https://www.macrodeck.org/
SuchByte.com
https://play.google.com/store/apps/details?id=com.suchbyte.macrodeckclient

Free ? 

Ein Server auf Windows nimmt Befehle von der dazugehörigen Android-App über WLAN an und führt Makros aus.

Deckboards Pro
https://play.google.com/store/apps/details?id=com.rivafarabi.deckboard.pro

3€

Android App, die den PC über einen dort zu installierenden Server steuert.

TouchPortal
https://play.google.com/store/apps/details?id=rils.apps.touchportal
https://www.touch-portal.com/

Free für 2x4 Raster
InApp Käufe
10€

Die App auf Android/IOS steuert über einen Server auf dem Windows/Mac-Client die dort laufende Software

Das Problem dieser Lösungen ist natürlich immer der "Server" auf dem Client, mit dem die App spricht und die erforderliche Netzwerkverbindung. Bei Tablets ohne Stromanschluss ist auch die Energieversorgung kritisch und dass die Geräte bei Inaktivität in den Schlafmode gehen. Wenn Sie etwas suchen, dann finden Sie sogar Produkte, mit denen Sie den Windows Desktop auf ein Tablet erweitern können. Das könnte für die Whiteboard-App ganz interessant sein. Für eine Steuerung des Teams-Meetings ist das allerdings dann doch etwas aufwändiger.

Diese Lösungen erscheinen interessant, da man sein Smartphone ja eh immer dabei hat und einige Teams-Anwender sogar parallel zum Meeting schon das Smartphone für den Chat nutzen. Vielleicht erweiterte Microsoft ja die Smartphone-App um eine "Remote Control Funktion".

Touch Screen/Digitizer

Eine andere Option wäre direkt einen kleinen 7-10" Monitor, der einfach per USB (Displaylink) angeschlossen wird und zudem eine Touch-Funktion hat. Man würde sich dann ganz eine WLAN-Verbindung o.a. einsparen, da der Monitor als Erweiterung des primären PC-Desktops zählen würde. Bislang kenne ich nur die Hersteller, die Grafiktablets nun auch mit Monitor herstellen aber entsprechend hochpreisig sind. Wobei die kleinen Geräte schon bei 200€ anfangen aber ich nicht weiß, ob diese auch "Touch"-tauglich sind oder nur mit dem Digitizer funktionieren.

Es gibt aber auch ein paar "Touch-Monitore" allein mit USB-C Anschluss ,die durchaus für die Personen interessant sein könnten, die ansonsten mit dem klassischen Notebook oder Desktop im Büro mit einem 24" (und mehr) Monitor arbeiten.

Produkt Preis Beschreibung

XP-PEN

200€ (12")
350 (13,3")

Wacom One

389€ (13,3")

Wacom ist als Hersteller von Grafiktablets schon lange im Markt. Der Trend die Grafikbildschirmen macht auch hier nicht halt und geht bis zu 27"-Bildschirmen mit Stift und Touch.

Joy-IT

13"  259€
15" 299€

Bei ELV habe ich 13,3/15" Monitore gefunden, die anscheinend nur per USB-C an einen PC angeschlossen werden und als Zweitmonitor samt Touch-Funktion genutzt werden können. Ich könnte mir sehr gut vorstellen, dass auf so einem Extra-Display der Teams Clients als Vollbild-Applikation effektiv neben einem Hauptbildschirm genutzt werden kann.

Die Monitore hätten natürlich den Vorteil, dass Sie auch für andere Funktionen benutzt werden können und per Touch die Bedienung intuitiv ist. Die Displays mit Digitizer-Stift sind natürlich besser für die Nutzung als digitales Whiteboard und dürften auch robuster sein.

Ich habe bislang noch keines der Boards in Verbindung mit Teams getestet. Mein primäres Arbeitsgerät ist ein klassisches Notebook (Lenovo T480s im Jun 2020) ohne Touch. Insofern wäre ein Digitizer mit Bildschirm vermutlich interessanter als ein USB-C Touch-Monitor.

Eigenbau Keyboard mit Arduino

Die universellen Tastaturen sind recht teure und generische Tasten brauchen etwas Hilfe per Software. Da könnte man auf die Idee kommen, sich einfach selbst eine kleine Tastatur zu bauen. Fast alle Arduino-basierten Boards können über den USB-Anschluss auch eine Tastatur simulieren und Eingänge sind genug vorhanden.

Eine passende Software könnte also entsprechende Tasten auslesen und direkt die Kurztasten an den PC übergeben. Sie bräuchten also gar keine Software auf dem Desktop, die hier gesondert umsetzt. Und wie nicht anders zu erwarten, gibt es sogar schon die ein oder anderen Bastelprojekte, wie z.B.

Die Idee ist im Grund immer gleich und auch sehr günstige Mikrocontroller können diese Funktion bereitstellen. Wenn Sie kein Windows GUI zum Programmieren erwarten, dann kann es sogar ein ATTINY85 und Arduino reichen, der drei direkte Digitaleingänge mitliefert. Die USB-Leitungen können sie nicht nutzen und D5 ist bei einigen Clones mit RESET belegt.

Den habe ich einfach mal hergenommen und zwischen D0 und GND einen Taster (Schließer) angeschlossen und folgenden Code drauf geschrieben:

Die Verzögerungen mit "DigiKeyboard..delay()" können Sie noch anpassen. Wenn man sie aber zu kurz macht, dann hat zumindest mein ATTiny85 nicht mehr die USB-Emulation sauber hinbekommen und der PC hat das Keyboard verloren. Denken Sie daran, dass das USB-Protokoll auf dem ATTiny mit "emuliert" wird und sie daher kein normales "Delay()" verwenden sollten.

Hier der Code zum Download:

Teamskeyboard
Datei einfach im Arduino Studio einbinden

Und zum experimentieren habe einfach einen Tasten zwischen D0 und GND gelötet:

Wenn ich nun in einem Teams-Meeting bin und mich schnell stummschalten muss oder ich mein Mikrofon wieder öffnen will, dann reicht ein Druck auf die rote Taste.

Allerdings ist das nicht mehr als ein Bastelprojekt, denn die Hotkeys in Teams sind leider keine "globalen Hotkeys", d.h. Teams muss den Fokus haben, um darauf zu reagieren. Hier müsste Teams passende APIs bereitstelle, was mit Electron oder im Browser nicht einfach sein wird.

Insofern ist das mehr ein Beispiel, was ein ATTiny so anstellen kann. Auf Dauer wird eine Lösung nicht ohne lokale Unterstützungssoftware sinnvoll arbeiten können. Zudem ist natürlich die ganze Frage nach dem Gehäuse noch ungeklärt.

Die Gehäusefrage könnte man über eine IR-Fernbedienung einfach lösen. Eine alte Fernbedienung sendet per IR die Tasten an den ATTiny, der per IR-Diode die Signale annimmt und Aktionen aulöst.

Eigenbau Web-Keyboard

Wenn eine einfache "Tastatur" mit Teams-Hotkeys nur hilft, wenn Teams aktiv ist, dann kommt doch wieder eine lokale Hilfssoftware in den Fokus, die per "SendKey" die Kurztasten an das richtige Fenster senden kann. Davon gibt es ja schon einige Lösungen, wie ich weiter oben bei Software und Tablet/Smartphone beschrieben habe. Aber muss es denn immer eine App sein, die auf Smartphones verteilt wird? Es gibt eine Unmenge an Systemen, die einfach einen Browser nutzen können. Wie wäre eine Software auf meinem PC, die per HTTP/HTTS von einem anderen Gerät angesurft werden kann und quas eine "Bedienoberfläche" mit anklickbaren Schaltflächen bereit stellt?. Der Druck auf die Schaltfläche führt dann einen HTTP-GET aus, der von dem Server erkannt und z.B. in Tastaturkommandos, Befehle o.ä. umgesetzt wird und liefert wieder eine Webseite zur Anzeige aus.

Wer moderne Ansätze nutzt, kann sicher auch eine kleine JavaScript-App schreiben, die ganz im Browser läuft und nur die HTTP-Anfragen nach hinten austauscht. In beiden Fälle wäre quasi jeder "Browser" eine geeignete Steuerungskonsole. Notfalls sogar ein Uralt-Tablet oder ein Windows Phone, die beide natürlich nie ins Internet dürften.

Es fehlt nur noch der Code, um die Eingaben an die jeweilige App zu senden. Früher war das mit COM-Objekten und "SendKey" möglich. Soweit  ich gesehen habe, geht das aber immer noch

Vielleicht finde ich ja mal die Zeit, so einen Proof of Concept zu bauen

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("x")

Weitere Links