(calc.info)Creating User Keys


Next: Keyboard Macros Prev: Programming Up: Programming
Enter node , (file) or (file)node

19.1 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.  (Note: 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.


automatically generated by info2www version 1.2.2.9