-----------------------------------------------------------------------------
Action                             |        Shortcut | Method
-----------------------------------------------------------------------------
Display -> Large icons             |              F2.| Menu Selection
           Small icons             |              F3.| Menu Selection
           Full info               |              F4.| Menu Selection
           Sort by name            |             F1.| Menu Selection
           Sort by type            |             F2.| Menu Selection
           Sort by size            |             F3.| Menu Selection
           Sort by date            |             F4.| Menu Selection
Object -> Copy                     |              ^C | SubWindow
          Rename                   |              ^R | SubMenu
          Delete                   |    ^K or Delete | Menu Selection
          Access -> Protected      |             ^F5.| Menu Selection
                    Unprotected    |             ^F6.| Menu Selection
                    Public         |             ^F7.| Menu Selection
                    Private        |             ^F8.| Menu Selection
                    Access details |              ^E | SubWindow
          Count                    |              ^N | Menu Selection
          Help                     | ^H or Backspace | Menu Selection
          Info                     |              ^I | SubWindow
          Find                     |              ^F | SubMenu
          Set type                 |              ^T | SubMenu
          Stamp                    |              ^S | Menu Selection
          Share                    |              ^G | Menu Selection
Select all                         |              ^A | Menu Selection
Clear selection                    |              ^Z | Menu Selection
Options -> Confirm (all)           |              F5.| Menu Selection
           Confirm deletes (3.8)   |             F5.| Menu Selection
           Verbose                 |              F6.| Menu Selection
           Force                   |              F7.| Menu Selection
           Newer                   |              F8.| Menu Selection
           Faster (3.8)            |             F6.| Menu Selection
New directory                      |              ^D | SubMenu/SubWindow 3.8
Set work directory (4.0)           | Ignored in favour of own "Set CSD."
Open parent                        |              ^B | Menu Selection

-----------------------------------------------------------------------------
Addtional actions                  |        Shortcut | Method
-----------------------------------------------------------------------------
Set dirctory                       |             TAB.| Set CSD
Run object			   | Return or Enter | Run Object
Close window with SELECT           |             ^F2.| Close Window
                  ADJUST           |            ^F2.| Close Window
Scroll up by one row               |              Up.| Scroll Window
Scroll to top                      |             ^Up.| Scroll Window
Scroll up small                    |            ^Up.| Scroll Window
Page up                            |  Up or Page Up.| Scroll Window
Scroll down by one row             |            Down.| Scroll Window
Scroll to bottom                   |           ^Down.| Scroll Window
Scroll down small                  |          ^Down.| Scroll Window
Page down                          | Down/Page Down.| Scroll Window


MENU SELECTION METHOD
~~~~~~~~~~~~~~~~~~~~~
Filer receives key press
    If <a menu selection key press> Then
        Set flag <MenuSelection>
        Record which menu entry to select
        Set flag <ClaimCreateMenu>
        Send MENU mouse_click event
        Return with key press claimed.

Wimp_CreateMenu called
    If ClaimCreateMenu Then
        Unset <ClaimCreateMenu>
        If MenuSelection Then
            Unset MenuSelection
            If Menu entry isn't shaded Then
                Send menu_selection event
            Else
                Beep
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

SUBWINDOW METHOD
~~~~~~~~~~~~~~~~
Filer receives key press
    If <a subwindow key press> Then
        Set flag <SubWindow>
        Record which menu entry to open
        Set flag <ClaimCreateMenu>
        Send MENU mouse_click event
        Return with key press claimed.

Wimp_CreateMenu called
    If <ClaimCreateMenu> Then
        Unset flag <ClaimCreateMenu>
        If <SubWindow> Then
            Unset flag <SubWindow>
            If Object menu entry isn't shaded Then
                Set flag <ChangeCreateSubMenuToCreateMenu>
                Send a MenuWarning message to the Filer
            Else
                Beep
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

Wimp_CreateSubMenu called
    If <ChangeCreateSubMenuToCreateMenu> Then
        Unset flag <ChangeCreateSubMenuToCreateMenu>
        Call Wimp_CreateMenu
        Return with Wimp_CreateSubMenu claimed.
    Else
        Return with Wimp_CreateSubMenu not claimed.

SUBMENU METHOD
~~~~~~~~~~~~~~
Filer receives key press
    If <a submenu key press> Then
        Set flag <SubMenu>
        Record which menu entry to open
        Set flag <ClaimCreateMenu>
        Send MENU mouse_click event
        Return with key press claimed.

Filer calls Wimp_CreateMenu
    If <ClaimCreateMenu> Then
        Unset flag <ClaimCreateMenu>
        If <SubMenu> Then
            Unset flag <SubMenu>
            If Object menu entry isn't shaded Then
                Set flag <AdjustMenuSelection>
                Point R1 to SubMenu entry
                Call Wimp_CreateMenu [so handler must be re-entrant]
            Else
                Beep
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

Filer receives Menu Selection
    If <AdjustMenuSelection> Then
        Unset flag <AdjustMenuSelection>
        Replace menu selection with correct one.

Filer receives User Message, or User Message Recorded
    If Message_MenusDeleted Then
        Unset flag <AdjustMenuSelection>

RUN OBJECT METHOD
~~~~~~~~~~~~~~~~~
Filer receives key press
    If <a run object key press> Then
        Set flag RunObject
        Record which menu entry to run (always the "Object ''" entry)
        Set flag ClaimCreateMenu
        Extract pathname from directory display title, keep in buffer
        Send MENU mouse_click event
        Return with key press claimed.

Wimp_CreateMenu called
    If ClaimCreateMenu Then
        Unset ClaimCreateMenu
        If RunObject Then
            Unset RunObject
            If Object menu entry isn't shaded And
               Object menu entry isn't "Selection" Then
                Extract leafname from object menu entry and append to buffer
                Issue Filer_Run with objectname in buffer
            Else
                Beep
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

CLOSE WINDOW METHOD
~~~~~~~~~~~~~~~~~~~
Filer receives key press
    If <a close window key press> Then
        Set flag ClaimGetPointerInfo
        Record which button click type to fake
        Send the window a close message
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

Wimp_GetPointerInfo called
    If ClaimGetPointerInfo Then
        Unset ClaimGetPointerInfo
        Fill out the block with a suitable mouse_click, incl. button type.
        Return with Wimp_GetPointerInfo claimed.
    Else
        Return with Wimp_GetPointerInfo not claimed.

SCROLL WINDOW METHOD
~~~~~~~~~~~~~~~~~~~~
Filer receives key press
    If <a window scrolling key press> Then
        Wimp_GetWindowState
        Adjust y-scroll value
        Wimp_OpenWindow
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.

SET CSD METHOD
~~~~~~~~~~~~~~
Filer receives key press
    If <a set csd key press> Then
        Wimp_GetWindowInfo to get pathname
        OS_FSControl 0 with pathname
        Beep
        Return with Wimp_CreateMenu claimed.
    Else
        Return with Wimp_CreateMenu not claimed.
