ich habe ein Streamdeck, also ne extra Konsole, bei der man die Tasten mir selbstdefinierten Funktionen oder Aufrufen belegen kann. Ein nettes Spielzeug, wer das nicht kennt - hier im Forum gibt es laut Suche noch nichts dazu.
Ich spiele schon länger mit dem Gedanken für mein Hobby die Tasten (dynamisch) per Python zu belegen und habe diese Woche ein wenig Zeit gehabt zu rechechieren und zu testen.
Nun ja, nun stecke ich fest, wie immer, wenn es zu viel neues ist, aber ich fang mal vorne an:
Bei Github findet man mehrere Beiträge und ich habe mir folgende 3 angesehen und ein wenig getestet:
1. python-elgato-streamdeck https://github.com/abcminiuser/python-elgato-streamdeck
Soweit gut, schien mir auf den ersten Blick etwas komplex einzelne Tasten zu belegen
2. DevDeck https://github.com/jamesridgway/devdeck
HIer gibt es diverse Funktionen, die ich zum Großteil nicht brauche, wie Lautstärke leiser/lauter und ich hab´s auf die schnelle nicht geschafft nen Python Skript aufzurufen
3. StreamDeckLayoutManager https://github.com/DidierMalenfant/Stre ... outManager
Das hier baut auf dem ersten auf und ist dafür gedacht, um in eigene Skripte zu integrieren und dynamisch Tasten zu belegen, das suche ich
Die ersten Schritte waren nicht so schwer, mit folgenden Zeilen habe ich die ein paar farbige Tasten mit Beschriftung auf dem Streamdeck:
Code: Alles auswählen
import StreamDeckLayoutManager
streamdeck_manager = StreamDeckLayoutManager.Manager('C:/Users/ah/trading/streamdeck/StreamDeckConfig.toml')
# Vorlage: streamdeck_manager.setKey('MainPage', 12, 'MyImage.png', 'My Label',['MyCallbackName', 'test_argument', 2])
streamdeck_manager.setKey('Hotkeys', 0, 'orange.png', 'Close ALL',[close_all])
streamdeck_manager.setKey('Hotkeys', 2, 'green.png', 'Buy TSLA',[buy_py, 'TSLA'])
streamdeck_manager.setKey('Hotkeys', 3, 'red.png', 'Sell TSLA',[sell_py, 'TSLA'])
streamdeck_manager.setKey('Hotkeys', 5, 'green.png', 'Buy MSFT',[buy_py, 'MSFT'])
streamdeck_manager.setKey('Hotkeys', 6, 'red.png', 'Sell MSFT',[sell_py, 'MSFT'])
streamdeck_manager.displayPage('Hotkeys')
Also habe ich ne kurze (Callback?) Funktion eingefügt, die nen Python Skript ruft und dann versucht das gemäß Vorgabe
Code: Alles auswählen
streamdeck_manager.setCallback(self, callback_name: str, callback)
Ich hab mir auch diese Beispiele angesehen https://buzzcoder.gitbooks.io/codecraft ... ments.html, aber verstehe nicht, warum brauche ich 2 Funktionen, eine innere und eine äußere?
Eigentlich muss ich nur 1 Argument, z.b. 'TSLA' an einen Skript Aufruf übergeben, das habe ich an anderer Stelle schon hinbekommen, aber diese 2 Funktionen überfordern mich, vielleicht sitze ich auch schon zu lange vorm Rechner

Es wäre super, wenn jemand meine Lernkurve beschleunigen könnte - wie sieht die richtige Definition der Callback Funktion und setCallback() aus? Oder habe ich bei setKey() schon nen Fehler gemacht?
Danke & Grüße,
Andy