WP43 Alternative key layout --> C43

This area is for discussion about these families of custom high-end Scientific Calculator applications for SwissMicros devices.
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Dani R. wrote:
Sat Nov 23, 2019 3:20 pm

For me, a short press or a long press is intuitive to operate, without really having to consciously monitor the process on the display. Pressing even longer can of course be another event than simply pressing for a long time. A very long press then leads to NOP. The distinction between long pressing and even longer pressing seems to me to be a source of danger for operating errors. Of course this does not have to be. Or alternatively, as described above, pressing again is equivalent allowed to pressing even longer.
I take that point. my suggestion (i.e. the f and g and NOP functions while keeping it in), would require visual monitoring of the top left part, where the function name appears. I don’t like that.

I prefer yours now, let me recap in a sketch:

short press for normal [FN], keep in long press until it displays f(FN), release or keep in to NOP.

short press to execute f(FN), keep in long press until it displays g(FN), release or keep in to NOP.

short press to execute f(FN), keep in long press until NOP.

Sketch assumes arbitrary 0.5 sec and 1 sec time boundaries. These have not been considered yet.

Image
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

H2X wrote:
Sat Nov 23, 2019 8:19 pm

Let me try:

Assuming "hold" represents the amount of time which distinguishes between a normal (short) press and a long one. Then:
  • Press + release = execute FN (the normal, short press function)
  • Press + hold + release = execute f(FN)
  • Press + hold + hold + release = execute g(FN)
  • Press + hold + hold + hold + release = no-op
Yes?
I answered before I saw this, sorry.

My understanding was that we need a way out of the long press if you don’t want it or saw the wrong command is coming. Therefore a short press ’confirm’ is needed after each long press, to have a NOP possibility.

Comments?
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
H2X
Posts: 885
Joined: Tue Apr 25, 2017 8:00 am
Location: Norðvegr
Contact:

Re: 43S Alternative key layout --> WP43C

Post by H2X »

Jaymos wrote:
Sat Nov 23, 2019 8:54 pm
H2X wrote:
Sat Nov 23, 2019 8:19 pm

Let me try:

Assuming "hold" represents the amount of time which distinguishes between a normal (short) press and a long one. Then:
  • Press + release = execute FN (the normal, short press function)
  • Press + hold + release = execute f(FN)
  • Press + hold + hold + release = execute g(FN)
  • Press + hold + hold + hold + release = no-op
Yes?
I answered before I saw this, sorry.

My understanding was that we need a way out of the long press if you don’t want it or saw the wrong command is coming. Therefore a short press ’confirm’ is needed after each long press, to have a NOP possibility.

Comments?
A short press to "confirm" is consistent with a "harmless" long press as first suggested, but then after the next few comments I thought I hadn't understood the brief fully. Would this be enough a gain over using the shift key as normal?

Anyway, if long pressing does cause the execution of f(FN) or g(FN), wouldn't just holding long enough (i.e. crossing the threshold once more) be that way out?

EDIT: In case it wasn't clear, I meant that when relasing after a long press (regardless if it causes f(FN), g(FN), or no-op), the "reset" suggested in Jacos' drawing always happens. Each long press always starts from scratch.

What kind of visual feedback are we thinking of, in either case?
What is the metric tensor in imperial units?
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

H2X wrote:
Sat Nov 23, 2019 9:21 pm

Anyway, if long pressing does cause the execution of f(FN) or g(FN), wouldn't just holding long enough (i.e. crossing the threshold once more) be that way out?
Yes it will work.
H2X wrote:
Sat Nov 23, 2019 9:21 pm

What kind of visual feedback are we thinking of, in either case?
My intention is for visual feedback to use the top left area of the screen where "NOP" is flashed, and where the function name is currently displayed prior to execution of a function. Currently, when you press, the function appears top left, say "ENTER", and after timing out, NOP appears.

My intention is to use the same methodology, i.e. after the first press, FN1 appears, after the various time-outs, f(FN1) appears, then g(FN1).

In the H2X example, the display lines were added:
  • Press (display FN1) + release = execute FN1 (the normal, short press function). If time-out before release, NOP.
  • Press (display FN1) + hold (display f(FN1)) + release = execute f(FN). If time-out before release, NOP.
  • Press (display FN1) + hold (display changes to f(FN1)) + hold (display changes to g(FN1)) + release = execute g(FN). If time-out before release, NOP.
  • Press (display FN1) + hold (display changes to f(FN1)) + hold (display changes to g(FN1)) + hold (regardless of release) = NOP
EDIT: fixed line 1

This method expects you to look on the display to wait for the periods "hold" or "hold hold" or "hold hold hold" to expire, i.e. wait for the display change for the next function, then release at the right time. The con side is you have to watch the display as you don't know when hold+hold and hold+hold+hold expired. The pro side is this is in line with the existing calculator method of time-out to NOP, just expanded a bit. You press once only, wait differently and release to execute.

The method on my sketch starts with a single long press "hold" time, then expects either a short press to confirm, or a long press "hold" time, then another short press to confirm. The con side is, to get g(FN1), you have to press 3 times, i.e. long press, release/press another long one, then a short press. The pro side is that you can do it not watching the screen.

Edit: minor edits
Last edited by Jaymos on Sun Nov 24, 2019 5:46 am, edited 2 times in total.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
rprosperi
Posts: 1703
Joined: Mon Apr 24, 2017 7:48 pm
Location: New York

Re: 43S Alternative key layout --> WP43C

Post by rprosperi »

H2X wrote:
Sat Nov 23, 2019 8:19 pm
Let me try:

Assuming "hold" represents the amount of time which distinguishes between a normal (short) press and a long one. Then:
  • Press + release = execute FN (the normal, short press function)
  • Press + hold + release = execute f(FN)
  • Press + hold + hold + release = execute g(FN)
  • Press + hold + hold + hold + release = no-op
Yes?
I think this explains it clearly and succinctly. Perhaps useful to also add that the previewed function is shown before being executed, so for example, for the 2nd line:

[*] Press + hold [f(FN) displayed] + release = execute f(FN)

...assuming I am following your idea and the indicated Fn name is indeed to be previewed.

IMHO, needing a short-press quickly after a long-press to cancel it, or any other similar combinations is asking for trouble and will not work well in the real world.
--bob p

DM42: β00071 & 00282, DM41X: β00071 & 00656, DM10L: 071/100
H2X
Posts: 885
Joined: Tue Apr 25, 2017 8:00 am
Location: Norðvegr
Contact:

Re: 43S Alternative key layout --> WP43C

Post by H2X »

Jaymos wrote:
Sun Nov 24, 2019 1:10 am
My intention is for visual feedback to use the top left area of the screen where "NOP" is flashed, and where the function name is currently displayed prior to execution of a function. Currently, when you press, the function appears top left, say "ENTER", and after timing out, NOP appears.

My intention is to use the same methodology, i.e. after the first press, FN1 appears, after the various time-outs, f(FN1) appears, then g(FN1).
Good.
Jaymos wrote:
Sun Nov 24, 2019 1:10 am
In the H2X example, the display lines were added:

...

This method expects you to look on the display to wait for the periods "hold" or "hold hold" or "hold hold hold" to expire, i.e. wait for the display change for the next function, then release at the right time. The con side is you have to watch the display as you don't know when hold+hold and hold+hold+hold expired. The pro side is this is in line with the existing calculator method of time-out to NOP, just expanded a bit. You press once only, wait differently and release to execute.
Comment: I edited your list:
  • Press (display FN1) + release = execute FN1 (the normal, short press function).
  • Press (display FN1) + hold (display f(FN1)) + release = execute f(FN).
  • Press (display FN1) + hold (display changes to f(FN1)) + hold (display changes to g(FN1)) + release = execute g(FN).
  • Press (display FN1) + hold (display changes to f(FN1)) + hold (display changes to g(FN1)) + hold (regardless of release) = NOP
Only the last line causes NOP. The first three cannot, as you are simply not pressing long enough.

In other words, if you start long pressing the key and regret, keep pressing until you see NOP on the screen. You will se FN1, f(FN1), g(FN1) on the screen while you are waiting, until you finally see NOP and can then release to exit harmlessly.

Example: You start long pressing in order to execute f(FN1), but you press too long so you see g(FN1) on the screen. Simply wait it out until you see NOP, then release. Then start over and release in time for f(FN1).
Jaymos wrote:
Sun Nov 24, 2019 1:10 am
The method on my sketch starts with a single long press "hold" time, then expects either a short press to confirm, or a long press "hold" time, then another short press to confirm. The con side is, to get g(FN1), you have to press 3 times, i.e. long press, release/press another long one, then a short press. The pro side is that you can do it not watching the screen.
I'll let you guys work out if this is practical, but I would certainly be watching the screen. I also think that rprosperi has a point worth considering.

But since we have opened the box of long pressing - I find the concept agreeable. Might it be applied to other keys? I am thinking maybe the shift key for your custom menu stuff, and the delete key for the DROP X.

EDIT: Maybe long pressing the delete key might show DROP X on screen, with an option to press longer for NOP - to be consistent with the above behaviour?

Reasoning for long pressing the shift key is that the cycle shouldn't be too long, and for the delete key is that this is a key with a function - and double pressing can be confused with two single short presses which might not be expected to DROP X?
What is the metric tensor in imperial units?
Dani R.
Posts: 349
Joined: Fri May 05, 2017 10:23 pm

Re: 43S Alternative key layout --> WP43C

Post by Dani R. »

I'd like to increase the confusion a little.

Currently, [FN] is executed directly, there is no timeout functionality (NOP). So if you will assign the ENTER key into MyMenu with the ASN function, it will behave differently there!
H2X wrote:
Sun Nov 24, 2019 8:38 am
...

But since we have opened the box of long pressing - I find the concept agreeable. Might it be applied to other keys? I am thinking maybe the shift key for your custom menu stuff, and the delete key for the DROP X.
The short twice press to get the g button and DROP has proven itself in my eyes. I would have liked to have introduced the NOP functionality to all functions, like on the HP-41C and HP42S, if you are not in number input mode or alpha mode (and maybe some other exceptions). Actually also on the FN keys.

Back to [FN], f[FN] and g[FN].
  • Press briefly = [FN].
  • Long press = f[FN]
  • Press twice briefly = g[FN]
The whole thing is secured with reasonable timeouts, i.e. with the FN keys the timeout should be considerably longer to NOP, that we have a difference to long press (f[FN]).
rprosperi wrote:
Sun Nov 24, 2019 3:33 am
...

IMHO, needing a short-press quickly after a long-press to cancel it, or any other similar combinations is asking for trouble and will not work well in the real world.
You're probably right.


EDIT: why not press three times short for g[FN], like when calling HOME? To be honest, I can't call HOME 100%, but that doesn't matter here. For [FN], f[FN], g[FN] pressing it three times seems too fiddly to me.
C47(DM42) SN:00032 WP43 SN:00016
https://47calc.com
H2X
Posts: 885
Joined: Tue Apr 25, 2017 8:00 am
Location: Norðvegr
Contact:

Re: 43S Alternative key layout --> WP43C

Post by H2X »

Dani R. wrote:
Sun Nov 24, 2019 10:25 am
The short twice press to get the g button ...
Apologies if I don't understand you correctly, but I was not suggesting to change the original, three-state shift key cycle which I suggested way back in another thread. I am totally happy with how that has played out.

I was referring to expanding this cycle further, as has been done by adding the enabling / disabling of the custom menu to the mix. It works, but does long press offer a simpler alternative?

Consider long pressing the shift key to deal with the custom menu, leaving short pressing it to cycle through the original [f, g, unshifted] sequence.
Dani R. wrote:
Sun Nov 24, 2019 10:25 am
... and DROP has proven itself in my eyes.
Absolutely, but if you could have the same cake by long pressing the delete key, would you still eat it?

I am thinking that double pressing is a yet another concept, and the behaviour might be surprising to the unsuspecting user. It might also happen by accident, and may not be easily undone.
Dani R. wrote:
Sun Nov 24, 2019 10:25 am
I would have liked to have introduced the NOP functionality to all functions, like on the HP-41C and HP42S, if you are not in number input mode or alpha mode (and maybe some other exceptions). Actually also on the FN keys.
I can agree with that. Just hold any key which executes a function long enough to abort that function. That leaves long pressing as an option for the shift key, e.g. to control that custom menu.

BTW: NOP is already taken care of on the FN keys, according to my proposal.
Dani R. wrote:
Sun Nov 24, 2019 10:25 am

Back to [FN], f[FN] and g[FN].
  • Press twice briefly = g[FN]
Are you suggesting double pressing a key with a function? After a long press first to get to f[FN]?
Dani R. wrote:
Sun Nov 24, 2019 10:25 am

EDIT: why not press three times short for g[FN], like when calling HOME? To be honest, I can't call HOME 100%, but that doesn't matter here. For [FN], f[FN], g[FN] pressing it three times seems too fiddly to me.
This would be triple-pressing, right - but you are trying to rule it out, aren't you? Or am I misunderstanding you completely?
What is the metric tensor in imperial units?
User avatar
Walter
Posts: 3070
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

Re: 43S Alternative key layout --> WP43C

Post by Walter »

Enjoy! And then think about your potential users suffering from Parkinson ... ;)
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
Dani R.
Posts: 349
Joined: Fri May 05, 2017 10:23 pm

Re: 43S Alternative key layout --> WP43C

Post by Dani R. »

Yeah, well, then I've actually caused too much confusion. I think the existing solution for f and g with the f/g key is absolutely fine, as is double-clicking for DROP. Long pressing is actually reserved for NOP. But intermediate stages of long pressing are of course conceivable and probably don't bother if they are offered as an alternative operating option. But I will not commit myself to this.


Actually I wanted to concentrate afterwards in my suggestion only on the FN keys. Therefore my current suggestion again differently expressed.
- Pressing the function key [FN] once, normally or briefly triggers the function [FN]
- One extended press of the function key [FN] triggers the function f[FN].
- Pressing the function key [FN] twice triggers the function g[FN].

f[FN] can now be triggered new with an extended press and you get to g[FN] the same way you get to shift status g, i.e. press twice. The gain is "only" one keystroke compared to the known operation with the f/g-shift key. But if you decouple the operation of the FN keys from the logic of the f/g key, I regard this as a gain for the user guidance. f/g keys then no longer have any influence on the soft menus, but only on the triple-assigned keys. But I guess I went one step too many at a time. Yes, I would limit the new type of operation by longer pressing a function key to these function keys for the time being. At least for the moment.


I realize that this new variant of FN key operation probably has to be offered as a configuration option. So that the usual operation still has to be offered.
C47(DM42) SN:00032 WP43 SN:00016
https://47calc.com
Post Reply