========================================================================================
                                              Smart Keys
Context                         Action Key                 Assist Key
========================================================================================
Hyperbole
  On a minibuffer menu item     Activates item             Item help
  On an explicit button         Activates button           Button help
  Reading argument
    1st press at an arg value   Copies value to minibuffer <- same
    2nd press at an arg value   Uses value as argument     <- same
    In minibuffer at eol        Accepts minibuffer arg     List completions
    In minibuffer before eol    Deletes rest of arg        Deletes rest of arg
  On an implicit button/path    Activates button/path      Button help
  Within a koutline cell        Collapses and expands      Shows tree props
  Left of a koutline cell       Creates a klink            Moves a tree
  HyRolo Match Buffer           Edits entries and mails to e-mail addresses

Mouse or Keyboard Display Control
  Line end, not end of buffer
    smart-scroll-proportional
      = t   (default)           Makes curr line top line   Bottom line
      = nil                     Scrolls up a windowful     Scrolls down
  End of Any Help buffer        Restores screen to the previous state
  Read-only View Mode           Scrolls up a windowful     Scrolls wind down

Mouse-only Control
  Drag from thing start or end  Yanks thing at release     Kills thing and yanks
    A thing is a delimited                                 at release
    expression, such as a
    string, list or markup
    language tag pair

  Drag from bottom Modeline     Repositions frame as       <- same
  in frame with non-nil         drag happens
  drag-with-mode-line param

  Drag from shared window side
    or from left of scroll bar  Resizes window width       <- same
  Modeline vertical drag        Resizes window height      <- same

  Other Modeline drag to        Replaces dest. buffer      Swaps window buffers
    another window                with source buffer

  Drag to a Modeline from:
    but/buffer/file menu item   Displays ref/buffer/file   Swaps window buffers
                                  in new window by release
    buffer/file menu 1st line   Moves buffer/file menu to  Swaps window buffers
                                  new window by release
    anywhere else               Displays buffer in         Swaps window buffers
                                  new window by release

  Drag between windows from:
    but/buffer/file menu item   Displays ref/buffer/file   <- same
                                  in window of button release 
    buffer/file menu 1st line   Moves buffer/file menu     <- same
    anywhere else               Creates an ibut link       Creates an ebut link

  Drag outside of Emacs from:
    but/buffer/file menu item   Displays ref/buffer/file   Moves window to new frame
                                  in a new frame
    Modeline or other window    Clones window to new frame Moves window to new frame

  Modeline Click
    Left modeline edge          Buries current buffer      Unburies bottom buffer
    Right modeline edge         Displays GNU Info manuals  Displays Smart Key summary
    Buffer ID                   Dired on buffer's dir      Displays next buffer
                                  or on parent when a dir
    Other blank area            Action Key modeline hook   Assist Key modeline hook
                                  Shows/Hides Buffer Menu    Popups Jump & Manage Menu

  Drag in window, region active Error, not allowed         Error, not allowed
  Horizontal drag in a window   Splits window below        Deletes window
  Vertical drag in a window     Splits window side-by-side Deletes window
  Diagonal drag in a window     Saves wconfig              Restores wconfig from ring

  Active region exists, click   Yanks region at release    Kills and yanks at release
   outside of the region

Hyperbole Key Press/Click in Special Modes
  Region Active                 Yanks region at release    Kills and yanks at release
  Company Mode Completion       Displays definition        Displays documentation
  Helm Completion               Displays item              Displays item
  Emacs Push Button             Activates button           Button help
  Emacs Regression Test Def     Evals and runs test        Edebugs and runs test
  Thing Begin or End            Marks thing region         Marks & kills thing region
  Flymake Linter Mode           Jumps to issue at point    Displays issue at point
  Page Directory Listing        Jumps to page              <- same
  C,C++,Objective-C,Java Modes  Jumps to id/include def    Jumps to next def
  Assembly Language Mode        Jumps to id/include def    Jumps to next def
  Java Cross-reference Tag      Jumps to identifier def    Jumps to next def
  JavaScript and Python Modes   Jumps to identifier def    Jumps to next def
  Any Known Lisp or ChangeLog   Jumps to identifier def    Referent Doc
  Fortran Mode                  Jumps to identifier def    Jumps to next def
  Imenu Programming Identifier  Jumps to in-buffer def     Prompts for id to jump to
  Emacs Lisp Compiler Error     Jumps to def with error    <- same
  Emacs Regression Test (ERT)   Jumps to def with error    <- same
  Other Compiler Error          Jumps to src error line    <- same
  Grep or Occur Match           Jumps to match source line <- same
  Multi-buffer Occur Match      Jumps to match source line <- same
  Etags `TAGS' file entry       Jumps to source line       Button help
  Ctags file entry              Jumps to source line       Button help
  Texinfo Cross-reference
    Before opening brace        Jumps to Texinfo referent  Button help
    Within braces               Jumps to Info referent     Button help
    Menu Item or node hdr       Jumps to Texinfo referent  Button help
    Include file                Jumps to Texinfo referent  Button help
    code/var reference          Displays doc for referent  Button help
  Org Mode                      Follows links, cycles headings and Org Meta Return
  Org/Roam ID                   Jumps to ID referent       Button help
  Outline Major/Minor Modes     Collapses, expands, and moves outline entries
  Man Apropos                   Displays man page entry    <- same
  Man Pages                     Follows cross refs, file refs and C code refs
  I/Buffer Menu                 Saves, deletes and displays buffers
  Todotxt Mode                  Toggles item completion    Edit and archive items

Emacs Info Reader
  Menu Entry or Cross Ref       Jumps to referent          <- same
  Up, Next or Prev Header       Jumps to referent          Jumps to prior node
  File entry of Header          Jumps to top node          Jumps to (DIR) node
  End of current node           Jumps to next node         Jumps to previous node
  Anywhere else                 Scrolls up a windowful     Scrolls down a windowful

Subsystems
  Calendar                      Scrolls or shows appts     Scrolls/marks date
  GNU Debbugs Tracker           Displays issue discussion  Displays issue status
  Treemacs                      Displays item              Displays item
  Dired Sidebar                 Displays item              Displays item
  Dired Mode                    Views and deletes files from dir listing
  Magit Modes                   Collapses, expands and jumps to things
  GNUS News Reader              Toggles group subscriptions, gets new news,
                                  and browses articles
  Mail Reader and Summaries     Browses, deletes and expunges messages
  OO-Browser                    Browses object classes and elements
  Tar Mode                      Views and edits files from tar archive files

Any other context (defaults)    Invalid context error      Invalid context error
========================================================================================
