Os esquemas são usados para representar um estilo geral ou uma temática de associações. Por exemplo, a Área de trabalho faculta um esquema que é "Predefinição" e um esquema denominado "Emacs". Só está activo um esquema de cada vez.
Os utilizadores finais controlam quais os esquemas activos através da
página de preferências
Geral > Chaves .
Do ponto de vista de uma implementação, os esquemas são meramente agrupamentos de associações denominados. Um esquema nada concretiza por si só sem ter associações a ele associadas.
Vejamos novamente a marcação de área de trabalho de org.eclipse.ui.bindings para conhecermos as definições de associação e como é que um esquema fica associado a uma associação.
... <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> ...
Há duas associações de teclas diferentes definidas para o comando "org.eclipse.ui.file.save". Repare que cada qual tem um schemeId diferente definido. Quando está activo o esquema predefinido, a associação de teclas "Ctrl+S" invoca o comando. Quando está activo o esquema emacs, é a sequência "Ctrl+X Ctrl+S" que invoca o comando.
Quando o plug-in define uma associação, é provável que a atribua a um esquema existente. Todavia, o plug-in poderá optar por definir um estilo completamente novo de esquema. Se for este o caso, poderá definir novo tipo de esquema dentro da definição org.eclipse.ui.bindings. A marcação de área de trabalho que define as configurações de teclas predefinida e emacs encontra-se a seguir:
... <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> ...
Repare que o name aqui definido é o utilizado na página de preferências na lista de esquemas.
O utilizador controla o esquema activo através da página de preferências. Todavia, pode definir o esquema activo predefinido como parte do ficheiro "plugin_customization.ini". É uma preferência:
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration