mirror of
https://gitlab.com/c3d/db48x.git
synced 2024-09-29 05:36:58 +02:00
documentation: Add DM-32 section for keyboard layout.
Add a section that explains why the DM-32 keyboard layout is not really usable without an overlay. This is part of #450. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This commit is contained in:
parent
f9179c7dd4
commit
dc46a673e0
3 changed files with 157 additions and 193 deletions
|
@ -36,19 +36,25 @@ existing DM42 physical hardware.
|
|||
<!--- DM42 --->
|
||||
Ideally, DB48X should be fully usable without a
|
||||
keyboard overlay. though one is [being worked on](../Keyboard-Layout.png).
|
||||
<!--- !DM42 --->
|
||||
<!--- DM32 --->
|
||||
The DM32 keyboard layout is really different compared to the DB48X expected
|
||||
layout. For example, the DM32 does not have unshifted arrow keys, and has two
|
||||
shift keys. For that reason, when running DB48X on a DM32, it is highly
|
||||
recommended to use a [keyboard overlay](../Keyboard-Layout.png).
|
||||
<!--- !DM32 --->
|
||||
|
||||
Compared to the original HP48, the DM42 has a much larger screen, but no
|
||||
annunciators (it is a fully bitmap screen). It has a keyboard with dedicated
|
||||
soft-menu (function) keys, but only one shift key (whereas the HP48 has two),
|
||||
lacks a dedicated alpha key, does not provides left or right arrow keys (only up
|
||||
and down), and has no space key (_SPC_ on the HP48).
|
||||
<!--- !DM42 --->
|
||||
<!--- DM32 --->
|
||||
The DM32 keyboard layout is really different compared to the DB48X expected
|
||||
layout. For example, the DM32 does not have unshifted arrow keys, and has two
|
||||
shift keys. For that reason, when running DB48X on a DM32, it is highly
|
||||
recommended to use a [keyboard overlay](../Keyboard-Layout.png).
|
||||
|
||||
Compared to the original HP48, the DM32 has a much larger screen, but no
|
||||
annunciators (it is a fully bitmap screen). It has a keyboard with dedicated
|
||||
soft-menu (function) keys, but no arrow keys (whereas the HP48 has four),
|
||||
lacks a dedicated alpha key, and has no space key (_SPC_ on the HP48).
|
||||
<!--- !DM32 --->
|
||||
|
||||
|
||||
|
||||
## Keyboard interaction
|
||||
|
@ -64,12 +70,16 @@ calculator compared to the HP48:
|
|||
<!--- !DM42 --->
|
||||
|
||||
<!--- DM32 --->
|
||||
* When running DB50X on the DM32, the blue 🟦 key cycles between three states,
|
||||
*Shift*, *Right Shift* and no shift. The yellow 🟨 shift key is actually used
|
||||
as a down/right cursor key, and the _XEQ_ key is used as an up/left cursor
|
||||
key. This remapping of keys appears necessary because RPL calculators like the
|
||||
HP48 have a rather full keyboard even with two shift keys, and absolutely need
|
||||
at least two cursor keys.
|
||||
* When running DB50X on the DM32, the blue shift key cycles between three
|
||||
states, *Shift* (shown in the documentation as 🟨), *Right Shift* (shown in
|
||||
the documentation as 🟦) and no shift. The physical yellow shift key is
|
||||
actually used as a down/right cursor key, and will be shown as _▶︎_ in the rest
|
||||
of this document. Similarly, the _XEQ_ key is used as an up/left cursor key,
|
||||
and will be shown as _◀︎_ in the rest of this document. This remapping of keys
|
||||
appears necessary because RPL calculators like the HP48 are command-line
|
||||
oriented and absolutely need at least two unshifted cursor keys. Sacrificing a
|
||||
physical shift key while preserving two shifted function seems like the best
|
||||
compromise.
|
||||
<!--- !DM32 --->
|
||||
|
||||
* The less-frequently used functions can be accessed after a
|
||||
|
@ -83,13 +93,17 @@ calculator compared to the HP48:
|
|||
frequently than on the HP42, making it quickly accessible seems important, so
|
||||
there are [three distinct ways to activate it](#alpha-mode).
|
||||
|
||||
<!--- DM42 --->
|
||||
* The _▲_ and _▼_ keys move the cursor *left* and *right* while editing
|
||||
instead of *up* and *down*. These cursor movements are much more useful for a
|
||||
text-based program editing as found in RPL.
|
||||
text-based program editing as found in RPL. In the rest of this document,
|
||||
they are described as _◀︎_ and _▶︎_ respectively.
|
||||
<!--- !DM42 --->
|
||||
|
||||
* Using 🟨 _▲_ and 🟨 _▼_ moves the cursor up and down. When not editing, _▲_
|
||||
and _▼_ behave like on the HP48, i.e. _▲_ enters the *interactive stack* (not
|
||||
yet implemented) and _▼_ edits the object on the first level of the stack.
|
||||
* Using 🟨 _◀︎_ and 🟨 _▶︎_ moves the cursor up and down. When not editing, _▶︎_
|
||||
and _▶︎_ behave like _▲_ and _▼_ on the HP48, i.e. _◀︎_ enters the *interactive
|
||||
stack* (not yet implemented) and _▶︎_ edits the object on the first level of
|
||||
the stack.
|
||||
|
||||
* Long-pressing arrow keys, the _←_ (also known as *Backspace*) or text entry
|
||||
keys in Alpha mode activates auto-repeat.
|
||||
|
@ -118,10 +132,10 @@ There are three ways to enter *Alpha* mode:
|
|||
between *Alpha* _ABC_ and *Normal* entry modes, and cannot be used to type
|
||||
lowercase characters.
|
||||
|
||||
* The third method is to hold one of the arrow keys _▲_ or _▼_ *while* typing on
|
||||
* The third method is to hold one of the arrow keys _◀︎_ or _▶︎_ *while* typing on
|
||||
the keyboard. This is called *transient alpha mode* because *Alpha* mode ends
|
||||
as soon as the arrow key is released. Using _▲_ enters uppercase characters,
|
||||
while _▼_ uses lowercase characters.
|
||||
as soon as the arrow key is released. Using _◀︎_ enters uppercase characters,
|
||||
while _▶︎_ uses lowercase characters.
|
||||
|
||||
There is no equivalent of the HP48's "single-Alpha" mode. Alpha mode is either
|
||||
_transient_ (when you hold one of the arrow keys) or _sticky_ (with 🟨 _ENTER_
|
||||
|
@ -143,8 +157,10 @@ gives a variety of special characters.
|
|||
|
||||
![DB48X keyboard layout](keyboard.png)
|
||||
|
||||
Some keys that have little use or no direct equivalent for RPL are remapped
|
||||
as follows:
|
||||
<!--- DM42 --->
|
||||
If you are using DB48X on a DM42, it is almost possible to do it without a
|
||||
keyboard overlay. Some keys that have little use or no direct equivalent for RPL
|
||||
are remapped as follows:
|
||||
|
||||
* _Σ+_ is used to call [ToolsMenu](#ToolsMenu), which select a menu based on
|
||||
context, notably the content of the stack.
|
||||
|
@ -153,9 +169,15 @@ as follows:
|
|||
previous menu.
|
||||
|
||||
* 🟦 _Σ+_ selects [MainMenu](#MainMenu), the top-level menu giving access
|
||||
to all other menus and features in DB48X (see also the [Catalog](#catalog)
|
||||
to all other menus and features in DB48X (see also the [Catalog](#CatalogMenu)
|
||||
feature).
|
||||
|
||||
* _LOG_ and _EXP_ keys are swapped. The HP42 has _LOG_ and _LN_ with shifted
|
||||
_10^X_ and _E^X_. DB48X has _E^X_ and _LN_ with shifted _10^X_ and _LOG_, so
|
||||
that the more frequently used mathematical functions are available without
|
||||
shifting. Note that in the future, full keyboard remapping similar to the HP41
|
||||
or HP48 will allow you to change that if you prefer.
|
||||
|
||||
* _XEQ_ opens an algebraic expression, i.e. it shows `''` on the command-line
|
||||
and switches to equation entry. It can be remembered as *Execute Equation* and
|
||||
can be used to evaluate expressions in [algebraic mode](#algebraic-mode)
|
||||
|
@ -208,7 +230,7 @@ as follows:
|
|||
various items, including [ClearStack](#ClearStack) and
|
||||
[ClearMenu](#ClearMenu).
|
||||
|
||||
* _SST_ and _BST_ (🟨 _▲_ and _▼_) move the cursor *up* and *down* in the text
|
||||
* _SST_ and _BST_ (🟨 _◀︎_ and 🟨 _▶︎_) move the cursor *up* and *down* in the text
|
||||
editor. In direct mode, _BST_ selects the *Best* editor for the object, and
|
||||
*Sst* selects single-step evaluation.
|
||||
|
||||
|
@ -271,17 +293,45 @@ as follows:
|
|||
* _PRGM_ (🟨 _R/S_) inserts the delimiters for an RPL program, `«` and `»`,
|
||||
while 🟦 _R/S_ inserts the list delimiters, `{` and `}`.
|
||||
|
||||
* _CATALOG_ (🟨 _+_) shows a complete context-sensitive catalog of all
|
||||
available functions, and enables auto-completion using the soft-menu
|
||||
* _CATALOG_ (🟨 _+_) shows a complete context-sensitive [catalog](#CatalogMenu)
|
||||
of all available functions, and enables auto-completion using the soft-menu
|
||||
keys. Note that the `+` key activates the catalog while in *Alpha* mode.
|
||||
|
||||
* _HELP_ (🟦 _+_) activates the context-sensitive help system.
|
||||
<!--- !DM42 --->
|
||||
|
||||
<!--- DM32 --->
|
||||
Using DB50X with the DM32 is quite difficult without a keyboard overlay.
|
||||
|
||||
In particular, an unfortunate difference between the DM32 and the keyboard
|
||||
layout used by DB50X is that the placement of all letters after `M` is shifted
|
||||
by one position on the keyboard, and the first row of scientific functions
|
||||
(starting with square root and ending with _Σ+_) is inconsistent. The reason is
|
||||
that the layout for DB50X is heavily based on the DM-42 model.
|
||||
|
||||
Also, while the DM32 has two shift keys, a blue and a yellow one, it lacks
|
||||
dedicated cursor movement arrow keys, a limitation that is visible in the
|
||||
calculator's firmware menus. While the two arrow shift keys would be welcome,
|
||||
not having arrow keys for cursor movement is just not an option. As a result,
|
||||
only the blue shift key is kept as a shift key, and the yellow shift key is
|
||||
converted to an arrow key, along with the DM32 _XEQ_ key.
|
||||
|
||||
<!--- !DM32 --->
|
||||
|
||||
In the rest of this document, the shift key is referred to as 🟨, and pressing
|
||||
it twice is referred to as 🟦, irrespective of the appearance of the physical
|
||||
shift key on your particular hardware.
|
||||
|
||||
DB48X keyboard overlays for SwissMicros calculators are
|
||||
[already available](https://www.hpmuseum.org/forum/thread-20113.html).
|
||||
|
||||
|
||||
## Soft menus
|
||||
|
||||
The DM42 has 6 dedicated soft-menu keys at the top of the keyboard. Most of the
|
||||
advanced features of DB48X can be accessed through these soft menus.
|
||||
advanced features of DB48X can be accessed through these soft menus. Soft menu
|
||||
keys have no label on the physical calculator, but in this documentation, they
|
||||
may sometimes be referred to as _F1_ through _F6_.
|
||||
|
||||
Menus are organized internally as a hierarchy, where menus can refer to other
|
||||
menus. A special menu, [MainMenu](#MainMenu), accessible via the 🟦 _Σ+_,
|
||||
|
@ -299,7 +349,7 @@ a `▶︎`, and 🟨 _F6_ turns into `◀`︎. These keys can be used to
|
|||
navigate across the available menu entries. This replaces the _NXT_ and _PREV_
|
||||
keys on HP calculators.
|
||||
|
||||
The `Variables` menu (_RCL_ key) is special in the sense that:
|
||||
The [VariablesMenu](#VariablesMenu) (_RCL_ key) is special in the sense that:
|
||||
|
||||
* Selecting an entry *evaluates* that menu entry, for example to run a program
|
||||
|
||||
|
@ -525,7 +575,7 @@ To navigate the help on the calculator, use the following keys:
|
|||
_F6_, correspond to the functions shown in the six labels at the bottom of the
|
||||
screen.
|
||||
|
||||
* While the help is shown, the keys _▼_ and _▲_ on the keyboard scroll
|
||||
* While the help is shown, the keys _◀︎_ and _▶︎_ on the keyboard scroll
|
||||
through the text.
|
||||
|
||||
* The _F1_ key returns to the [Home](#overview) (overview).
|
||||
|
|
|
@ -43,6 +43,7 @@ lacks a dedicated alpha key, does not provides left or right arrow keys (only up
|
|||
and down), and has no space key (_SPC_ on the HP48).
|
||||
|
||||
|
||||
|
||||
## Keyboard interaction
|
||||
|
||||
The keyboard differences force us to revisit the user interaction with the
|
||||
|
@ -67,11 +68,13 @@ calculator compared to the HP48:
|
|||
|
||||
* The _▲_ and _▼_ keys move the cursor *left* and *right* while editing
|
||||
instead of *up* and *down*. These cursor movements are much more useful for a
|
||||
text-based program editing as found in RPL.
|
||||
text-based program editing as found in RPL. In the rest of this document,
|
||||
they are described as _◀︎_ and _▶︎_ respectively.
|
||||
|
||||
* Using 🟨 _▲_ and 🟨 _▼_ moves the cursor up and down. When not editing, _▲_
|
||||
and _▼_ behave like on the HP48, i.e. _▲_ enters the *interactive stack* (not
|
||||
yet implemented) and _▼_ edits the object on the first level of the stack.
|
||||
* Using 🟨 _◀︎_ and 🟨 _▶︎_ moves the cursor up and down. When not editing, _▶︎_
|
||||
and _▶︎_ behave like _▲_ and _▼_ on the HP48, i.e. _◀︎_ enters the *interactive
|
||||
stack* (not yet implemented) and _▶︎_ edits the object on the first level of
|
||||
the stack.
|
||||
|
||||
* Long-pressing arrow keys, the _←_ (also known as *Backspace*) or text entry
|
||||
keys in Alpha mode activates auto-repeat.
|
||||
|
@ -100,10 +103,10 @@ There are three ways to enter *Alpha* mode:
|
|||
between *Alpha* _ABC_ and *Normal* entry modes, and cannot be used to type
|
||||
lowercase characters.
|
||||
|
||||
* The third method is to hold one of the arrow keys _▲_ or _▼_ *while* typing on
|
||||
* The third method is to hold one of the arrow keys _◀︎_ or _▶︎_ *while* typing on
|
||||
the keyboard. This is called *transient alpha mode* because *Alpha* mode ends
|
||||
as soon as the arrow key is released. Using _▲_ enters uppercase characters,
|
||||
while _▼_ uses lowercase characters.
|
||||
as soon as the arrow key is released. Using _◀︎_ enters uppercase characters,
|
||||
while _▶︎_ uses lowercase characters.
|
||||
|
||||
There is no equivalent of the HP48's "single-Alpha" mode. Alpha mode is either
|
||||
_transient_ (when you hold one of the arrow keys) or _sticky_ (with 🟨 _ENTER_
|
||||
|
@ -125,8 +128,9 @@ gives a variety of special characters.
|
|||
|
||||
![DB48X keyboard layout](keyboard.png)
|
||||
|
||||
Some keys that have little use or no direct equivalent for RPL are remapped
|
||||
as follows:
|
||||
If you are using DB48X on a DM42, it is almost possible to do it without a
|
||||
keyboard overlay. Some keys that have little use or no direct equivalent for RPL
|
||||
are remapped as follows:
|
||||
|
||||
* _Σ+_ is used to call [ToolsMenu](#ToolsMenu), which select a menu based on
|
||||
context, notably the content of the stack.
|
||||
|
@ -135,9 +139,15 @@ as follows:
|
|||
previous menu.
|
||||
|
||||
* 🟦 _Σ+_ selects [MainMenu](#MainMenu), the top-level menu giving access
|
||||
to all other menus and features in DB48X (see also the [Catalog](#catalog)
|
||||
to all other menus and features in DB48X (see also the [Catalog](#CatalogMenu)
|
||||
feature).
|
||||
|
||||
* _LOG_ and _EXP_ keys are swapped. The HP42 has _LOG_ and _LN_ with shifted
|
||||
_10^X_ and _E^X_. DB48X has _E^X_ and _LN_ with shifted _10^X_ and _LOG_, so
|
||||
that the more frequently used mathematical functions are available without
|
||||
shifting. Note that in the future, full keyboard remapping similar to the HP41
|
||||
or HP48 will allow you to change that if you prefer.
|
||||
|
||||
* _XEQ_ opens an algebraic expression, i.e. it shows `''` on the command-line
|
||||
and switches to equation entry. It can be remembered as *Execute Equation* and
|
||||
can be used to evaluate expressions in [algebraic mode](#algebraic-mode)
|
||||
|
@ -190,7 +200,7 @@ as follows:
|
|||
various items, including [ClearStack](#ClearStack) and
|
||||
[ClearMenu](#ClearMenu).
|
||||
|
||||
* _SST_ and _BST_ (🟨 _▲_ and _▼_) move the cursor *up* and *down* in the text
|
||||
* _SST_ and _BST_ (🟨 _◀︎_ and 🟨 _▶︎_) move the cursor *up* and *down* in the text
|
||||
editor. In direct mode, _BST_ selects the *Best* editor for the object, and
|
||||
*Sst* selects single-step evaluation.
|
||||
|
||||
|
@ -253,17 +263,27 @@ as follows:
|
|||
* _PRGM_ (🟨 _R/S_) inserts the delimiters for an RPL program, `«` and `»`,
|
||||
while 🟦 _R/S_ inserts the list delimiters, `{` and `}`.
|
||||
|
||||
* _CATALOG_ (🟨 _+_) shows a complete context-sensitive catalog of all
|
||||
available functions, and enables auto-completion using the soft-menu
|
||||
* _CATALOG_ (🟨 _+_) shows a complete context-sensitive [catalog](#CatalogMenu)
|
||||
of all available functions, and enables auto-completion using the soft-menu
|
||||
keys. Note that the `+` key activates the catalog while in *Alpha* mode.
|
||||
|
||||
* _HELP_ (🟦 _+_) activates the context-sensitive help system.
|
||||
|
||||
|
||||
In the rest of this document, the shift key is referred to as 🟨, and pressing
|
||||
it twice is referred to as 🟦, irrespective of the appearance of the physical
|
||||
shift key on your particular hardware.
|
||||
|
||||
DB48X keyboard overlays for SwissMicros calculators are
|
||||
[already available](https://www.hpmuseum.org/forum/thread-20113.html).
|
||||
|
||||
|
||||
## Soft menus
|
||||
|
||||
The DM42 has 6 dedicated soft-menu keys at the top of the keyboard. Most of the
|
||||
advanced features of DB48X can be accessed through these soft menus.
|
||||
advanced features of DB48X can be accessed through these soft menus. Soft menu
|
||||
keys have no label on the physical calculator, but in this documentation, they
|
||||
may sometimes be referred to as _F1_ through _F6_.
|
||||
|
||||
Menus are organized internally as a hierarchy, where menus can refer to other
|
||||
menus. A special menu, [MainMenu](#MainMenu), accessible via the 🟦 _Σ+_,
|
||||
|
@ -281,7 +301,7 @@ a `▶︎`, and 🟨 _F6_ turns into `◀`︎. These keys can be used to
|
|||
navigate across the available menu entries. This replaces the _NXT_ and _PREV_
|
||||
keys on HP calculators.
|
||||
|
||||
The `Variables` menu (_RCL_ key) is special in the sense that:
|
||||
The [VariablesMenu](#VariablesMenu) (_RCL_ key) is special in the sense that:
|
||||
|
||||
* Selecting an entry *evaluates* that menu entry, for example to run a program
|
||||
|
||||
|
@ -507,7 +527,7 @@ To navigate the help on the calculator, use the following keys:
|
|||
_F6_, correspond to the functions shown in the six labels at the bottom of the
|
||||
screen.
|
||||
|
||||
* While the help is shown, the keys _▼_ and _▲_ on the keyboard scroll
|
||||
* While the help is shown, the keys _◀︎_ and _▶︎_ on the keyboard scroll
|
||||
through the text.
|
||||
|
||||
* The _F1_ key returns to the [Home](#overview) (overview).
|
||||
|
|
190
help/db50x.md
190
help/db50x.md
|
@ -40,9 +40,9 @@ recommended to use a [keyboard overlay](../Keyboard-Layout.png).
|
|||
|
||||
Compared to the original HP48, the DM32 has a much larger screen, but no
|
||||
annunciators (it is a fully bitmap screen). It has a keyboard with dedicated
|
||||
soft-menu (function) keys, but only one shift key (whereas the HP48 has two),
|
||||
lacks a dedicated alpha key, does not provides left or right arrow keys (only up
|
||||
and down), and has no space key (_SPC_ on the HP48).
|
||||
soft-menu (function) keys, but no arrow keys (whereas the HP48 has four),
|
||||
lacks a dedicated alpha key, and has no space key (_SPC_ on the HP48).
|
||||
|
||||
|
||||
|
||||
## Keyboard interaction
|
||||
|
@ -51,12 +51,16 @@ The keyboard differences force us to revisit the user interaction with the
|
|||
calculator compared to the HP48:
|
||||
|
||||
|
||||
* When running DB50X on the DM32, the blue 🟦 key cycles between three states,
|
||||
*Shift*, *Right Shift* and no shift. The yellow 🟨 shift key is actually used
|
||||
as a down/right cursor key, and the _XEQ_ key is used as an up/left cursor
|
||||
key. This remapping of keys appears necessary because RPL calculators like the
|
||||
HP48 have a rather full keyboard even with two shift keys, and absolutely need
|
||||
at least two cursor keys.
|
||||
* When running DB50X on the DM32, the blue shift key cycles between three
|
||||
states, *Shift* (shown in the documentation as 🟨), *Right Shift* (shown in
|
||||
the documentation as 🟦) and no shift. The physical yellow shift key is
|
||||
actually used as a down/right cursor key, and will be shown as _▶︎_ in the rest
|
||||
of this document. Similarly, the _XEQ_ key is used as an up/left cursor key,
|
||||
and will be shown as _◀︎_ in the rest of this document. This remapping of keys
|
||||
appears necessary because RPL calculators like the HP48 are command-line
|
||||
oriented and absolutely need at least two unshifted cursor keys. Sacrificing a
|
||||
physical shift key while preserving two shifted function seems like the best
|
||||
compromise.
|
||||
|
||||
* The less-frequently used functions can be accessed after a
|
||||
double-press on 🟨, which in the rest of this documentation will be shown
|
||||
|
@ -69,13 +73,11 @@ calculator compared to the HP48:
|
|||
frequently than on the HP42, making it quickly accessible seems important, so
|
||||
there are [three distinct ways to activate it](#alpha-mode).
|
||||
|
||||
* The _▲_ and _▼_ keys move the cursor *left* and *right* while editing
|
||||
instead of *up* and *down*. These cursor movements are much more useful for a
|
||||
text-based program editing as found in RPL.
|
||||
|
||||
* Using 🟨 _▲_ and 🟨 _▼_ moves the cursor up and down. When not editing, _▲_
|
||||
and _▼_ behave like on the HP48, i.e. _▲_ enters the *interactive stack* (not
|
||||
yet implemented) and _▼_ edits the object on the first level of the stack.
|
||||
* Using 🟨 _◀︎_ and 🟨 _▶︎_ moves the cursor up and down. When not editing, _▶︎_
|
||||
and _▶︎_ behave like _▲_ and _▼_ on the HP48, i.e. _◀︎_ enters the *interactive
|
||||
stack* (not yet implemented) and _▶︎_ edits the object on the first level of
|
||||
the stack.
|
||||
|
||||
* Long-pressing arrow keys, the _←_ (also known as *Backspace*) or text entry
|
||||
keys in Alpha mode activates auto-repeat.
|
||||
|
@ -104,10 +106,10 @@ There are three ways to enter *Alpha* mode:
|
|||
between *Alpha* _ABC_ and *Normal* entry modes, and cannot be used to type
|
||||
lowercase characters.
|
||||
|
||||
* The third method is to hold one of the arrow keys _▲_ or _▼_ *while* typing on
|
||||
* The third method is to hold one of the arrow keys _◀︎_ or _▶︎_ *while* typing on
|
||||
the keyboard. This is called *transient alpha mode* because *Alpha* mode ends
|
||||
as soon as the arrow key is released. Using _▲_ enters uppercase characters,
|
||||
while _▼_ uses lowercase characters.
|
||||
as soon as the arrow key is released. Using _◀︎_ enters uppercase characters,
|
||||
while _▶︎_ uses lowercase characters.
|
||||
|
||||
There is no equivalent of the HP48's "single-Alpha" mode. Alpha mode is either
|
||||
_transient_ (when you hold one of the arrow keys) or _sticky_ (with 🟨 _ENTER_
|
||||
|
@ -129,145 +131,37 @@ gives a variety of special characters.
|
|||
|
||||
![DB50X keyboard layout](keyboard.png)
|
||||
|
||||
Some keys that have little use or no direct equivalent for RPL are remapped
|
||||
as follows:
|
||||
|
||||
* _Σ+_ is used to call [ToolsMenu](#ToolsMenu), which select a menu based on
|
||||
context, notably the content of the stack.
|
||||
Using DB50X with the DM32 is quite difficult without a keyboard overlay.
|
||||
|
||||
* _Σ-_ (i.e.🟨 _Σ+_) will select [LastMenu](#LastMenu), i.e. return to the
|
||||
previous menu.
|
||||
In particular, an unfortunate difference between the DM32 and the keyboard
|
||||
layout used by DB50X is that the placement of all letters after `M` is shifted
|
||||
by one position on the keyboard, and the first row of scientific functions
|
||||
(starting with square root and ending with _Σ+_) is inconsistent. The reason is
|
||||
that the layout for DB50X is heavily based on the DM-42 model.
|
||||
|
||||
* 🟦 _Σ+_ selects [MainMenu](#MainMenu), the top-level menu giving access
|
||||
to all other menus and features in DB50X (see also the [Catalog](#catalog)
|
||||
feature).
|
||||
Also, while the DM32 has two shift keys, a blue and a yellow one, it lacks
|
||||
dedicated cursor movement arrow keys, a limitation that is visible in the
|
||||
calculator's firmware menus. While the two arrow shift keys would be welcome,
|
||||
not having arrow keys for cursor movement is just not an option. As a result,
|
||||
only the blue shift key is kept as a shift key, and the yellow shift key is
|
||||
converted to an arrow key, along with the DM32 _XEQ_ key.
|
||||
|
||||
* _XEQ_ opens an algebraic expression, i.e. it shows `''` on the command-line
|
||||
and switches to equation entry. It can be remembered as *Execute Equation* and
|
||||
can be used to evaluate expressions in [algebraic mode](#algebraic-mode)
|
||||
instead of RPN. While inside an equation, _XEQ_ enters parentheses.
|
||||
|
||||
* _GTO_ opens the [BranchesMenu](#BranchesMenu), with RPL branches and loops,
|
||||
e.g. `IF` `THEN` or `DO` `WHILE`, as well as conditional tests.
|
||||
In the rest of this document, the shift key is referred to as 🟨, and pressing
|
||||
it twice is referred to as 🟦, irrespective of the appearance of the physical
|
||||
shift key on your particular hardware.
|
||||
|
||||
* _COMPLEX_ opens the [ComplexMenu](#ComplexMenu), not just build a complex
|
||||
like on the DM32. The [ComplexMenu](#ComplexMenu) includes features to enter
|
||||
complex numbers in rectangular or polar form, as well as complex-specific
|
||||
functions like [Conjugate](#Conjugate).
|
||||
|
||||
* _RCL_ opens the [VariablesMenu](#VariablesMenu) menu listing user variables.
|
||||
This plays the role of _VAR_ on the HP48.
|
||||
|
||||
* _%_ (🟨 _RCL_) opens the [FractionsMenu](#FractionsMenu), to access operations
|
||||
on fractions.
|
||||
|
||||
* _R↓_ will open the [StackMenu](#StackMenu), containing operations on the
|
||||
stack.
|
||||
|
||||
* _π_ (🟨 _R↓_) will open the [ConstantsMenu](#ConstantsMenu) (π being one of
|
||||
them), with the option to get the symbolic or numerical value. The values of
|
||||
constants come from a file named `CONSTANTS.CSV` on disk.
|
||||
|
||||
* _X⇆Y_ executes the matching [Swap](#swap) function
|
||||
|
||||
* _LAST x_ (🟨 _X⇆Y_) executes [LastArg](#LastArguments) command, recalling the
|
||||
arguments of the last command. There is also a [LastX](#LastX) command for
|
||||
compatibility with RPN, which is available from the [StackMenu](#StackMenu).
|
||||
|
||||
* _Undo_(🟦 _X⇆Y_) restores the previous state of the stack. This is like
|
||||
`Last Stack` on the HP48, but it is a real command that can be used in
|
||||
programs.
|
||||
|
||||
* _+/-_ executes the equivalent RPL `Negate` function
|
||||
|
||||
* _Modes_ (🟨 _+/-_ ) calls the [ModesMenu](#ModesMenu), with submenus for
|
||||
various settings, including computation precision, display modes, etc.
|
||||
|
||||
* _Obj_ (🟦 _+/-_ ) calls the [ObjectMenu](#ObjectMenu), with various
|
||||
object-related operations.
|
||||
|
||||
* _Disp_ (🟨 _EEX_ ) calls the [DisplayModesMenu](#DisplayModesMenu), which
|
||||
controls settings related to the display, such as number of digits shown or
|
||||
separators.
|
||||
|
||||
* _Clear_ calls a [ClearThingsMenu](#ClearThingsMenu) with options to clear
|
||||
various items, including [ClearStack](#ClearStack) and
|
||||
[ClearMenu](#ClearMenu).
|
||||
|
||||
* _SST_ and _BST_ (🟨 _▲_ and _▼_) move the cursor *up* and *down* in the text
|
||||
editor. In direct mode, _BST_ selects the *Best* editor for the object, and
|
||||
*Sst* selects single-step evaluation.
|
||||
|
||||
* _SOLVER_ (🟨 _7_) shows the [SolverMenu](#SolverMenu), with submenus for
|
||||
numerical and symbolic solvers.
|
||||
|
||||
* _∫f(x)_ (🟨 _8_) shows the [SymbolicMenu](#SymbolicMenu), with symbolic and
|
||||
numerical integration and derivation features.
|
||||
|
||||
* _MATRIX_ (🟨 _9_) enters the `[` and `]` characters, which are vector and
|
||||
matrix delimiters in RPL. 🟦 _9_ shows the [MatrixMenu](#MatrixMenu) with
|
||||
operations on vectors, matrices and tensors.
|
||||
|
||||
* _STAT_ (🟨 _÷_) shows the [StatisticsMenu](#StatisticsMenu)
|
||||
|
||||
* _BASE_ (🟨 _4_) shows the [BasesMenu](#BasesMenu), with operations on
|
||||
based numbers and facilities for entering hexadecimal numbers.
|
||||
|
||||
* _CONVERT_ (🟨 _5_) shows a [UnitsMenu](#UnitsMenu) with units and and
|
||||
conversion functions.
|
||||
|
||||
* _FLAGS_ (🟨 _6_) shows the [FlagsMenu](#FlagsMenu) with operations on user and
|
||||
system flags.
|
||||
|
||||
* _PROB_ (🟨 _×_) shows the [ProbabilitiesMenu](#ProbabilitiesMenu), with
|
||||
functions such as [Factorial](#factorial), [Combinations](#combinations) or
|
||||
[Random](#random).
|
||||
|
||||
* _ASSIGN_ (🟨 _1_) makes it possible to assign any function to any key. These
|
||||
special functions are then selected by using _Custom_ (🟨 _2_), which
|
||||
corresponds roughly to _USR_ on the HP48.
|
||||
|
||||
* _PGM.FCN_ (🟨 _1_) shows the [ProgramMenu](#ProgramMenu), with all
|
||||
general-purpose programming operations, categorized as sub-menus.
|
||||
|
||||
* _PRINT_ (🟨 _-_) shows the [IOMenu](#IOMenu).
|
||||
|
||||
* _EXIT_ corresponds to what the HP48 manual calls _Attn_, and typically
|
||||
cancels the current activity. It can also be used to interrupt a running
|
||||
program.
|
||||
|
||||
* _OFF_ (🟨 _EXIT_) shuts down the calculator. The state of the calculator is
|
||||
preserved.
|
||||
|
||||
* _SAVE_ (🟦 _EXIT_) saves the current state of the calculator to disk. This
|
||||
state can be transferred to another machine, and survives system reset or
|
||||
firmware upgrades.
|
||||
|
||||
* _SETUP_ (🟨 _0_) shows the DM32's built-in [SystemMenu](#SystemMenu), for
|
||||
example to load the original DM32 program, activate USB disk, and to access
|
||||
some calculator preferences.
|
||||
|
||||
* _Show_ selects the [ShowMenu](#ShowMenu), with various ways to display objects
|
||||
on the stack, such as [ShowBest](#ShowBest), [ShowSymbolic](#ShowSymbolic),
|
||||
[ShowGraphical](#ShowGraphical), [ShowCompact](#ShowCompact).
|
||||
|
||||
* The _R/S_ keys inserts a space in the editor, and maps to
|
||||
[Evaluate](#evaluate) otherwise.
|
||||
|
||||
* _PRGM_ (🟨 _R/S_) inserts the delimiters for an RPL program, `«` and `»`,
|
||||
while 🟦 _R/S_ inserts the list delimiters, `{` and `}`.
|
||||
|
||||
* _CATALOG_ (🟨 _+_) shows a complete context-sensitive catalog of all
|
||||
available functions, and enables auto-completion using the soft-menu
|
||||
keys. Note that the `+` key activates the catalog while in *Alpha* mode.
|
||||
|
||||
* _HELP_ (🟦 _+_) activates the context-sensitive help system.
|
||||
DB50X keyboard overlays for SwissMicros calculators are
|
||||
[already available](https://www.hpmuseum.org/forum/thread-20113.html).
|
||||
|
||||
|
||||
## Soft menus
|
||||
|
||||
The DM32 has 6 dedicated soft-menu keys at the top of the keyboard. Most of the
|
||||
advanced features of DB50X can be accessed through these soft menus.
|
||||
advanced features of DB50X can be accessed through these soft menus. Soft menu
|
||||
keys have no label on the physical calculator, but in this documentation, they
|
||||
may sometimes be referred to as _F1_ through _F6_.
|
||||
|
||||
Menus are organized internally as a hierarchy, where menus can refer to other
|
||||
menus. A special menu, [MainMenu](#MainMenu), accessible via the 🟦 _Σ+_,
|
||||
|
@ -285,7 +179,7 @@ a `▶︎`, and 🟨 _F6_ turns into `◀`︎. These keys can be used to
|
|||
navigate across the available menu entries. This replaces the _NXT_ and _PREV_
|
||||
keys on HP calculators.
|
||||
|
||||
The `Variables` menu (_RCL_ key) is special in the sense that:
|
||||
The [VariablesMenu](#VariablesMenu) (_RCL_ key) is special in the sense that:
|
||||
|
||||
* Selecting an entry *evaluates* that menu entry, for example to run a program
|
||||
|
||||
|
@ -511,7 +405,7 @@ To navigate the help on the calculator, use the following keys:
|
|||
_F6_, correspond to the functions shown in the six labels at the bottom of the
|
||||
screen.
|
||||
|
||||
* While the help is shown, the keys _▼_ and _▲_ on the keyboard scroll
|
||||
* While the help is shown, the keys _◀︎_ and _▶︎_ on the keyboard scroll
|
||||
through the text.
|
||||
|
||||
* The _F1_ key returns to the [Home](#overview) (overview).
|
||||
|
|
Loading…
Reference in a new issue