Some useful key assignments for the HP49

Option More in Keyman offers some top key assignments. These are supplemented by Topkeys, a browser shown in the screen-shot. It contains further key assignments aiming at operating the 49 efficiently. None of these is in conflict with a standard assignment. They are all based on Keyman which must be present. Items below the line ---OT49--- need also the library OT49. All assignments are fast and small. Press OK on a scanned item in Topkeys and try it. You may always delete it, easily done with A?D from Keyman. OK realizes the assignment but the browser is not left until you press CANCEL. The assignments are independent on Topkeys which may be purged after you have choosen your assignments. Some assigned keys keep their original functionality in Edit mode although this may not be mentioned below. For instance,  LS  (leftshift UpArrow) or other arrow keys continue to move the cursor in Edit mode.

NEW in version 4.2003.
Harmonized with assignments offered by Keyman. This html document added.

NEW in version 3.2003.
Some further key assignments added.

Abbreviations:  LS= leftshift, RS= rightshift, o = Longhold, _ denotes shift hold. For instance, LS J is leftshift J while LS_J is leftshift-hold J, i.e., the leftshift key has to be hold while pressing J. Below a key is denoted by the letter on it (if there is any). denotes the UpArrow key, the backspace key 45.1.

Here the description of the assignments:  

LS  : DEPTH Pressing LS   yields the stack DEPTH. Briefly speaking, it makes a so-called User-Metaobject from the current stack. Clearly, this applies in default mode only, not in Edit mode.
LS_J: HiddenDir If LS is hold while pressing on VAR, enters the Hidden Directory but in a suspended state (HALT indicator). Pressing CONT returns to the original directory. The default functionality of LS_J of going HOME has got a more convenient key in More from Keyman.
RS_W: SAME? Tests whether two objects in the stack are the same or not. This cannot always be detected from stack appearance. The two objects remain in the stack. 
LS_2: PMenu An ideal assignment for HP48-friends. Sets the port menu (LS 2 on the HP48) including the option PORTS for port entries but without MERGE and FREE which are dispensable on the HP49. 
LS_3: ~n Toggles a (non-negative) real as a zint and as a user binary. Errors with no number on the stack.
The following assignments need OT49.
If not present the assigned key errors. Delete it with A?D from Keyman.
RS_H: HEADER Toggles the 3 Header formats. Note that this applies in Edit mode as well.
RS I: 3tog Toggles the 3 representations of a program, see OT49.htm
RS : Bytes Shows bytes and CRC of the Level 1 object. If the stack is empty you're asked for input of a global or port name and get bytes and CRC of the content. 
RS_: SysStack Toggles the RPN SysRPL stack display with the UsrRPL stack display (flag -85).
Normally pressed toggles current font with MiniFont. Double-clicked toggles the 3 available HP49-fonts, also in Edit mode! Edit a text and hold down RS. If NXT is hit once, the text toggles in minifont, but if double-clicked, you are changing the font. The fontname is shortly flashed in the header whose size is modified (default is Font8).
N:  CAT Reprogramming of the CAT key if Emacs is on your HP. Opens input list with title CATALOG for typing one or several letters. Print W, say. Press alpha to leave the alpha-mode and press CAT again. Then you get the list of all commands starting with W. Make your choice. ENTER puts the desired command on the stack. Clearly, the slow builtin CAT is still available. Just leave the USR mode before pressing CAT. 
LS_N: ListMenu Sets a 2-page menu of all available list commands, the subdirectories ELEM and PROC included.
o O: OT49 Pressing key O (EQW) a bit longer sets the OT49-command menu.
RS_O: XU Runs the powerful XU command from OT49, see OT49.htm
RS_P:  TEVAL Waits for name input of program to determine its run time.
LS  : ORDER Sets input list for ordering. Runs in display-off mode to be it faster. Outside USR mode this key does the same as RS , namely CLEAR the stack.
LS_: Purge/Del Sets input list for purging one or several files which may be mixed from global names and port names. Purging is very fast. In Edit mode runs the important DEL from the EDIT menu. 
RS_: KILL/DelL Kills all suspended programs but leaves the stack intact. Cuts a line in edit mode. With this assignment In Edit mode runs DEL L (delete current line) from the EDIT menu. Note that CLEAR is executed or printed in the edit line only if the shift is not hold.
: RENAME (longhold backspace), Waits for input of a global name to be renamed into a name printed after the first one. 
o W:  CBox?Menu Toggles flag -117. This displays a collection of commands either as choose-box or as a menu. Since only the box-display can provide HELP, this is perhaps the most important flag toggling.
LS_W:  CBoxMini? Toggles flag -90, i.e., displays a choose box in current or in Mini font.
o 9:  ~Clock Toggles the clock display if pressing 9 a bit longer.
RS_3:  ~BASE Toggles the BASE formats, HEX, DEC, OTC, BIN.
~ANG and ~COOR from OT49 are toggling angle and the coordinate systems, resp. Both are closely related and related also to , hence will be assigned to the same key, LS_. A useful and amazing assignment. If LS is hold and SPS is shortly hit, DEG toggles with RAD (look into the Header), but while still holding LS and pressing SPC a bit longer, you see the 3 coordinate system indicators toggling.

The last one and the assignments on the backspace key indicate that different tasks can be put on the same key if operating it slightly more delicate. All above assignments and similar ones can also readily made with Keyman.

Wolfgang Rautenberg - -