tt9 icon indicating copy to clipboard operation
tt9 copied to clipboard

On-screen keypad improvements

Open sspanak opened this issue 1 year ago • 15 comments

#159 added experimental support for touchscreen-only phones, but it was clear there would be a second phase of small improvements or eliminating things that cause annoyance

Here is the compilation:

  • ~~Add suggestion control keys in a new row, right below the suggestion bar: Filter/Clear filter, Select Previous/Next (after #201 , when there will be separate functions for filtering)~~
  • Vibration on key press (+ a setting)
  • ~~Add proper support for the "upside-down keyboard" setting.~~ - fixed in #432
  • Add "Key Hints" Setting. When enabled, assigned hardware keys would be displayed above the software key icons (or labels)
  • ~~The punctuation keys must change to: # and * when ModeDialer is on and , and ., when Mode123 is on.~~ - done in #358
  • LEFT and RIGHT virtual keys for scrolling suggestions must move the cursor to the respective direction, when there are no suggestions.
  • Replace the Next Mode button icon with this: ⌨
  • Disable the inactive keys in each mode
    • 123: Disable Change Language, Filtering keys and Add Word
    • ABC: Disable Filtering keys
  • Ensure all keys with icons have text equivalents. Settings and Mode do not appear properly in Android <= 5.
  • Make sure the text equivalents have the correct size. For example, "Del" appears oversized on Android 5.

Numeric field bugs:

  • ~~The automatic switching to 123 mode does not trigger key label update~~ - fixed in #265
  • ~~In float fields, typing "," and "." does not work. Punctuation keys do nothing when held.~~ Fixed in #255

sspanak avatar Apr 19 '23 12:04 sspanak

The main page says the following:

For touchscreen-only devices, an on-screen keypad can be enabled in the Settings.

After reading some of the issues you've opened about implementing this feature, I haven't been able to get this software keyboard to display at all...

I'm almost certain I'm doing something wrong, but I'm not sure where exactly I should ask about it.

I am using a Google Pixel 6 with GrapheneOS.

  • Teloshav

Teloshav avatar May 09 '23 20:05 Teloshav

I'm almost certain I'm doing something wrong...

Nope, you are right. :slightly_smiling_face: The code has just been merged to master, which is much ahead of the latest v20.0 release. The on-screen keyboard will be included in v21.0, which will be out in a couple of days.

sspanak avatar May 10 '23 08:05 sspanak

Sounds great! Can't wait to try it out. I'll be looking here every now and again until version 21 comes out.

Is there a way I could get a notification for when this new version comes out? (I am extremely new to Github.)

  • Teloshav

Teloshav avatar May 11 '23 00:05 Teloshav

I'll be looking here every now and again until version 21 comes out.

@Teloshav, the new version is out. Enjoy!

Is there a way I could get a notification for when this new version comes out? (I am extremely new to Github.)

You could give the repo a star or start watching it using the buttons on top and you will start receiving emails about all activity here.

sspanak avatar May 15 '23 07:05 sspanak

I celebrate the addition of the virtual keyboard. It really gives a new life to the project. ❤️

It would be nice if the numbers were somewhat more noticeable than the letters (as in the physical keyboards, I think it would be more readable) and also could hide the letters with accents (in the languages that have them) to help in this regard.

Also the total size of the virtual keyboard could be smaller to not occupy so much screen.

gabriel-tandil avatar Jun 28 '23 13:06 gabriel-tandil

Also the total size of the virtual keyboard could be smaller to not occupy so much screen.

It definitely does. I am thinking of a way of rearranging things on screen without taking away any functionality.

... and also could hide the letters with accents (in the languages that have them)

Well, it is hard to determine which letters are supposed to be hidden. Currently, the virtual keys are configured to display the first 5 characters. This is enough for the languages that have many different letters for a single key and to provide a hint you could type letters with accents on languages with less letters, but having accented ones. I haven't come up with a way of displaying only "the necessary" ones without overcomplicating the code. If you have an idea how to do it in a simple way, please, go ahead and suggest it.

sspanak avatar Jun 29 '23 07:06 sspanak

Well, it is hard to determine which letters are supposed to be hidden

I think that in all cases it could be determined by the character code, since accented letters have higher codes than unaccented ones, but we would have to see if in any language with non-Latin characters this is also true. Otherwise, a (less satisfactory) possibility could be to show fixed the standard English keyboard layout, which almost everybody is used to, even if they do not type in English.

I would like to collaborate with the development and some spanish translations that are missing, I should build myself an environment to develop in android that currently I don't have available.

gabriel-tandil avatar Jun 29 '23 11:06 gabriel-tandil

I think that in all cases it could be determined by the character code, since accented letters have higher codes than unaccented ones, but we would have to see if in any language with non-Latin characters this is also true.

Actually, that's a very good idea. I can certainly filter out the "latin+accents" range and leave out the rest. And as of now, all other languages do not have accented letters, so we can leave them be.

I would like to collaborate with the development and some spanish translations that are missing, I should build myself an environment to develop in android that currently I don't have available.

Oh, please do. Translations are the most difficult part for me, as you can imagine. If it's only the translations, you could probably get away with only editing the respective values.xml file in any text editor. I've set up a CI to do some simple code validation of the code, the pull request will shine in red. It is far from perfect, but it is something.

And if you want to set up Android Studio, it should be fairly simple. Just use the latest version and import the project in it. A couple more configuration steps are described in the Contribution Guide, then you should be good to go.

sspanak avatar Jun 30 '23 07:06 sspanak

@sspanak man, just to say: THANK YOU!!!

I wanted to ditch TouchPal for an OSS Keyboard for many years now and this finally seems to be the way out!!!

maverick74 avatar Jul 26 '23 15:07 maverick74

New to here but loving the keyboard so far but few suggestions, Ive got big thumbs so being able to adjust keyboard size would be great, having a long press function to select individual letters or numbers. Having a caps lock key for cap letters. Combine exclamation and question to have a larger space bar, maybe having a oment bar to free up keyboard space to be able to utilize keyboard space. Just my humble opinion

BUCK113 avatar Mar 10 '24 01:03 BUCK113

Ive got big thumbs so being able to adjust keyboard size would be great...

That's an excellent idea, but I'll probably do it in another round of improvements.

having a long press function to select individual letters or numbers.

You can type any letter by short pressing any number key. Why would you want to do it with a long press? What actually you need to do?

Having a caps lock key for cap letters

This is possible even now. Just type something and press the Next Mode key (the one with the keyboard icon). It allows you to cycle the text case of the current word, before committing it to the text field. See the manual for more info.

Combine exclamation and question to have a larger space bar,

Now this may be tricky. Android does not allow so much flexibility. It may be possible to do it by dynamically changing the "?" and "!" keys width to 0, but I am not entirely sure. If it doesn't work, I'll have to create a new layout just without these two buttons, which I really don't want to do. We'll see, I'll experiment when I get to this task.

sspanak avatar Mar 14 '24 14:03 sspanak

Question: is this bug a requirement to get the on-screen keypad out of the beta label?

I ask this because beta implies a testing state that is subject to frequent bugs and a still not ready for people in general!

For the past months I've been using it, that does not seem to be the case anymore! I think it's pretty stable! (yeah, occasionally there are bugs, but the same is true for software out of beta)!

So I don't know if there is any profit in keeping it labeled as beta unless there is other reasons than bugs...

maverick74 avatar Apr 21 '24 14:04 maverick74

Yes, I still consider it a bit incomplete. Mainly because the left and right keys still can't move the cursor, and because of the broken icons and the oversized text on older Android versions.

But, I guess, I can remove the label sooner than later, it is indeed quite stable.

sspanak avatar Apr 26 '24 18:04 sspanak

Well, the right and left arrows for moving the cursor is more of a feature than a bug! (yeah, I would like that too!!!)

Now about the broken icons and the oversized text... that do seem like an issue worthy of the "bug" label. You seem to already have a nice solution for the icon, however... and I suppose the oversized text you mentioned is where there is no alternative icon and you have to use text instead... (if that's the case, it's a weird behavior! Why doesn't it follow the size set for the other keys?!)

in any case, it does seem you already have a plan (I guess you're just lacking time for it!!! Lol XP)

maverick74 avatar Apr 26 '24 21:04 maverick74

I suppose the oversized text you mentioned is where there is no alternative icon and you have to use text instead... (if that's the case, it's a weird behavior! Why doesn't it follow the size set for the other keys?!)

It's because the icons are actually emojis. And you are correct there is a fallback text when the specific emoji is not available on a given phone. The problem is, I have set a slightly larger font size for the emojis for better readability, but I didn't check if the fallback text looks OK. That's all! It shouldn't be difficult to fix, I just need to find the time for that.

in any case, it does seem you already have a plan (I guess you're just lacking time for it!!! Lol XP)

Exactly!

sspanak avatar May 02 '24 08:05 sspanak