Skip to content

Smart Key Bindings

With hyperbole-mode enabled, {M-RET} is the Action Key and {C-u M-RET} is the Assist Key. These keys allow context-sensitive operation from any keyboard.

Mouse configuration of the Smart Keys is automatic for GNU Emacs under Mac OS X, the X Window System and MS Windows, assuming your emacs program has been built with support for any of these window systems.

The Action Mouse Key is bound to your shift-middle mouse key (or shift-left on a 2-button mouse). The Assist Mouse Key is bound to your shift-right mouse key, assuming Hyperbole is run under an external window system. These keys support Drag Actions, see Smart Mouse Keys, as well as the standard Smart Key presses.

If you set the variable, hmouse-middle-flag, to ‘t’ before loading Hyperbole, then you may also use the middle mouse key as the Action Key. If you want both the middle mouse key as the Action Key and the right mouse key as the Assist Key for ease of use, then within your personal ~/.emacs file, add:

emacs-lisp
(add-hook 'hyperbole-init-hook
          'hmouse-add-unshifted-smart-keys)

and then restart Emacs.

If you prefer other Smart Key bindings, simply bind the commands action-key and assist-key to keyboard keys. Hyperbole binds {M-RET} to the command hkey-either; this provides a single key binding for both Smart Key commands; a prefix argument, such as {C-u}, then invokes assist-key actions.

You may also bind action-mouse-key and assist-mouse-key to other mouse keys, though you won’t be able to execute mouse drag actions with such key bindings. See Smart Mouse Key Drags, and see Keyboard Drags.

To permanently change any of these key bindings, use:

emacs-lisp
(add-hook 'hyperbole-init-hook
          (lambda () (hkey-set-key <KEY> '<CMD>)

for example, (hkey-set-key "\M-'" 'hkey-either).