This document defines keyboard behavior currently implemented in EnterCalc for iOS and macOS.
Sources:
| 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 |
| 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 |
0x49 (Insert) and 0x75 (Help), plus function-character U+F727.114, plus function-character U+F727.