Les configurations de touches sont utilisées pour représenter globalement des combinaisons de touches. Par exemple, le plan de travail fournit la configuration de touches "standard" et la configuration "Emacs". Seule une des configurations peut être active à la fois. L'utilisateur décide de la configuration active dans la boîte de dialogue Préférences du plan de travail.
Du point de vue de l'implémentation, les configurations de touches sont simplement désignées comme des groupes de combinaisons de touches. Une configuration de touches n'exécute aucune action à moins que des combinaisons de touches lui soient associées.
Revenons sur les marques du plan de travail pour org.eclipse.ui.commands pour trouver les définitions de combinaisons de touches et savoir comment associer une configuration de touches à une combinaison de touches.
... <keyBinding string="Ctrl+S" scope="org.eclipse.ui.globalScope" command="org.eclipse.ui.file.save" configuration="org.eclipse.ui.defaultAcceleratorConfiguration"> </keyBinding> ... <keyBinding string="Ctrl+X Ctrl+S" scope="org.eclipse.ui.globalScope" command="org.eclipse.ui.file.save" configuration="org.eclipse.ui.emacsAcceleratorConfiguration"> </keyBinding> ...
Dans la commande "org.eclipse.ui.file.save", deux combinaisons de touches différentes sont définies. Vous remarquerez qu'une configuration différente est définie pour chacune. Lorsque la configuration standard est active, la combinaison de touches "Ctrl+S" appelle la commande. Lorsque la configuration emacs est active, c'est la séquence "Ctrl+X Ctrl+S" qui appelle la commande.
Lorsque votre plug-in définit une combinaison de touches, il l'affecte généralement à une configuration de touches existante. Mais le plug-in peut définir des styles de configurations de touches totalement nouveaux. Auquel cas, vous pouvez définir un nouveau type de configuration de touches dans la définition org.eclipse.ui.commands. Les marques du plan de travail qui définissent les configurations de touches standard et emacs sont présentées ci-dessous :
... <keyConfiguration name="%keyConfiguration.standard.name" description="%keyConfiguration.standard.description" id="org.eclipse.ui.defaultAcceleratorConfiguration"> </keyConfiguration> <keyConfiguration name="%keyConfiguration.emacs.name" parent="org.eclipse.ui.defaultAcceleratorConfiguration" description="%keyConfiguration.emacs.description" id="org.eclipse.ui.emacsAcceleratorConfiguration"> </keyConfiguration> ...
Notez que le nom défini ici est celui utilisé dans la page de préférences de la liste des configurations.
L'utilisateur contrôle la configuration active via la page de préférences. Mais vous pouvez définir une configuration active par défaut dans la définition org.eclipse.ui.commands. Le plan de travail fixe la configuration de touches standard comme configuration par défaut au moment de la définition de l'extension :
<extension point="org.eclipse.ui.commands"> <activeKeyConfiguration value="org.eclipse.ui.defaultAcceleratorConfiguration"> </activeKeyConfiguration> ...