2010-08-03 10 views
0

Est-ce que any1 sait comment supprimer l'événement de la souris, mais autoriser uniquement les événements tactiles.Silver/WPF supprime les événements de la souris, mais autorise les événements tactiles

En bref, j'ai 2 moniteurs. 1 est l'affichage principal, un autre est un écran tactile.

Je ne veux pas que le curseur de la souris passe au second affichage. Pour l'affichage, il n'acceptera que les événements tactiles, si tout va bien, lorsque le deuxième écran est touché, la souris devrait rester sur l'écran principal sans bouger.

Une idée de comment faire cela?

Répondre

0

Pas avec Windows, car toutes les entrées de périphérique de type souris sont combinées à un périphérique virtuel. Donc, si votre écran tactile est enregistré comme et fonctionne comme une souris ordinaire, je ne connais aucun moyen de savoir d'où vient l'entrée. La seule solution ici serait d'obtenir les données d'entrée au niveau du pilote. Pour cette raison, le curseur de la souris se déplace toujours (brièvement) vers l'endroit où l'écran tactile est «cliqué». Empêcher le curseur de la souris d'entrer dans le deuxième écran sera assez difficile, car cela se produit également au niveau de Windows.

Je suggère une solution de contournement, bien que cela dépende de votre écran tactile:
Habituellement, les entrées de l'écran tactile (mais pas les entrées du stylet) ont un mouvement de souris très court/rapide avant le clic. Donc, une solution possible serait d'écouter les événements de déplacement de la souris et de séparer l'origine de l'entrée en utilisant cette information.

+0

J'ai effectivement pensé à utiliser la dernière méthode que vous mentionnez, déclarer une variable lastPosition pour capturer la position lorsque le déclencheur d'événement onMouseMove. Donc, si la position est au 2ème écran, après l'événement click lorsque l'on clique sur l'écran tactile, je le recule. U pense que c'est viable? En tout cas merci pour la clarification –