## Les raccourcis clavier dans Amaya

Il est utile de pouvoir invoquer les commandes des menus directement depuis le clavier. La boîte à outils de Thot fournit une facilité qui laisse l'utilisateur accomplir ceci par le biais d'un fichier de raccourcis clavier (un fichier par plate-forme). Ces fichiers définissent une liste d'associations entre une séquence au clavier et la commande correspondante invoquée. Ils sont stockés dans le répertoire `Amaya/config` : `amaya.keyboard` (Linux), `amaya.kb` (Windows) and amaya.kb-mac.

- Liste des raccoucis clavier par défaut pour Linux
- Liste des raccoucis clavier par défaut pour Windows
- Liste des raccoucis clavier par défaut pour Mac OS X

Ces fichiers peuvent être modifiés pour définir vos propres raccourcis clavier. La syntaxe utilisée pour définir une association est :

`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' /
'Enter' / '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 ';' ;`.

La liste des commandes disponibles est (une liste plus à jour peut être trouvée dans les sources d'Amaya : `Amaya/amaya/EDITOR.A`) :

- Commandes de déplacement :
  - `TtcNextChar`, `TtcPreviousChar` : déplace caractère par caractère.
  - `TtcNextWord`, `TtcPreviousWord` : déplace mot par mot.
  - `TtcStartOfLine`, `TtcEndOfLine` : déplace au début ou à la fin de la ligne courante..
  - `TtcNextLine`, `TtcPreviousLine` : déplace ligne par ligne.
  - `TtcNextElement`, `TtcPreviousElement`, `TtcChildElement`, `TtcParentElement` : déplace élément par élément.
  - `TtcPageDown`, `TtcPageUp`, `TtcPageTop`, `TtcPageEnd` : fait défiler page par page.
  - `TtcLineUp`, `TtcLineDown` fait défiler une ligne en haut ou une ligne en bas.
- Commandes d'extension de la sélection :
  - `TtcNextSelChar`, `TtcPreviousSelChar` : sélectionne caractère par caractère.
  - `TtcNextSelWord`, `TtcPreviousSelWord` : sélectionne mot par mot.
  - `TtcSelStartOfLine`, `TtcSelEndOfLine` : sélectionne jusqu'au début ou à la fin de la ligne courante.
  - `TtcNextSelLine`, `TtcPreviousSelLine` : sélectionne ligne par ligne.
- Une commande qui permet de suivre un lien ou d'activer un élément de formulaire HTML (menu, bouton, etc.) :
- Une commande qui permet de sauter au prochain (ou au premier s'il n'y a pas de sélection) lien ou élément de formulaire HTML :

  `NextLinkOrFormElement`.

- Une commande qui permet de sauter lien ou élément de formulaire HTML précédent :

  `PreviousLinkOrFormElement`.

- Dans le menu Fichier :

  `NewXHTML11`, `NewXHTMLTransitional`, `NewXHTMLStrict`, `NewXHTMLStrict`, `NewMathML`, `NewSVG`, `NewCss`, `NewTemplate`, `OpenDoc`, `Reload`, `GotoPreviousHTML`, `GotoNextHTML`, `GoToHome`, `SaveDocument`, `SaveDocumentAs`, `Synchronize`, `ShowLogFile`, `SetupAndPrint`, `PrintAs`, `CloseDocument`, `AmayaCloseTab`,`AmayaCloseWindow`, `AmayaClose`.

- Dans le menu Édition :

  `TtcUndo`, `TtcRedo`, `TtcCutSelection`, `TtcCopySelection`, `TtcPaste`, `TtcDeleteSelection`, `SetBrowserEditor`, `TtcSearchText`, `SpellCheck`, `TransformType`, `ConfigAmaya`.

- Dans le menu Eléments :
  - Menu XHTML : `ChangeTitle`, `CreateAddress` `CreateParagraph`, `CreateImage`, `CreateHorizontalRule`, `CreateBlockQuote`, `CreatePreformatted`, `CreateAddress`, `CreateDivision`, `CreateNOSCRIPT`, `CreateObject`, `CreateParameter`, `CreateIFrame`, `CreateBreak`,`MakeBook`, `CreateAreaRect`, `CreateAreaCircle`, `CreateAreaPoly`, `CreateForm`, `CreateFileInput`, `CreateImageInput`, `CreatePasswordInput`, `CreateHiddenInput`, `CreateLabel`, `CreateFieldset`, `CreateOptGroup`, `CreateToggle`, `CreateRadio`, `CreateOption`, `CreateTextInput`, `CreateTextArea`, `CreateSubmit`, `CreateReset`, `CreateHeading1`, `CreateHeading2`, `CreateHeading3`, `CreateHeading4`, `CreateHeading5`, `CreateHeading6``, CreateList`, `CreateNumberedList`, `CreateDefinitionList`, `CreateDefinitionTerm`, `CreateDefinitionDef`, `CreateObject`, `CreateParameter`
  - Sous-menu Table: `CreateTable`, `CreateCaption`, `CreateTHead`, `CreateTBody`, `CreateTFoot`, `CreateRow`, `CreateDataCell`, `CreateHeadingCell`, `DeleteColumn`
  - Sous-menu Structure : `CreateBase`, `CreateMeta`, `CreateLinkInHead`, `CreateScript`, `CreateStyle`, `CreateComment.`
  - Sous-menu Types information : `SetOnOffEmphasis`, `SetOnOffStrong`, `SetOnOffCite`, `SetOnOffDefinition`, `SetOnOffCode`, `SetOnOffVariable`, `SetOnOffSample`, `SetOnOffKeyboard`, `SetOnOffAbbr`, `SetOnOffAcronym`, `SetOnOffINS`, `SetOnOffDEL`.
  - Sous-menu éléments caractères : `SetOnOffItalic`, `SetOnOffBold`, `SetOnOffTeletype`, `SetOnOffBig`, `SetOnOffSmall`, `SetOnOffSub`, `SetOnOffSup`, `SetOnOffQuotation`, `SetOnOffBDO`.
  - Sous-menu Math: `CreateInlineMath`, `CreateMath`, `CreateMROOT`, `CreateMSQRT`, `CreateMFRAC`, `CreateMSUBSUP`, `CreateMSUB`, `CreateMSUP`, `CreateMUNDEROVER`, `CreateMUNDER`, `CreateMOVER`, `CreateMROW`, `CreateMMULTISCRIPTS`, `CreateMTABLE`
- Dans le menu `Liens` :

  `LinkToPreviousTarget`, `CreateOrChangeLink`, `CreateTarget`, `DeleteAnchor`, `MakeID`.

- Dans le menu `Vues` :

  `ShowPanel`, `FullScreen`, `ShowMapAreas`, `ShowTargets`, `ZoomIn`, `ZoomOut`, `ShowFormatted`, `ShowStructure`, `ShowAlternate`, `ShowLinks`, `ShowToC`, `ShowSource`, `SplitHorizontally`, `SplitVertically`.

- Dans le menu `Style` :

  `TtcChangeCharacters`, `TtcChangeColors`, `TtcChangeFormat`, `ChangeBackgroundImage`, `CreateClass`, `ApplyClass`, `LinkCSS`, `OpenCSS`, `DisableCSS`, `EnableCSS`, `RemoveCSS`, `DoLeftAlign`, `DoRightAlign`, `DoCenter`, `DoJustify`.

- Dans le menu Annotations:

  `AnnotateSelection`, `AnnotateDocument`, `LoadAnnotations`, `PostAnnotation`, `DeleteAnnotation`, `FilterAnnot`, `ConfigAnnot`.

- Dans le menu `Aide` :

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