FossifyOrg / Keyboard

Easy keyboard for inserting all kinds of texts, special characters and numbers.
https://www.fossify.org
GNU General Public License v3.0
285 stars 25 forks source link

Add a keyboard switching option #76

Open Philippe-Choquette opened 2 months ago

Philippe-Choquette commented 2 months ago

Checklist

Feature description

Provide a way to quickly change to another installed keyboard app rather than requiring the user to make the change at the Android settings level.

Google Gboard and FUTO Keyboard have this capability when holding the spacebar. I'm not sure if this is the best way to implement it or not.

Why do you want this feature?

This feature would improve usability by allowing users to switch to other keyboards when needed, as each keyboard has its own strengths and weaknesses. This is especially useful given that Fossify Keyboard is still in early development.

Additional information

No response

luewolf commented 2 months ago

Android 13 provides this out of the box. A keyboard icon is automatically displayed next to the back, home and running apps keys if multiple keyboards are enabled. Clicking on it allows selecting another keyboard. Might be interesting for people using Android <13 though. I don't know how it's handled in Android 14.

android_keyboard_switch_key

Philippe-Choquette commented 2 months ago

@luewolf Very useful tip!! Sadly, it only applies if you use system navigation with the buttons at the bottom of the screen. My device is on Android 14 and by default, it uses gestures for navigation; OEMs probably prefer this option because it maximizes screen real estate.

Screenshot_20240915_141908.jpg

luewolf commented 2 months ago

Good point. It would make sense to add an optional key that can be enabled/disabled in the settings, then.

@Philippe-Choquette where on the keyboard layout would you place the keyboard switching key?

Philippe-Choquette commented 2 months ago

I'm no UI expert, but if we compare with other keyboards ~


Gboard Holding the spacebar invokes the system keyboard change menu.

Screenshot_20240917_142832.jpg

Gboard has an advantage against other keyboards because it adds input languages directly to the system keyboards, so it doesn't require a proprietary language switching menu.


FUTO Keyboard Holding the spacebar invokes its proprietary language switching menu. You can then tap "Switch keyboard" to pick another keyboard.

Screenshot_20240917_142758.jpg

You can also add an optional language switching button to the top bar, but it's only designed to switch between the languages on FUTO Keyboard.


Fossify Keyboard already has a proprietary language switching menu invoked when holding the emoji key. So the easiest implementation would be to follow the FUTO Keyboard implementation and add a "Switch keyboard" button to that menu. There could be 10 different ways to implement this tho, and I don't know which would be best.

naveensingh commented 2 months ago

adds input languages directly to the system keyboards

Those are called IME subtypes. I think Gboard does it best but it's not as quick-n-easy as just-add-another-dialog option.