Helium314 / HeliBoard

Customizable and privacy-conscious open-source keyboard
Apache License 2.0
2.25k stars 84 forks source link

Add direct access to system spell checker selection #572

Open markokocic opened 6 months ago

markokocic commented 6 months ago

I have GBoard keyboard installed. There, when I type using Gboard, it checks spelling and marks wrongly spelled words with red underline. This works correctly.

Then I switched to HeliBoard, installed Serbian and Russian language and dictionaries and swype library. When typing in those two languages, correct words from the dictionary are suggested and input works properly.

However, in the text area / input box, those same correct words are not recognised as correct and underlined in red. Furthermore, an option is displayed here to add those words to the custom dictionary. Why?

The only way to disable this underlining is to go back to Gboard settings, and disable spelling checks there. Or to disable Gboard completely as an input method.

At this point, I'm not sure if it's an issue with HeliBoard or Android.

Uranusek commented 6 months ago

The only way to disable this underlining is to go back to Gboard settings, and disable spelling checks there. Or to disable Gboard completely as an input method.

It looks like Gboard is spellchecker, not HeliBoard. Change the spellchecker to HeliBoard in your phone settings.

markokocic commented 6 months ago

Hm, maybe I'm doing something wrong, but I can't find anywhere an option to choose HeliBoard as spellchecker. I can only go to Gboard and enable/disable there.

Using the latest HeliBoard release from GitHub.

markokocic commented 6 months ago

Ok found the issue. My phone, OnePlus doesn't have a way to access spell checker configuration settings. I mitigated that by installing "Activity Launcher" application from F-Droid store and starting the Spellchecker settings from there.

Now, I can close this ticket. However, it may be convenient for HeliBoard to have a check if it is set as a spell checker and to start spellchecker settings from it's settings page.

Helium314 commented 5 months ago

Not being able to set it (without special tricks) is quite bad. Are you sure the OnePlus doesn't allow it? On my phone on LineageOS 16 it's quite hidden in Settings -> System -> Languages -> Advanced -> Spell Checker.

I didn't find any way of setting the spell checker from within HeliBoard.

markokocic commented 5 months ago

No, unfortunately there's no such settings in the UI. In used Activity Launcher to start an activityh directly.

I think you can also statt the activity from HeliBoard using com.android.settings.Settings$SpellCheckersSettingsActivity as an activity class. At least that's how Activity Launcher is starting it.

Helium314 commented 5 months ago

On one hand it would help for cases such as yours, on the other hand it might not work for everyone. Previously two system activities could be started from the app (language/layout selection and personal dictionary), and both caused issues because they woudl crash for some users...

fievel commented 5 months ago

I think you should add a hint somewhere in the app settings to advice user to change default Android spell engine (and give some clue to find the setting)

nach0 commented 5 months ago

On my phone on LineageOS 16 it's quite hidden in Settings -> System -> Languages -> Advanced -> Spell Checker.

THAN YOU FOR THIS INFORMATION!

I feel like this is very important information that should be added to the README and FAQ (or maybe it's already there and I missed it). I've been struggling with this for months since I also have OpenBoard installed (it's the System keyboard on my OS) and of course the default spell checker was still OpenBoard.

Helium314 commented 5 months ago

Readme updated

alpex8 commented 5 months ago

Also here on an OnePlus Device. Thanks for the hint on the Activity Launcher App. This solved the problem for me as well!

Would it be an option to add a button to the heliboard settings which jumps to the option dialog for switching the spell checking engine?