WP43 Alternative key layout --> C43

This area is for discussion about these families of custom high-end Scientific Calculator applications for SwissMicros devices.
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 Feb 15, 2020 12:37 pm
I think it needs a text table to list all the special cases.
A dedicated table listing all of them would be nice! :)
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 »

Jaymos wrote:
Fri Feb 14, 2020 11:58 pm
The only negative point for this, is that the NOP will be gone on CLR as I would replace the existing NOP with CLSTK. I could arguably start another NOP timeout after CLSTK is reached...

I will implement a test soon (after importing the new timer based double click code).
I did a PoC of the longpress CLR and in my opinion it works well. Operation of the [<-] key is now:
  • If you press [<-]:
    immediately CLX appears top left, as most buttons do,
    If you release any time before 1 sec expires, it does CLX,
    --If you now press UNDO, the stack is restored.
    If you keep it in longer than 1 sec, the top left display changes to CLSTK,
    If you release before another 1 sec expire, it does CLSTK,
    --If you now press UNDO, the stack is restored.
    If you keep it in after that, the top left times out to NOP,
    If you release it clears NOP and nothing happens.
  • And, if you press [<-]:
    And you release and re-press within 0.5 seconds, it does a DROP. There is no turnaround for DROP, i.e. no NOP timeout.
    --If you now press UNDO, the stack is restored.

Great idea H2X. Now that I have an even better way to do CLSTK even WITH softmenus up, the next question is what candidates do we have to put in place of the CLSTK on F6 (both on no menu and the static HOME)?
  • xth root of y
  • x!
  • X->CPX (with angle 0 and also sets CPXRES)
  • ??
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 »

Exactly as the doctor ordered, Jaymos! :-)

Is where a way to let the HOME menus be defined by configuration files?

That way all users could have their own favourite setup. And might the HOME menus also be used as custom layouts from programs (replacing the original ones as long as the program is running)?
What is the metric tensor in imperial units?
H2X
Posts: 885
Joined: Tue Apr 25, 2017 8:00 am
Location: Norðvegr
Contact:

Re: 43S Alternative key layout --> WP43C

Post by H2X »

Re. the double-click DROP behavior of the [->] key: This came about because two consecutive single clicks didn't do a DROP, right?
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:
Sun Feb 16, 2020 8:25 am
Exactly as the doctor ordered, Jaymos! :-)

Is where a way to let the HOME menus be defined by configuration files?

That way all users could have their own favourite setup. And might the HOME menus also be used as custom layouts from programs (replacing the original ones as long as the program is running)?
It is not impossible and similar to the coming MyMenu in 43S. I like the idea though of a file based config which would allow multiple setups to be managed from the disk.

The existing data structure of the WP43S allows an easy and efficient change to have any specific softmenu content dynamically changed. Martin probably did it this way to easily enable the MyMenu, which is not yet coded. This method would entail the loading of comma separated integer values from a text file on the calculator drive, where the text file would contain the menu content. The softmenu items would be integers representing the function ID numbers (from a lookup table in the manual, eg. pi=744, Logxy=331, cube root=9, etc., just picking examples).

I know what to do, but it is beyond my current capabilities to implement the I/O from file. We will have to wait for MyMenu, and possibly use Martin's procedure to edit MyMenu to also edit the HOME menu.

Thus, on hold until we see how MyMenu will be populated. Unless one of you can experiment to load an array of integers from a CSV file on the drive. If someone can do that, I will integrate a CSV file to the HOME menu. ;-)
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:
Sun Feb 16, 2020 9:16 am
Re. the double-click DROP behavior of the [->] key: This came about because two consecutive single clicks didn't do a DROP, right?
Yes. WP43S and DM42 and HP42S all have just single functionality on the [<-] key, i.e. two consecutive presses will simply clear X twice.

I do not know where the concept comes from originally, but I credit Byron Foster who implemented it on his 42S iPhone app (one of the sleekest and prettiest calculator implementations I have seen, based on a very much older Free42 (1.4.70i)). Maybe it was his idea, maybe it comes from another project.
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:
Sun Feb 16, 2020 5:03 pm
H2X wrote:
Sun Feb 16, 2020 9:16 am
Re. the double-click DROP behavior of the [->] key: This came about because two consecutive single clicks didn't do a DROP, right?
Yes. WP43S and DM42 and HP42S all have just single functionality on the [<-] key, i.e. two consecutive presses will simply clear X twice.

I do not know where the concept comes from originally, but I credit Byron Foster who implemented it on his 42S iPhone app (one of the sleekest and prettiest calculator implementations I have seen, based on a very much older Free42 (1.4.70i)). Maybe it was his idea, maybe it comes from another project.
My instinct says that consecutive single clicks should have done that job - that would make [ENTER] and [<-] more symmetrical, as [ENTER] also has a dual function of pushing the stack up, copying the value of the X register upwards. That is the opposite of what DROP does, right?

Maybe it is a safety measure that [<-] does not work this way, but now that we have UNDO, I say let's throw that safety over board.

I say [<-] should work as it does now until X is empty, and after that DROP the stack, one stack level per click.

(Double-click [<-] does make sense, e.g. to execute an immediate DROP without clearing X first, I just feel there is a lack of symmetry here which is illogical and a missed opportunity.)
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:
Sun Feb 16, 2020 5:20 pm
Jaymos wrote:
Sun Feb 16, 2020 5:03 pm
I do not know where the concept comes from originally, but I credit Byron Foster who implemented it on his 42S iPhone app (one of the sleekest and prettiest calculator implementations I have seen, based on a very much older Free42 (1.4.70i)). Maybe it was his idea, maybe it comes from another project.
Correction, I meant my idea of double clicking comes from him, his method is a little different, in that he does not define a double click to be within 500 ms, he drops after consecutive [<-] presses. I have the safety net as you say it.
H2X wrote:
Sun Feb 16, 2020 5:20 pm
My instinct says that consecutive single clicks should have done that job - that would make [ENTER] and [<-] more symmetrical, as [ENTER] also has a dual function of pushing the stack up, copying the value of the X register upwards. That is the opposite of what DROP does, right?
It does that, except for the 500 ms restriction.
It is as if you have a function eating X, then dropping Y-Z-T-A-B-C&D to X-Y-Z-T-A-B&C while creating a copy of C in D.
I could consider increasing the 500 ms restriction, i.e. lengthening the double click timing, to the 4 second shift time-out value.
H2X wrote:
Sun Feb 16, 2020 5:20 pm
I say [<-] should work as it does now until X is empty, and after that DROP the stack, one stack level per click.
Except, not one stack level per click, but one per 2nd click (whether double click is defined as maximum 500ms or 4s).
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 »

But isn't it true that double-clicking [<-] owes its existence to the fact that single-click becomes NOP when X is empty?

It is just this that I find a bit asymmetrical, and not as harmonious as it could have been.

Don't get me wrong, I am not arguing against double-clicking [<-], although I guess I am saying that there may be one way to DROP missing... :-)
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:
Sun Feb 16, 2020 5:42 pm
But isn't it true that double-clicking [<-] owes its existence to the fact that single-click becomes NOP when X is empty?

It is just this that I find a bit asymmetrical, and not as harmonious as it could have been.

Don't get me wrong, I am not arguing against double-clicking [<-], although I guess I am saying that there may be more than one way to DROP... :-)
0. Let me first redefine the terminology: The FN keys are called double click as it is a very fast double click, in the region of 100 ms. With the [<-] key, it should be called double press, as no fancy logic is involved, only the timeout of 500 ms.

1. Further to your statement above: The NOP problem only exists while the key is being kept pressed, so NOP did not necessitate the double press or double click.

2. My fear at the time was that if the double presses are too far away from one another, that it may confuse. So my safety net was to restrict it to a fast double press operation (500ms).

3. I think that some people have the notion to press the clear a few times to make sure (in their minds) that they have pressed clear. That holds true for the CLSTK too. (I don't ;-), just saying. ).

4. If I take the argument to the logical conclusion: In your proposal, where the steps are:
a. clear X
b. for every [<-] directly after that, DROP.
The question arises whether your proposal needs a 0 in X? Do you need CLX at all? Why not drop on each [<-]?

5. Is the solution not to have an option in CFG, to be able to simply select if you want "[<-] to do an immediate DROP (instead of CLR)", i.e. a CheckBox option. That is very easy to add.
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.
Post Reply