El entorno de trabajo define muchos aceleradores de teclas para llamar a acciones comunes mediante el teclado. En versiones anteriores de la plataforma, los conectores podían definir la tecla aceleradora que debía utilizarse para la acción cuando ésta se definía. Sin embargo, esta estrategia puede provocar varios problemas:
Para evitar que se produzcan estos problemas, la plataforma define una estrategia configurable de enlace de teclas que los conectores pueden ampliar. Ello soluciona los problemas enumerados más arriba y aporta nuevas prestaciones:
La estrategia básica consiste en que los conectores utilicen mandatos para definir las acciones semánticas. Los mandatos no son otra cosa que las declaraciones de una acción y su categoría, enlace de teclas y ámbito asociados. Los mandatos no definen una implementación para la acción. Cuando un conector define una acción para un editor, un conjunto de acciones o una vista, la acción puede especificar que es una implementación de uno de estos mandatos. Esto permite que las acciones similares desde el punto de vista semántico estén asociadas a un mismo mandato.
Una vez definido un mandato, puede definirse un enlace de teclas que haga referencia al mandato. El enlace de teclas define la secuencia de teclas que debe utilizarse para llamar al mandato. Un enlace de teclas puede hacer referencia a una configuración de teclas utilizada para agrupar los enlaces de teclas en configuraciones con nombre diferentes que el usuario puede activar por medio del diálogo de preferencias. El enlace de teclas también puede asignar un ámbito que determina el orden de búsqueda de la resolución de enlaces de teclas.
Todo esto se entiende mejor examinando el entorno de trabajo y viendo cómo se declaran los mandatos y las teclas aceleradoras. Veremos todo ello desde el punto de vista de la definición de los enlaces de teclas de las acciones existentes.