## Keyboard shortcuts

It is useful to be able to invoke menu commands directly from the keyboard. The Thot toolkit provides a facility that lets user accomplish this by means of an application keyboard shortcuts file. This file defines a list of associations between a keyboard sequence and the corresponding invoked command.

The syntax used to define an association is:

     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 ;  OctalValue = '\' NUMBER ;

For an example, see the standard files `amaya.keyboard` (for Unix platforms) and `amaya.kb` (for Windows platforms), which are by default located in the directory `Amaya/config`.

The list of available commands is:

- Moving commands:
  - TtcNextChar, TtcPreviousChar: move character by character.
  - TtcNextLine, TtcPreviousLine, TtcStartOfLine, TtcEndOfLine: move line by line.
  - TtcNextElement, TtcPreviousElement, TtcChildElement, TtcParentElement: move element by element.
  - TtcPageDown, TtcPageUp, TtcPageTop, TtcPageEnd: scroll from page to page.
  - TtcLineUp, TtcLineDown scroll one line up or one line down.
- A command that allows one to follow a link or to activate a form element (menu, button, etc.):
- In `File` menu:
- In Edit menu:
- In `Structure` menu:
- In Types menu:
  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
- In `Links` menu:
- In `Views` menu:
- In `Style` menu:
  Main Menu:
  Style Sheets submenu:
  Information Types submenu:
  Character Element submenu:
- In `Special` menu:
- In `Annotations` menu
- In `Help` menu: