Bonjour à tous,

Je me suis mis récement à GWT afin de développer une application contenant de la 3D grace au tout frais WebGL et canvas du html5.

Comme WebGL est très jeune, il n'est pas encore supporté par défaut dans les navigateur majeurs et l'on doit passer par les version dev, à savoir :
- Firefox 4.0b10pre ( nommé minefield )
- Chrome 9, passé en version stable il y a quelques jours.

Bref, pour récuperer les évenements souris sur mon canvas, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
canvas.addMouseWheelHandler(this);
canvas.addMouseDownHandler(this);
canvas.addMouseUpHandler(this);
canvas.addMouseMoveHandler(this);
canvas.addMouseOutHandler(this);
Ce qui marche impec avec chrome et minefield.

Par contre pour les évenements claviers, si j'ai bien compris, étant donné qu'on ne sait pas quand un canvas à le focus, les KeyDownHandler et KeyDownHandler ne peuvent pas s'appliquer dessus.

Du coup je récupère les évenements clavier arrivant sur ma page principale avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
RootPanel.get().addDomHandler(this, KeyDownEvent.getType());
RootPanel.get().addDomHandler(this, KeyUpEvent.getType());
( this étant une classe implémentant les handlers )

Ceci marche très bien avec chrome, mais pas sous minefield qui semble ne récuperer aucun évenement clavier...
Après pas mal de recherche je n'ai aucune idée du pourquoi ça ne marche pas sous minefield ni de comment récuperer les évenements claviers d'une autre maniere ..

Pouvez vous m'éclairer ?

Cordialement,
Harold