IPS-script mit Maustaste triggern

Hallo zusammen,

ich habe einen Logitec Presenter. Das ist im Prinzip eine Funkmaus mit Trackball.
Ich möchte folgendes erreichen.
Durch Drücken der 3.Maustaste soll ips per IR-Trans den TV-Eingang umschalten, so dass der PC-Desktop (IPS-Dashboard)
auf dem TV angezeigt wird. Diesen kann ich dann mit der Maus steuern.
Nochmaliges drücken der Maustaste soll den TV-Eingang wieder auf die Hauptquelle zurückschalten.

Zusammengefasst: Maustaste soll IPS-Script triggern

Hat jemand eine Idee, wie man diesen Problem in V2 lösen kann?
Global Hotkeys aus V1 könnte eine Lösung sein, scheint es aber nicht mehr zu geben.

In den Produktfeatures von IPS wird ein HID-Schnittstellenmodul genannt, das könnte auch eine Lösung sein.
Ich kann aber keine weiterführenden Infos finden.

Eine weniger schöne Lösung wäre: Maustaste steuert IR-Trans.
Wie könnte ich das erreichen?

Viele Grüße

Christian

Das Problem hat sich reduziert auf:

„IPS reagiert auf Tastaturshortcut“

Der Logitech-Treiber (Mouseware) kann so konfiguriert werden,
dass auf Mausklick eine Tastenkombi gesendet werden kann.
Soweit habe ich es am Laufen…
Jetzt brauche ich nur noch einen Trick, wie IPS auf die Tastenkombi reagieren kann.

Viele Grüße
Christian

Hallo Christian,

ich galube da hat ein Forumuser schon ein Script zu geschrieben, welcher Tastatureingaben auswerten kann. Finds grade nicht.

Gefunden:

Hallo Ferengi-Master-Thomas,

ich habe mir mal Deinen Tip angesehen. Spannende Sache.
Nur - wenn ich das richtig verstehe muss das Terminal-Fenster den Focus erhalten,
damit das ganze funktioniert. Das kann ich nicht gewährleisten. Es wäre auch nicht so schön,
ständig das Terminalfenster zu sehen.

Da muss ich wohl eine andere Lösung finden…

Hat noch jemand eine Idee oder Infos zu HID-Modul?

Viele Grüße
Christian

Das HID-Modul kann mit Geräten mit HID-Treiber Daten austauschen. Benutzt beispielsweise mein WMRS200-Modul oder das Vellemann-Board. Kannst ja einfach mal ein HID-Instanz anlegen, das gewünschte HID-Gerät auswählen, die Verbindung öffnen und dann unten auf Debug klicken. Da siehst Du dann, welche Daten vom HID-Device gesendet werden. Die kannst Du dann mit Hilfe einer RegisterVariable einlesen und verarbeiten.

Hallo Horst,

danke für die Infos zur HID-Schnittstelle.
Im Prinzip könnte das mein Problem lösen.

In der Praxis klappt das leider nicht.
Am Rechner stecken hier zwei HID-Devices

  1. USB-HID Tastatur
  2. HID konforme Maus

Im Dialog des IPS-HID-Moduls wird nur die Maus zur Auswahl angeboten.
Die Schnittstelle kann jedoch nicht geöffnet werden. Fehlermeldung „Gerät hat keinen Schreibzugriff“

Die Implementierung scheint doch sehr Velleman spezifisch.
Vielleicht ändert sich das ja noch mal. Man denke nur an die ganzen Gamecontroller, die man dann als Eingabegerät benutzen könnte…

Auf jeden Fall nochmal vielen Dank für die Infos !!!

Gruß
Christian

Ist nicht auf Vellemann getrimmt. Ich habe hier z.B. kein Vellemann, sonden weiß lediglich, dass Vellemann auf HID läuft. Habe wie gesagt mein WMRS200-Modul mit HID-Anbindung geschrieben. Gibt da eigentlich nur Bytes Lesen und Schreiben. Könnte mir vorstellen, dass einfach nur kein Read-Only-Modus implementiert worden ist oder dass das Betriebssystem den Schreibmodus blockiert.

Das Maus/Tastatur zwar als HID Gerät angezeigt werden ist richtig, nur ist deren Zugriff auf die Daten die dich interessieren exklusiv für das Betriebssystem reserviert. Das hat nicht damit zu tun, dass IPS es dir nicht erlaubt. Wenn du z.B. eine Maus hast die extra LEDs hat (wie meine Logitech) dann kannst du diese Zusatzfunktionen damit prima ansteuern.

Benutz doch sowas wie EventGhost und leite dann die Events an IPS weiter. Das geht dann auch übers Netzwerk, was mehr sinn macht als eine Maus auszulesen, die irgendwo im Keller am Server hängt…

paresy

Hi,

über welches Plugin kann EventGhost Tastatureingaben an IPS weiterleiten?

Ich wünsche einen schönen Abend.

Christoph.

Hallo Paresy, hallo Horst,

ich würde hier gerne nochmal die Frage von Christoph aufgreifen:

„über welches Plugin kann EventGhost Tastatureingaben an IPS weiterleiten?“

Gibt es hier einen allgemeingültigen Mechanismus?

Viele Grüße
Christian

Soweit ich mich erinnere kann EventGhost Meldungen per TCP/IP verschicken. Diese kannst du im IPS mit dem ServerSocket/ClientSocket empfangen.

paresy

EventGhost scheint laut Doku tatsächliche eine TCP/IP-Schnittstelle zu haben.

In der Tat ist die TCP/IP-Kommunikation wohl z.Zt. der praktikabelste Weg, um Tastaturinformationen an IPS zu senden.

Ich habe jetzt mal einen anderen Weg probiert:

Autohotkey (AHK) kann wie EventGhost auf verschiedenste Tastatur und Maus-Aktionen reagieren. Es ist ein Scripting-Werkzeug, daß darüber hinaus vielfältige Möglichkeiten zur Windows-Automation bietet. IPS und Autohotkey sind also eine sehr interessante Paarung.

Deutsche AutoHotkey Community (de.autohotkey.com)

Es gibt ein einfaches und funktionelles AHK-TCP-Server-Script, dass Strings an einen Clienten(IPS) senden kann, oder auch Strings empfangen kann.
Damit ist es möglich IPS und AHK bidirektional zu koppeln. IPS kann dann Aktionen aufgrund von AHK-Ereignissen (Hotkeys bzw andere Windows-Ereignisse) reagieren und selbst wiederum Ereignisse an AHK senden, um Aktionen auf Windows-Ebene einzuleiten.

Hier gibt es das Server-Script (gleich das erste vom Autor Zed Gecko)
Client & Server Script for TCP/IP Network Communication

Beispiel einer Kommunikation AHK->IPS

Infrastruktur:
Port und IP(Localhost) im AHK-Server-Script setzen (Achtung! Default ist der WinLirc-Port)
Server starten.
IPS-Clientsocket einrichten mit Port und IP-des AHK-Servers konfigurieren.
Registervariable einrichten und in einem IPS-Script auswerten.

Datenaustausch:
Eine Tastaturaktion in AHK so definieren, dass sie die Funktion „SendData(conectioncheck,SendText)“ im AHK-Server-Script aufruft.
„SendText“ ist der String, der vom IPS-Clientsocket empfangen wird und dann über Registervariable verarbeitet werden kann.

Wenn man das WinLirc Protokoll verwendet, dann kann man das WinLirc-Modul in IPS verwenden und muss sich nicht selbst um die Auswertung kümmern.
In der Variable „SendText“ der Funktion „SendData“ muss dann ein String in der Form „1 00 myfunction myremote“ gesendet werden. AHK agiert dann für IPS quasi als WinLirc-Server.

Da das ganze per Netzwerk-Socket funktioniert, können also auch Kommandos mit entfernten Windows-Rechnern ausgetauscht werden.

Meine Problemstellung konnte ich so jedenfalls lösen. 3-Mousetaste des Presenter-Trackballs schaltet jetzt die TV-Eingänge zwischen HDMI und dem PC-Eingang (IPS) über IRTRANS hin und her. Mit der Mausfunktion kann ich dann IPS bedienen. Leider liegen die Umschaltzeiten des TV bei ca. 3sek. Mit einem TV, bei dem man einen anderen Videoeingang als „Picture in Picture“ einblenden kann, könnte man dann IPS als On-Screen-Fernbedienung für sämtliche Komponenten einblenden und mit der Maus steuern -> Universalfernbedienung fürs Heimkino.

Viele Grüße
Christian

Hi,

ja die Schnittstelle ist da, aber leider habe ich es nicht hinbekommen. Es kommen einfach keine Daten bei der IPS an. Die Verbindung scheint aber korrekt zu bestehen. Da bei mir Event Ghost ohnehin beim Beenden immer abstürzt, werde ich mal Autohotkey benutzen. Hoffentlich läuft das mit meinem IRTrans korrekt zusammen.

Aber vielleicht kommt ja auch noch mal ein Tastatusmodul? Ich verstehe ehrlich gesagt nicht ganz, warum ich meine Geräte per Telefon, Mail, Funkschalter, IR Fernbedienung, Schalter,… schalten kann, aber nicht von der Tastatur meines Rechners aus?

Ich wünsche einen schönen Tag.

Christoph.

Hallo Christoph,

Hoffentlich läuft das mit meinem IRTrans korrekt zusammen.

Einfach im Autohotkey-Server-Script einen anderen Port, als den IRTRANS-Port wählen (z.b. 8766), dann beeinflussen sich Autohotkey und WinLirc nicht.

Ich denke einen WinLirc-Server mit AHK abzubilden ist eher eine Lösung, wenn mann sich in IPS nicht um die weitere Auswertung kümmern möchte.

Mehr Flexibilität erhälst Du, wenn Du den selbst definierten String mit Clientsocket,RegVar und zugeordnetem Script auswertest.

Viele Grüße
Christian