Touch Events erzeugen



  • Hi,

    ich benötige für eine Surface-Anwendung (läuft nicht auf einem Surface-Tisch, sondern auf einem Desktop-Rechner) Touch-Events. Die Informationen welche Touch-Events zu erzeugen sind erhalte ich in Form des TUIO-Protokolls. Der Hintergrund dafür ist, das die Touches von einer Kinect erkannt werden.

    Zum Erzeugen der Touch-Events habe ich eine Subklasse von TouchDevice erstellt und reagiere in dieser Klasse auf die TUIO-Events in dem ich die entsprechenden Funktionen des TouchDevice für das generieren von Touch-Events aufrufe (TouchDevice.ReportDown(), TouchDevice.ReportUp(), TouchDevice.ReportMove()).

    Diese Implementierung funktioniert soweit ganz gut, allerdings bekomme ich manchmal unter Umständen die ich bis jetzt nicht weiter einschränken konnte, seltsames Verhalten seitens des Touches. Dies äußert sich darin, das Elemente zwar Touch-Events erhalten (i.e. wenn ich Listener für TouchEvents auf den zu manipulierenden Elementen registiere erhalte ich in den Listenern Events) aber das Element reagiert auf die Manipulationen die durch die Touches ausgelöst werden sollen nicht (keine Bewegung, kein Scaling bei 2-Finger-Geste).

    Ich habe bereits versucht mir den Zustand des TouchDevices in beiden Fällen anzuschauen um festzustellen inwiefern ein Unterschied im TouchDevice zwischen einem funktionierendem Touch mit Manipulation und einem nicht funkionieredem Touch ohne Manipulation aussieht, aber in den Logausgaben konnte ich keinen Unterschied feststellen.

    Hat vielleicht hier jemand Erfahrung mit der Materie und könnte mich auf evt. Stolperfallen bei Nutzen dieses Touch-Ansatzes hinweisen? Ich vermute, das ich unbewusst irgendetwas falsch mache und deswegen das System nicht so reagiert wie ich es erwarte. Leider ist auch die Microsoft-Dokumentation an dieser Stelle recht dürftig.

    Mfg
    GT


Log in to reply