Go forward to Keyboard Macros. Go backward to Programming. Go up to Programming.

Creating User Keys
==================

Any Calculator command may be bound to a key using the `Z D'
(`calc-user-define') command.  Actually, it is bound to a two-key
sequence beginning with the lower-case `z' prefix.

The `Z D' command first prompts for the key to define.  For example,
press `Z D a' to define the new key sequence `z a'.  You are then
prompted for the name of the Calculator command that this key should
run.  For example, the `calc-sincos' command is not normally available
on a key.  Typing `Z D s sincos RET' programs the `z s' key sequence
to run `calc-sincos'.  This definition will remain in effect for the
rest of this Emacs session, or until you redefine `z s' to be
something else.

You can actually bind any Emacs command to a `z' key sequence by
backspacing over the `calc-' when you are prompted for the command
name.

As with any other prefix key, you can type `z ?' to see a list of all
the two-key sequences you have defined that start with `z'.
Initially, no `z' sequences (except `z ?' itself) are defined.

User keys are typically letters, but may in fact be any key.
(META-keys are not permitted, nor are a terminal's special function
keys which generate multi-character sequences when pressed.)  You can
define different commands on the shifted and unshifted versions of a
letter if you wish.

The `Z U' (`calc-user-undefine') command unbinds a user key.  For
example, the key sequence `Z U s' will undefine the `sincos' key we
defined above.

The `Z P' (`calc-user-define-permanent') command makes a key binding
permanent so that it will remain in effect even in future Emacs
sessions.  (It does this by adding a suitable bit of Lisp code into
your `.emacs' file.)  For example, `Z P s' would register our `sincos'
command permanently.  If you later wish to unregister this command you
must edit your `.emacs' file by hand.  (See General Mode Commands,
for a way to tell Calc to use a different file instead of `.emacs'.)

The `Z P' command also saves the user definition, if any, for the
command bound to the key.  After `Z F' and `Z C', a given user key
could invoke a command, which in turn calls an algebraic function,
which might have one or more special display formats.  A single `Z P'
command will save all of these definitions.

To save a command or function without its key binding (or if there is
no key binding for the command or function), type `'' (the apostrophe)
when prompted for a key.  Then, type the function name, or backspace
to change the `calcFunc-' prefix to `calc-' and enter a command name.
(If the command you give implies a function, the function will be
saved, and if the function has any display formats, those will be
saved, but not the other way around: Saving a function will not save
any commands or key bindings associated with the function.)

The `Z E' (`calc-user-define-edit') command edits the definition of a
user key.  This works for keys that have been defined by either
keyboard macros or formulas; further details are contained in the
relevant following sections.