Closed nikclayton closed 2 years ago
I'm migrating Open Sudoku development from GitHub to GitLab. To make the migration as clean as possible I'm going to close this issue. If you are still interested (or if it is still relevant), please open it again in GitLab from July 26.
Thank you very much for your understanding.
The mode switch button label (the one that shows "NUM PAD", "POP", or "SN") might be labelled incorrectly compared to existing Android conventions.
Currently, it shows the name of the current mode.
If I compare that to the behaviour of similar keys on a regular Android keyboard they behave differently.
For example, on my stock-Android Pixel 4, the English keyboard has a key labelled "?123" to the bottom right of the keyboard. This is a toggle to switch to the layout that shows numbers and special characters.
While viewing the numbers and special characters keyboard this button is now labelled "ABC". I.e., it indicates the mode you will go to if you press the button, not the current mode.
Concrete proposed changes:
If only one input mode is selected in the options, hide the button in the UI.
Replace the button text with either the https://fonts.google.com/icons?selected=Material%20Icons%20Outlined%3Akeyboard_alt%3A or https://fonts.google.com/icons?selected=Material%20Icons%20Outlined%3Akeyboard%3A or https://fonts.google.com/icons?selected=Material%20Icons%20Outlined%3Adialpad%3A icons.
When the button is pressed either (a) switch to the next input mode, the current behaviour, or (b) pop up a menu listing the input modes and allow the user to select from one of them.
Alternatively, how frequently do users switch between input modes? My intuition suggests that it's very rare -- users probably find an input mode that they like and stick to it. If that is the case, there's a lot of space in the UI currently dedicated to a button that's not getting a lot of use, and it could be removed, with the option moved to the three-dots menu.
[FYI, I'm filing these so that a discussion can happen before I write any code that changes behaviour].