A proposed change to the operation of the E (Enter Exponent) button

83 views
Skip to first unread message

MickM

unread,
Sep 24, 2023, 5:13:46 PM9/24/23
to Free42 & Plus42
I'm making a skin for Free42/Plus42 that includes buttons for metric notation (something ubiquitously used by thousands of engineers in my field i.e. electrical engineering, although many any other fields also work this way). Specifically, I have a separate row of buttons beneath the ENTER key row for things like m (milli or x10^-3), µ (micro or x10^-6), n (nano or x10^-9), p (pico or x10^-12) etc. The idea being that those of us who live and breath metric notation can rapidly enter numbers like 34pF or 5ns as 34p and 5n instead of 34E-12 and 5E-9. I'd also mention at this point that every one of my co-workers who has seen this capability on my skin LOVES it.

Very simply put, all my metric notation buttons do is just invoke a macro for the key strokes they save i.e. pushing the "p" button simply types "E +/- 1 2". Yea, it's conceptually trivial, but OMG it'd save countless thousands of keystrokes over the course of a career!

So what's the problem? Let's say somebody wanted to enter 12p but misread the suffix or hit the wrong button and did 12n instead i.e. the X-register is currently showing 12E-9 instead of 12E-12. Literally everybody using this skin initially tries just hitting the "p" button to correct the typo, but because the metric notation buttons are just macros (i.e. sequences of button presses) they end up having effectively typed in:
1 2 E +/- 9 E +/- 1 2
which ends up being 12E129. The second E is ignored and the second +/- turns the exponent from negative back to positive. Anyway, it's messy. Clearly you could do what the rest of us all do when we make a typo entering an exponent and just backspace over the incorrect digits and then enter the correct ones.

However, everybody who tried my skin fell into this trap and thought this inconvenience was a user interface blemish. So I have a proposal that I hope is harmless but solves this problem.

What if typing E a 2nd time was not ignored, but instead simply reset the exponent entry back to the point of having typed the first E. Given that this is only a data entry problem in interactive mode (i.e. not an issue within a program) then somebody correcting an incorrect exponent in the usual way wouldn't normally ever hit the E button again and not notice anything different. You could also benefit from this change to actually enable a quick way to perform an exponent entry do-over.

If this change was made then the example cited earlier of effectively entering "1 2 E +/- 9 E +/- 1 2" would then yield 12E-12. Would it be possible to implement a change such as this? I know it's probably doable as a preference setting (which further clutters the preference screen) but the hope is that the change is trivial and harmless enough to just be applied universally without a preference setting. 

MickM

unread,
Oct 9, 2023, 11:58:40 AM10/9/23
to Free42 & Plus42
Sorry - I just can't let this one go. I know you've already corresponded with me indicating a reluctance to implement this because you believe experienced users will get tripped up (something I disagreed with for this particular case), however I have an alternate proposal that I hopes makes this a lot more appealing to you :-).

HP only accept the first E when entering an exponent and ignore all other E's until something forces the acceptance of the X-register (e.g. ENTER, some mathematical operation etc.). Therefore my macros don't have to be E-12 or E-9 etc. but instead they could easily be EEE-12 or EEE-9 etc. and you could then interpret a sequence of 3 E's as something that resets the exponent entry. Surely nobody in the known galaxy would ever do that!! I'd be forever grateful if this could be implemented - it's the only remaining issue I have with my skin. Everybody using my skin interprets the metric notation buttons as (understandably) doing what they say i.e. making the exponent BE the value shown on the button.
Reply all
Reply to author
Forward
0 new messages