Les schémas sont utilisés pour représenter un thème ou un style général de combinaisons. Par exemple, le Plan de travail fournit un schéma "par défaut" et un schéma "Emacs". Un seul schéma est actif à un moment donné. L'utilisateur final contrôle lequel est actif en utilisant la page de préférences
Général > Touches.
D'un point de vue de l'implémentation, les schémas sont simplement nommés des groupements de combinaisons. Un schéma n'accomplit rien par lui-même, excepté s'il est associé à des combinaisons.
Revenons sur les marques du plan de travail pour org.eclipse.ui.bindings pour trouver les définitions de combinaisons et savoir comment associer un schéma à une combinaison.
... <key sequence="Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"> </key> ... <key sequence="Ctrl+X Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.emacsAcceleratorConfiguration"> </key> ...
Dans la commande "org.eclipse.ui.file.save", deux combinaisons de touches différentes sont définies. Vous remarquerez qu'un schemeId différent est défini pour chacune. Lorsque le schéma standard est actif, la combinaison de touches "Ctrl+S" appelle la commande. Lorsque le schéma emacs est actif, la séquence "Ctrl+X Ctrl+S" appelle la commande.
Lorsque votre plug-in définit une combinaison, il l'affecte généralement à un schéma existant. Mais le plug-in peut définir des styles de schéma totalement nouveaux. Auquel cas, vous pouvez définir un nouveau type de schéma dans la définition org.eclipse.ui.bindings. Les marques du plan de travail qui définissent les configurations de touches par défaut et emacs sont présentées ci-dessous :
... <scheme name="%keyConfiguration.default.name" description="%keyConfiguration.default.description" id="org.eclipse.ui.defaultAcceleratorConfiguration"> </scheme> <scheme name="%keyConfiguration.emacs.name" parentId="org.eclipse.ui.defaultAcceleratorConfiguration" description="%keyConfiguration.emacs.description" id="org.eclipse.ui.emacsAcceleratorConfiguration"> </scheme> ...
Notez que le nom défini ici est celui utilisé dans la page de préférences de la liste des schémas.
L'utilisateur contrôle le schéma actif via la page de préférences. Mais vous pouvez définir le schéma actif par défaut dans le fichier "plugin_customization.ini". Préférence pour :
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration