1

J'ai une application Android que je cours sur un Chromebook. J'ai des vues qui sont mises à l'échelle avec des gestes de pincement et de zoom lorsque l'utilisateur touche l'écran de l'appareil, et ceux-ci fonctionnent correctement sur le Chromebook. J'essaie d'obtenir un pincement et un zoom avec le pavé tactile.Comment faire pincer et zoomer avec un touchpad sur ChromeOS/Android?

Je peux faire glisser des éléments défilants à trois doigts. Je peux faire glisser deux doigts et il traîne autour des éléments de l'écran où glisser est logique. Je reçois toujours des événements en vol stationnaire et les événements affirment qu'il y a deux pointeurs, donc tout va bien. Cependant, dès que les doigts commencent à se déplacer dans des directions opposées, le flux d'événements s'arrête.

Y a-t-il un moyen d'obtenir le flux d'événements en entrée non filtré pour que je puisse voir ce qui se passe? J'ai l'impression que la meilleure tentative de la couche d'émulation pour que tout fonctionne "juste" (et c'est un très bon effort!) Me mord ici. Je remarque également que certains événements arrivent en tant qu'événements de mouvement génériques, et certains viennent en tant qu'événements tactiles. Et certains, comme le tap-to-click, en font partie. Si c'est important, les données du périphérique d'entrée pour ChromeOS Mouse indiquent qu'il a les sources (touchscreen mouse), ce qui est généralement logique. Sauf qu'il ne devrait pas être touchpad à la place, car il n'est pas directement attaché à un écran?

Sur this page, l'élément de liste n ° 5 implique qu'un type d'événement synthétique peut être créé et utilisé d'une manière ou d'une autre. Est-il possible de voir si ceux-ci sont générés? Et si oui, comment pourrais-je en profiter?

Aide!

Un peu plus de détails: Le fonctionnement à un doigt du pavé tactile me donne ACTION_HOVER_MOVEévénements génériques. La traînée à deux doigts me donne touchez événements tant que les deux doigts bougent ensemble. Dès qu'ils commencent à se diriger dans des directions différentes, le flux d'événements s'arrête.

Répondre

1

La prise en charge de la fonction Pincer pour zoomer pour le pavé tactile est toujours en cours. Une fois qu'il est là, il fonctionnera de manière transparente avec le reconnaissance de gestes standard utilisé pour le zoom de l'écran tactile, vous ne devriez pas avoir à faire quoi que ce soit.

Je recommande vivement de passer à niveau de l'API 24 si vous souhaitez cibler Chromebooks, il y a aussi plus de détails sur les périphériques d'entrée sur Chromebooks à trouver ici: https://developer.android.com/topic/arc/input-compatibility.html

modifier: Le type de périphérique « touchpad » est très nommé de manière confuse. Il est réservé aux appareils hors écran. Le pavé tactile est traité comme une souris puisqu'il déplace le curseur de la souris sur l'écran.

+0

Pas la réponse que j'espérais, mais elle a l'anneau de la vérité. Merci pour votre perspicacité. – Argyle

+0

Bien qu'une fois le support est libéré, je serai heureux. ;) – Argyle