\begindata{text,538378132}
\textdsversion{12}
\template{help}
\define{global
}


\chapter{DesKey -- Describe Key


}
\section{Proctable Entries:}


\leftindent{There are 5 proctable entries for proctable and keybinding 
information:


\bold{deskey-describe-key: }\italic{Show binding of a typed in key sequence.}

\indent{prompts for a key sequence and responds with the name of the proctable 
entry that would be called when that sequence is normally typed.

}\bold{deskey-describe-bound-keys: }\italic{show bindings for all keys (key 
sorted)}

\indent{brings up a window with a list of all the key bindings that are in 
effect (see Key Window below). The list is sorted alphabetically by the 
key-bindings.

}\bold{deskey-describe-bound-procs:} \italic{show bindings for all keys (proc 
sorted)}

\indent{brings up a window with a list of all the key bindings that are in 
effect (see Key Window below).  The list is sorted alphabetically by the 
proctable entries.

}\bold{deskey-describe-proctable:} \italic{list proctable entries.; Return 
count.}

\indent{brings up a window with a list of the proctable entries associated 
with the current key-map (see Proc Window below).  The list is sorted 
alphabetically by the proctable entries.

}\bold{deskey-list-proctable:} \italic{list proctable entries; Return count.}

\indent{does the same as the previous procentry, except it uses no formatting, 
and leaves the information in a file on the local disk (instead of displaying 
it in a buffer).

}
Each of these can be bound to a key (or key sequence) in an .xxxinit file 
using the 'addkey' function.  Each of these proctable entries require an 
additional argument "im" which is used when the function is called. For 
example you could include the following in your .atkinit file:


\example{addkey deskey-describe-key \\e? im

addkey deskey-describe-bound-procs ^XP im

addkey deskey-describe-bound-keys ^XK im

addkey deskey-describe-proctable \\e- im

}
They can also be bound to menus (either in addition, or instead of 
keybindings):


\example{addmenu "deskey-describe-key" "Keys,Describe A Key~10" im

addmenu "deskey-describe-bound-procs" "Keys,List Keys (by proc)~12" im

addmenu "deskey-describe-bound-keys" "Keys,List Keys (by key)~14" im

addmenu "deskey-describe-proctable" "Keys,List Proc Entries~16" im

}
These functions can also be called from NESS by replacing the '-' with '_' and 
adding a pair of parens:

\example{deskey_describe_key()

deskey_describe_bound_keys()

deskey_describe_bound_procs()

deskey_list_proctable()

}}

\section{Key Window:}


\leftindent{The window which is brought up for either 
'deskey-describe-bound-keys' or 'deskey-describe-bound-procs' is organized 
into three columns:


\typewriter{key-sequence  \bold{proctable-entry-name}}  - \italic{description}


Due to the way the list is formatted - the window should be at least as wide 
as half the screen width.  The <description> part will occasionally contain 
one the following strings:

	<no documentation>

	<not loaded>


The first means that there was no documentation included when the programmer 
created this proctable entry. 


The second one indicates that the proctable entry is associated with a 
dynamically loadable package - which has not yet been loaded, and the 
documentation cannot be found until the package has been loaded.

}
\section{Proc Window:}


\leftindent{The window which is brought up for 'deskey-describe-proctable' is 
organized into two major columns:


\typewriter{\bold{proctable-entry-name} }- \italic{description}


The first column is occasionally broken up into two, or three smaller parts, 
thus giving you:


\typewriter{\bold{proctable-entry-name} (argument)=> return value }- 
\italic{description}


(\typewriter{argument})  - the part within, but not including the parens is 
the literal argument which must be supplied for the proctable entry (like in 
the above examples where "im" is at the end of each of the 'addkey' lines).


\typewriter{=> return value} - most proctable-entries call functions which do 
not return a value.  Some however, do return values and the type of the return 
value will be indicated here (e.g. Long, Boolean, Short,  Char, etc.)


Due to the way the list is formatted - the window should be at least as wide 
as half the screen width.  The <description> part will occasionally contain 
one the following strings:

	<no documentation>

	<not loaded>


The first means that there was no documentation included when the programmer 
created this proctable entry. 


The second one indicates that the proctable entry is associated with a 
dynamically loadable package - which has not yet been loaded, and the 
documentation cannot be found until the package has been loaded.}



\section{Known Bugs:}


\leftindent{\description{As mentioned above - due to the way the lists are 
formatted, the window should be at least as wide as half the screen width.  On 
small screens (smaller than 19") it may even have to be wider.  No fix 
forthcoming.}}


\section{See Also:}



\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,850,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: 

Permission to use, copy, modify, and distribute this software and its 

documentation for any purpose is hereby granted without fee, 

provided that the above copyright notice appear in all copies and that 

both that copyright notice, this permission notice, and the following 

disclaimer appear in supporting documentation, and that the names of 

IBM, Carnegie Mellon University, and other copyright holders, not be 

used in advertising or publicity pertaining to distribution of the software 

without specific, written prior permission.



IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 

DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 

SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 

BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 

DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 

WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 

ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 

OF THIS SOFTWARE.

 $

}}\enddata{text,538378132}
