# Atajos de teclado

Resulta útil poder acceder a los comandos de menú directamente desde el teclado. El kit de herramientas Thot te permite hacerlo mediante atajos de teclado definidos en un archivo. Este archivo define la lista de asociaciones entre el comando y sus teclas asociadas.

La sintaxis utilizada para definir una asociación es:

`Directive = KeySeq ':' IdentCommand ;
KeysSeq = KeySet [ ',' KeySet ] ;
KeySet = [ Modifier ] [ 'Shift' ] Key ;
Key = '<Key>' KeyValue / '<Key>' SpecialKey ;
Modifier = 'Ctrl' / 'Alt' / 'Meta' ;
KeyValue = 'a' / 'b' / ... ;
SpecialKey = 'Escape' / 'Delete' / 'Space' / 'BackSpace' /
'Intro' / 'Up' / 'Down' / 'Left' / 'Right' /
'Home' / 'End' / 'F1' / ... / 'L1' / ... / 'R1' / ... ;
IdentCommand = 'TtcInsertChar(' Char ')' / NAME '()' ;
Char = KeyValue / OctalValue / Entity ;``
OctalValue = '\' NUMBER ;
Entity = DecEntity / HexaEntity ;
DecEntity = '&' '#' NUMBER ';' ;
HexaEntity = '&' '#' 'x' HEXADECIMAL ';' ;`

Para ver ejemplos, consulta los archivos estándar amaya.keyboard (en Unix) y amaya.kb (en Windows), que se encuentran en el directorio Amaya/config.

La lista de comandos disponibles es:

- Comandos de desplazamiento:
  - Moverse carácter a carácter: `TtcNextChar`, `TtcPreviousChar`
  - Moverse palabra a palabra: `TtcNextWord`, `TtcPreviousWord`
  - Moverse al principio/final de la línea actual: `TtcStartOfLine`, `TtcEndOfLine`
  - Moverse línea a línea:`TtcNextLine`,`TtcPreviousLine`
  - Moverse elemento a elemento: `TtcNextElement`,`TtcPreviousElement`, `TtcChildElement`, `TtcParentElement`
  - Desplazar un página: `TtcPageDown`, `TtcPageUp`,`TtcPageTop`,`TtcPageEnd`
  - Desplazar una línea: `TtcLineUp`, `TtcLineDown`

- Comandos de selección:
  - Selección carácter a carácter: `TtcNextSelChar`, `TtcPreviousSelChar`
  - Selección palabra a palabra: `TtcNextSelWord`, `TtcPreviousSelWord`
  - Seleccionar hasta el principio/final de la línea actual: cStartOfLine`TtcSelStartOfLine`, `TtcSelEndOfLine`
  - Seleccionar línea a línea:`TtcNextSelLine`,`TtcPreviousSelLine`

- Abrir un enlace a activar un elemento de formulario HTML (menú, botón, etc.): `DoAction`.

- Moverse al siguiente (o al primero si hay algo seleccionado) enlace o elemento de formulario HTML del documento: `NextLinkOrFormElement`.

- Moverse al anterior enlace o elemento de formulario HTML del documento: `PreviousLinkOrFormElement`.

- Menú Archivo: `New`, `NewTemplate`, `NewCss`, `OpenDoc`, `OpenDocInNewWindow`, `Reload`, `GotoPreviousHTML`, `GotoNextHTML`, `GoToHome`, `SaveDocument`, `SaveDocumentAs`, `Synchronize`, `SetupAndPrint`, `PrintAs`, `CloseDocument`, `AmayaClose`

- Menú Editar: `TtcUndo`, `TtcRedo`, `TtcCutSelection`, `TtcCopySelection`, `TtcPaste`, `TtcDeleteSelection`, `SetBrowserEditor`, `TtcSearchText`, `SpellCheck`, `TransformType`.

- Menú Estructura: `CreateBase`, `CreateMeta`, `CreateLinkInHead`, `CreateScript`, `CreateStyle`, `CreateComment.`

- Menú XHTML:
  - Main Menu: `ChangeTitle`, `CreateAddress` `CreateParagraph`, `CreateImage`, `CreateHorizontalRule`, `CreateBlockQuote`, `CreatePreformatted`, `CreateAddress`, `CreateDivision`, `CreateNOSCRIPT`, `CreateObject`, `CreateParameter`, `CreateIFrame`, `CreateBreak("\212")`
  - AREA submenu: `CreateAreaRect`, `CreateAreaCircle`, `CreateAreaPoly`
  - Form submenu: `CreateForm`, `CreateFileInput`, `CreateImageInput`, `CreatePasswordInput`, `CreateHiddenInput`, `CreateLabel`, `CreateFieldset`, `CreateOptGroup`, `CreateToggle`, `CreateRadio`, `CreateOption`, `CreateTextInput`, `CreateTextArea`, `CreateSubmit`, `CreateReset`
  - Heading submenu: `CreateHeading1`, `CreateHeading2`, `CreateHeading3`, `CreateHeading4`, `CreateHeading5`, `CreateHeading6`
  - List submenu: `CreateList`, `CreateNumberedList`, `ThotCreateMenu`, `ThotCreateDirectory`, `CreateDefinitionList`, `CreateDefinitionTerm`, `CreateDefinitionDef`
  - Math submenu: `CreateInlineMath`, `CreateMath`, `CreateMROOT`, `CreateMSQRT`, `CreateMFRAC`, `CreateMSUBSUP`, `CreateMSUB`, `CreateMSUP`, `CreateMUNDEROVER`, `CreateMUNDER`, `CreateMOVER`, `CreateMROW`, `CreateMMULTISCRIPTS`, `CreateMTABLE`
  - OBJECT submenu: `CreateObject`,`CreateParameter`
  - Table submenu: `CreateTable`, `CreateCaption`, `CreateTHead`, `CreateTBody`, `CreateTFoot`, `CreateRow`, `CreateDataCell`, `CreateHeadingCell`, `DeleteColumn`
  - Submenú Tipo de información: `SetOnOffEmphasis`, `SetOnOffStrong`, `SetOnOffCite`, `SetOnOffDefinition`, `SetOnOffCode`, `SetOnOffVariable`, `SetOnOffSample`, `SetOnOffKeyboard`, `SetOnOffAbbr`, `SetOnOffAcronym`, `SetOnOffINS`, `SetOnOffDEL`.
  - Submenú Elemento carácter: `SetOnOffItalic`, `SetOnOffBold`, `SetOnOffTeletype`, `SetOnOffBig`, `SetOnOffSmall`, `SetOnOffSub`, `SetOnOffSup`, `SetOnOffQuotation`, `SetOnOffBDO`.

- Menú Enlaces: `LinkToPreviousTarget`, `CreateOrChangeLink`, `CreateTarget`, `DeleteAnchor`.

- Menú Vistas: `ShowButtons`, `ShowAddress`, `ShowMapAreas`, `ShowTargets`, `ZoomIn`, `ZoomOut`, `ShowStructure`, `ShowAlternate`, `ShowLinks`, `ShowToC`, `ShowSource`

- Menú Estilo:
  - Menú principal: `TtcChangeCharacters`, `TtcChangeColors`, `TtcChangeFormat`, `ChangeBackgroundImage`, `CreateClass`, `ApplyClass`.
  - Submenú Hojas de estilo: `LinkCSS`, `OpenCSS`, `DisableCSS`, `EnableCSS`, `RemoveCSS`.
- Menú Especial: `MakeBook`, `MakeID`, `ShowLogFile`, `ConfigGeneral`, `ConfigPublish`, `ConfigCache`, `ConfigProxy`, `ConfigColor`, `ConfigGeometry`, `ConfigLanNeg`, `ConfigProfile`, `ConfigTemplates`.

- Menú Anotaciones:`AnnotateSelection`, `AnnotateDocument`, `LoadAnnotations`, `PostAnnotation`, `DeleteAnnotation`, `FilterAnnot`, `ConfigAnnot`.

- Menú Ayuda: `HelpAmaya`, `HelpAtW3C`, `HelpBrowsing`, `HelpSelecting`, `HelpSearching`, `HelpViews`, `HelpCreating`, `HelpLinks`, `HelpChanging`, `HelpTables`, `HelpMath`, `HelpSVG`, `HelpImageMaps`, `HelpStyleSheets`, `HelpAttributes`, `HelpPublishing`, `HelpPrinting`, `HelpNumbering`, `HelpMakeBook`, `HelpAnnotation`, `HelpConfigure`, `HelpShortCuts`, `HelpAccess`.