Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
mkende opened this issue Jun 17, 2024 · 15 comments
Closed

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

mkende opened this issue Jun 17, 2024 · 15 comments
Assignees
Labels
enhancement New feature or request Fixed in repo

Comments

@mkende
Copy link

mkende commented Jun 17, 2024

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 zathras self-assigned this Jun 18, 2024
@zathras zathras added the enhancement New feature or request label Jun 18, 2024
@zathras
Copy link
Owner

zathras commented Jun 18, 2024

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
Copy link
Author

mkende commented Jun 19, 2024

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
Copy link

pane commented Jun 30, 2024

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:

  • assign more than 1 key (on computer) to the calculator key - such as arrows for SST, BST
  • allow menu (15C logo on the mobile app) modification such as "See internals" is going up from buried down in the menu to the single press, or it could be moved to display menu (or even new dedicated button?)
  • allow PC shortcuts (See internals)

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

@zathras
Copy link
Owner

zathras commented Jul 2, 2024

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
Copy link
Author

mkende commented Jul 2, 2024

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 added a commit that referenced this issue Jul 10, 2024
zathras added a commit that referenced this issue Jul 10, 2024
@zathras
Copy link
Owner

zathras commented Jul 10, 2024

@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
Copy link
Author

mkende commented Jul 10, 2024

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
Copy link
Owner

zathras commented Jul 12, 2024

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
Copy link
Owner

zathras commented Aug 5, 2024

Released in 2.1.15

@zathras zathras closed this as completed Aug 5, 2024
@pane
Copy link

pane commented Aug 7, 2024 via email

@zathras
Copy link
Owner

zathras commented Aug 10, 2024

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
Copy link

pane commented Aug 12, 2024

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.

@foubarre
Copy link

foubarre commented Oct 3, 2024

Here is a JRPN15c tall portrait layout that works for me on a Pixel 7 Pro phone.
I like portrait mode as I mostly use use my phone in portrait mode and frequently need to quickly switch between JRPN and other apps.
I kept layout close to the original one as I also use a standalone HP15c and it confuses me less:

  • right half of the keyboard is moved underneath the left half
  • just a few additional usability tweaks:
    • move frequently used "enter" key up to be in the middle
    • move infrequently used "on" key to lower left corner
{
"accelerator_labels": {
 "\n": "⏎␠",
 "N": "NZ"
},
"accelerators": {
 " ": "\n",
 "!": "lcd_grow",
 "#": "lcd_window",
 "$": "internals",
 "%": "back_panel",
 "@": "lcd_shrink",
 "Z": "N"
},
"portrait": {
 "buttons": [
  [ "A", "B", "C", "D", "E" ],
  [ "]", "L", "S", "O", "T" ],
  [ "[", "U", "V", "Y", "\b" ],
  [ "\n", "F", "G", "M", "R" ],
  [ null, "7", "8", "9", "/" ],
  [ "H", "4", "5", "6", "X" ],
  [ "P", "1", "2", "3", "-" ],
  [ "N", "0", ".", "W", "+" ]
 ],
 "logo": [ 0.0, 0.0, 0.0, 0.0 ],
 "size": [ 6.8680000000000003, 14.0688 ],
 "top_labels": [
  [ "CLEAR", 1.8300000000000001, 5.5576509999999999, 4.3433000000000002, 0.21999999999999975 ]
 ]
}
}

@pane
Copy link

pane commented Oct 5, 2024

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 just tried to run both 15C and 16C from simple unzipped package (I noticed it is zip not msix now) of the new 2.1.16 release for Windows and both work fine. Thank you again for improvements in the new version.

KR
P

@zathras
Copy link
Owner

zathras commented Oct 5, 2024

I just tried to run both 15C and 16C from simple unzipped package (I noticed it is zip not msix now) of the new 2.1.16 release for Windows and both work fine.

I'm glad it worked; thanks for letting me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Fixed in repo
Projects
None yet
Development

No branches or pull requests

4 participants