Skip to content

feat: add HP 12c Platinum g-shift key labels and backspace#16

Merged
shanehull merged 4 commits into
mainfrom
feat/platinum-keys
Jul 23, 2026
Merged

feat: add HP 12c Platinum g-shift key labels and backspace#16
shanehull merged 4 commits into
mainfrom
feat/platinum-keys

Conversation

@shanehull

@shanehull shanehull commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What's in

Calculator

  • g + "+" → LSTx (last X recall)
  • g + "×" → x² (square)
  • g + "−" → backspace — deletes last digit during entry, or starts editing the displayed value when not entering
  • g + "÷" → single-level undo — engine state is snapshot before each operation, restored on undo
  • f/g press no longer clears the entry buffer (decimal places preserved on display)
  • Entry finalized before computing ops (x², LSTx, CFj, Nj)

Frontend

  • Platinum g-shift labels: ÷ ↩, × x², − ←, + LSTx
  • LSTx removed from ENTER g-shift (now on +)
  • Key dimensions scaled up: 66x50px (was 62x46), fonts +2px
  • g-label 13px, primary 17px

What's NOT in

  • Parentheses on STO/RCL (g-shift) — these are for algebraic mode, which needs infix parsing, operator precedence, and parentheses matching. A separate major feature.
  • UNDO is single-level (one step), matching the HP 12c Platinum. Multi-level undo would need an undo stack.

- gPrefixed: wire +/LSTx, ×/x², −/backspace, ÷/undo
- Snapshot engine state before each operation for undo
- backspace works during entry and from displayed X value
- Add Platinum g-shift labels to frontend (↩, x², ←, LSTx)
- Remove LSTx from ENTER g-shift
- Don't clear entry on f/g press (preserve display state)
- Bump g-label font size 9px → 12px
@shanehull
shanehull force-pushed the feat/platinum-keys branch from fe57b1a to 4d7f1e3 Compare July 23, 2026 06:55
@shanehull
shanehull merged commit 7ba3ce4 into main Jul 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant