zathras / jrpn

JRPN - A Calculator Simulator Inspired by the HP-16C "Computer Scientist" Calculator and the HP-15C Scientific Calculator
https://jrpn.jovial.com/
Other
58 stars 7 forks source link

Improve support for tall and thin phone screen on Android #106

Closed mkende closed 1 month ago

mkende commented 2 months ago

Is your feature request related to a problem? Please describe.

Modern phones have tall and thin screens (with aspect ratio of 20:9 typically), which results in the interface of the calculator to be quite small in portrait mode.

Describe the solution you'd like

See the keyboard layout used by the (now dead) go15c app here. As it uses only 5 columns for the keys instead of 6, they keys can all be wider and taller than they are currently in the jrpn Android app.

Describe any alternatives you've considered

None, but I’m sure there can be other approaches (maybe making the "chrome" around the keys be narrower).

Additional context

Thanks in all cases for your app. I used to use the go15c app which was great but was recently pulled from the play store and that was the opportunity to discover your great app which is more modern and feature full.

zathras commented 2 months ago

Well, if I changed the default layout, I'd probably upset people who had gotten used to it. But I could make it so that one can customize JRPN with a different key layout, using a JSON configuration file. There are a couple of other details that would have to be dealt with, like the gold "CLEAR" label that usuallly goes across multiple keys.

mkende commented 2 months ago

I agree that changing the default layout is not ideal but, maybe simpler than a full configuration file, you could just offer a configuration option between the standard layout and a "tall screen" optimized one.

It would allow to have the keys be significantly larger, so it would help type quickly on phone screens.

pane commented 2 months ago

Well, if I changed the default layout, I'd probably upset people who had gotten used to it. But I could make it so that one can customize JRPN with a different key layout, using a JSON configuration file. There are a couple of other details that would have to be dealt with, like the gold "CLEAR" label that usuallly goes across multiple keys.

Hi Bill, I am happy with the layout and only using landscape mode. If you go for customization, it would be awesome to have those possibilities:

Just hints, not tasks. Thank you for constant improvements. KR P

zathras commented 2 months ago

I like the idea of customizing the keyboard accelerators. One issue I can think of is how to show them, since an embedded font is used. Also, there's only room for two. But I guess the person customizing the calculator could just put in a blank for the label, if the formatting didn't work out on their platform -- and it probably would work out most of the time on most platforms using the platform's default font.

Adding a JSON file for the keyboard layout isn't really harder than hard-coding in a third layout, and it has the advantage that I don't have to decide what the right layout is. I'm sure opinions on that would differ!

mkende commented 2 months ago

All that sounds good, but might not be very easy to use, especially on Android if one need to write a custom JSON file.

Note that I’m not picky about the actual layout that is used. I suggested the one from the go15c project because I find it good, but this feature request is just about the optimization of having 5 columns of keys instead of 6 in vertical layout on Android, as this will result in larger and bigger keys and so an improved usability.

A full customization is of course good, but might be an overkill compared to this simpler goal.

zathras commented 1 month ago

@mkende Check out https://jrpn.jovial.com/help_config.html . The code for this is in the repo, but it'll be a bit before I publish the binary.

You might not be picky about the layout, but someone will be! Also, I figure that anyone who uses a programmer's calculator or a scientific calculator on a regular basis is technical enough to write a simple JSON file.

NOTE TO SELF: I need to hook the new help screen into the help main page just after publishing.

mkende commented 1 month ago

Thanks! I'll try this out as soon as this is pushed to the Android release (or earlier if I can find some time at my computer).

I agree with your point of being able to write the JSON file. My point was rather around the fact that most people will not take the time required for that probably.

One suggestion to make writing it be a little simpler, might be to use the same key coordinate system used in the programming mode of the calculator, to refer to the keys in the config, rather than the accelerator keys (which is not necessarily known by the user, and is a little ambiguous when the accelerators are modified). I don't know if this is worth changing, but you might want to consider it

zathras commented 1 month ago

Using the key codes shown in programming was my first thought, but that turns out to be a little trickier to implement. I figure that making a new keyboard layout is a rare enough occurrence that using the default primary accelerator is fine.

zathras commented 1 month ago

Released in 2.1.15

pane commented 1 month ago

Hi Bill,

For some reason I am not able to run JRPN 15C Win version 2.1.15 solely from unzipped msix (until 2.1.14 this works hunky dory). Only a grey window is shown. I will try the installation from the store (need to do it on another PC later). Also the web link leads to 2.1.14 version only. Shouldn't there be an empty {} json file in the directory? What is the name of it?

Thank you, KR P

On Mon, Aug 5, 2024 at 10:34 PM Bill Foote @.***> wrote:

Released in 2.1.15

— Reply to this email directly, view it on GitHub https://github.com/zathras/jrpn/issues/106#issuecomment-2269869245, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHTLKSRP2J2BP6FZUVQDU3ZP7OVTAVCNFSM6AAAAABJO2TFY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZHA3DSMRUGU . You are receiving this because you commented.Message ID: @.***>

-- @.*** +420 604 221 399

zathras commented 4 weeks ago

For some reason I am not able to run JRPN 15C Win version 2.1.15 solely from unzipped msix (until 2.1.14 this works hunky dory). Only a grey window is shown.

Were you able to figure this out? Maybe something to do with the current working directory?

I will try the installation from the store (need to do it on another PC later).

Also the web link leads to 2.1.14 version only.

Oops, I had forgotten to run that build. That's fixed now.

Shouldn't there be an empty {} json file in the directory? What is the name of it?

No, there isn't. It just defaults to empty.

pane commented 3 weeks ago

For some reason I am not able to run JRPN 15C Win version 2.1.15 solely from unzipped msix (until 2.1.14 this works hunky dory). Only a grey window is shown.

Were you able to figure this out? Maybe something to do with the current working directory?

I have the same result on two machines. I copied all content of 2.1.15 into emptied previously working directory of 2.1.14 with no success, only grey window on both machines. 2.1.14 working with unzipping msix.

I will try the installation from the store (need to do it on another PC later).

Updating via simply running .msix opened updating dialog but stopped because not recognizing authors certificate. Updating via MS store worked flawlessly and 2.1.15 is now current version (on the PC where MS store is allowed).

Also the web link leads to 2.1.14 version only.

Oops, I had forgotten to run that build. That's fixed now.

Working for several days already, thank you.

Shouldn't there be an empty {} json file in the directory? What is the name of it?

No, there isn't. It just defaults to empty.

OK.