enterCalc

EnterCalc Keyboard Actions and Context Matrix

This document defines keyboard behavior currently implemented in EnterCalc for iOS and macOS.

Sources:

Global Notes

Keyboard Matrix

Key Base Direct edit Rounding overlay History overlay
Insert Enter direct edit; caret to trailing boundary Already in direct edit; no extra action Blocked while overlay is active Blocked while overlay is active
Left Arrow Move display caret left (activates direct edit if possible) Move display caret left Decrease rounding precision step Suppressed
Right Arrow Move display caret right (activates direct edit if possible) Move display caret right Increase rounding precision step Suppressed
Down Arrow Open rounding overlay Open rounding overlay No-op (consumed) Suppressed
Up Arrow No mapped action No mapped action Close rounding overlay Suppressed
Shift + Up Arrow Increase display size (20pt) Increase display size Increase display size Increase display size
Shift + Down Arrow Decrease display size (20pt) Decrease display size Decrease display size Decrease display size
Escape Clear all Exit direct edit Remove rounding and close overlay Close overlay
End Clear all Exit direct edit Close overlay Close overlay
Backspace Delete one char/digit via model backspace Delete one char/digit before caret Remove rounding and close overlay Close overlay
Forward Delete Delete one char/digit via model backspace Delete one char/digit before caret Remove rounding and close overlay Clear history and close overlay
Return / Enter / Keypad Enter Evaluate Exit direct edit Close overlay Close overlay
Digits 0-9 Input digit Insert at display caret Not handled here Suppressed
Decimal . Input decimal separator Insert decimal at display caret Not handled here Suppressed
+ - * / Set operator Set operator (exits direct edit in model flow) Not handled here Suppressed
% Apply percent Apply percent Not handled here Suppressed
( and ) Input parentheses Input parentheses Not handled here Suppressed
= Evaluate Evaluate path applies; direct edit Enter key exits edit Not handled here Suppressed
Currency symbols ($, €, £, etc.) Activate currency input mode with symbol Same behavior at caret position Not handled here Suppressed

Currency Mode

The calculator is in currency mode exactly when a currency symbol is showing; there is no separate mode selection. Entering one — by typing a currency symbol as above, or with the on-screen currency key beside the mode label — switches the mode label from Basic to Currency.

The on-screen key toggles: pressing it once applies the symbol chosen in Settings, and pressing it again leaves currency mode and removes the symbol without changing the entered value. It clears whichever symbol is active, including one typed on a hardware keyboard that differs from the configured one, so it is always a reliable way back to Basic.

Which symbol the key applies is chosen in Settings. It defaults to the device region’s currency (en-GB gives £, en-US gives $, de-DE gives €) until the user picks one.

Platform Notes

Resizing the display (macOS)

The split between the display and the keypad can be dragged, which leaves it unreachable without a pointer. Shift + Up/Down Arrow moves it in 20-point steps, within the same limits the drag handle respects, and stops at either end rather than wrapping.

These are menu commands under View → Increase / Decrease Display Size, not just key bindings, so they are discoverable and reachable by VoiceOver. The menu owns the shortcut: the app’s key monitor deliberately ignores Shift + Up/Down so a single press applies a single step, and so Shift + Down does not open the rounding overlay the way a bare Down Arrow does.

The step is not animated — it lands immediately, matching how dragging behaves.

Command Shortcuts

Overlay Priority Rules