El entorno de trabajo define muchos aceleradores del teclado para invocar las acciones más comunes utilizando el teclado. Cuando su conector defina una acción nueva utilizando los puntos de extensión actionSets o editorActions, podrá especificar un atributo accelerator con cualquier acción. Esta es una manera de establecer la combinación de teclas que invocará la acción. No obstante, el hecho de permitir que cada conector defina teclas aceleradoras propias para las acciones presenta 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 definiciones de acción para definir las acciones semánticas. Estas definiciones no son otra cosa que las declaraciones de una acción. No definen una implementación de 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 una de estas definiciones de acción. Esto permite que las acciones similares desde el punto de vista semántico estén asociadas a una misma definición de acción.
A continuación, los conectores pueden definir conjuntos de aceleradores que correlacionen las definiciones de acción con las combinaciones de teclas. Los conjuntos de aceleradores se pueden agrupar en configuraciones de aceleradores que el usuario puede activar por medio del diálogo Preferencias.
Por último, los conectores pueden definir ámbitos de aceleradores que determinen el orden de búsqueda de los enlaces de teclas.
Todo esto se entiende mejor examinando el entorno de trabajo y viendo cómo se declaran las acciones y los aceleradores. Veremos todo ello desde el punto de vista de cómo están definidos los enlaces de teclas de las acciones existentes.