Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Combinaison de touches globales

Envoyé par : golgoth14

Date : 09/03/2006 08:58

Bonjour,

J'ai une extension Firefox 1.5 et j'aimerai déclarer une combinaison de touches (par exemple ALT + F5) qui déclancherait un événement.

Jusqu'ici tout va bien.

Mon problème est que j'aimerai que cette combinaison soit possible pour toutes les pages de mon extension, y compris les boîtes de dialogue modales.

J'ai déclaré un keyset sur la page principale XUL

<xul:keyset id="mainKeyset">
	<xul:key
		id="key_id"
		modifiers="alt"
		keycode="VK_F5"
		oncommand="alert('ok');" />
</xul:keyset>

Mais si le focus se trouve dans une autre page (incluse via un iframe), l'événement ne se déclanche pas. Même soucis depuis une boîte modale.

Avez-vous quelques idées ?

Mon but est de déclancer une fonction depuis n'importe quel endroit de l'application.

Merci d'avance. Stéphane

# Re: Combinaison de touches globales

Envoyé par : golgoth14

Date : 09/03/2006 10:16

Complément.

J'ai créé un overlay que j'enregistre au niveau du browser via le manifest chrome.

Cet overlay déclare le keyset. La combinaison de touches ALT+F5 est déclanchée correctement sauf dans les boîtes modales de mon extension.

En fait, l'événement sur ALT+F5 n'est même pas déclanché lorsqu'un boîte modale est affichée. On dirait que le keyset n'est pas partagé par les boîtes modales.

# Re: Combinaison de touches globales

Envoyé par : laurentj

Date : 09/03/2006 11:31

C'est normal tout ça. Et heureusement (bonjour les comportements bizarres autrement ! ton cas est trés particulier). C'est la fenêtre qui a le focus qui reçoit les évènements clavier. Et les évènements ne sont pas propagé vers les fenêtres ancêtres.

Mais tu as la solution sous les yeux : ton overlay, applique le sur toutes les fenêtres oû tu veux que le raccourci soit actif.

# Re: Combinaison de touches globales

Envoyé par : golgoth14

Date : 10/03/2006 08:53

Merci, en effet, j'avais la solution sous les yeux :)

C'est vrai que c'est un peu particulier mais ceci n'est pas utilisé en production. C'est seulement pour effectuer des tests sur toutes l'application. Y compris sur les fenêtres modales.

Encore merci. Stéphane

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.