33 votes

Comment capturer une entrée tactile

J'ai cherché partout comment capturer de la tablette tactile d'entrée pour les ordinateurs portables, mais je n'arrive pas à trouver quoi que ce soit pour les extensions de Chrome/JavaScript.

Question: comment puis-je obtenir le nombre de doigts (pas cliqué, juste en bas et potentiellement à avancer comme vous le feriez avec une souris), les coordonnées x,y, et leurs correspondants en place d'événements, pour une tablette tactile sur un ordinateur portable?

Précisions:

  • Je ne suis pas intéressé à la détection de l'écran tactile événements. Juste de la tablette tactile les événements.
  • Pouvez supposer que le pavé tactile de vie sur 3 ans ou plus récent lap tops.

4voto

DaSch Points 91

Je ne le trouve pas encore, mais je lis quelque part ce sujet. Mais le synopsis est simple: c'est un brouillon / en développement mais aucun navigateur ne le supporte pour le moment. Voici le brouillon du W3C: https://w3c.github.io/pointerevents/

2voto

void Points 14554

Je pense qu'il n'est pas possible de le faire à l'aide de JavaScript uniquement. Nous allons le prendre de cette façon:

Imaginons la situation suivante:

J'utilise un Macbook pro 13in Affichage de la Rétine, avec multi-touch et multi geste touchpad.

Maintenant Supposons que si j'ai des paramètres de mouvement dans mon Système d'Exploitation que si je tape avec deux doigts, l'enregistrer comme normal le Clic Gauche, et quand je tape sur un seul doigt, l'enregistrer comme un clic droit.

Maintenant, imaginez que nous sommes en saisir à la fois les événements, click et dblclick, maintenant, dis-moi qui tournoi sera lancé quand je vais faire un seul robinet d'un doigt. Ce sera un dblclick, et quand je vais faire un appuyez avec deux doigts, il sera click événement déclenché.

Un autre Cas: Imaginons que j'ai inversé le défilement activé sur mon ordinateur, maintenant, quand je scroll vers le haut de ma page défile vers le bas. Et c'est quelque chose qui chrome/ firefox n'est pas le contrôle.

Conclusion: Il peut être variée nombre de ces paramètres dans les divers types de système d'exploitation, dans les divers certain nombre de dispositifs tels que les trackpads, boules de commande, claviers, souris, souris magic mouse, etc. Cela me donne l'impression qu'il y est une couche entre le matériel externe et le navigateur de la détection de la cuisson des événements, et cette couche est fourni par le système d'exploitation. Son système d'exploitation, qui manipule les événements en fonction de l'défini par l'utilisateur/paramètres prédéfinis.

Il peut y avoir des dispositifs où l'intention de fournir et de feu de plusieurs événements comme périphérique tactile, tactile ils incendie de plusieurs événements. Mais ce n'est pas le cas avec tous les appareils. Donc, il n'a pas d'importance si vous êtes clic de la souris ou de la boule de commande ou à partir du pavé tactile ou de l'écran tactile, vous obtiendrez un événement commun qui est une click, il y a certainement une possibilité que certains plus les événements sont déclenchés, mais ils sont dépendants du type d'appareil et non pas sur les paramètres que vous avez fait dans votre Système d'Exploitation.

Une façon, vous pouvez capturer l'événement est en établissant une sorte de connectivité entre votre navigateur web et de la page de système d'exploitation, tel que suggéré par @AlvaroSanz.

1voto

AlvaroSanz Points 49

Je sais que vous me demandez pour une solution pour les extensions de Chrome/JavaScript mais Ive été la recherche et d'obtenir rien, donc j'ai fini avec une solution combinant VB et JavaScript.

Il n'y a VB api pour Synaptics (https://autohotkey.com/board/topic/65849-controlling-synaptics-touchpad-using-com-api/) et vous pouvez appeler javascript à partir de VB (http://www.codeproject.com/Articles/35373/VB-NET-C-and-JavaScript-communication#cjfv), c'est un long chemin, mais c'est une façon.

1voto

Allen Points 778

pour développer ce type d’extension, vous devez écrire un client natif Chrome avec Windows Touch Input .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X