Julow / Unexpected-Keyboard

A lightweight virtual keyboard for developers.
GNU General Public License v3.0
1.25k stars 168 forks source link

Feature request: persistent keyboard #638

Closed AnabasisXu closed 1 month ago

AnabasisXu commented 1 month ago

I am trying out the Android native version of Emacs (not the Termux one, which is also great). One huge annoyance is that the keyboard may keep disappearing if you happen to swipe left. Making the keyboard come back means you have to find somewhere to input, which can be quite a hassle.

So, is it possible to make the keyboard stay there?

Julow commented 1 month ago

By swipe left do you mean the "back" gesture ? The hassle of invoking the keyboard seems like a bug in the Emacs app.

AnabasisXu commented 1 month ago

Right, the back gesture.

What really kills the Emacs app for is that the Evil mode -- the vim-like editing state-- is quite unstable. In contrast, the termux version works without any problem.

Perhaps I have to wait until Emacs app getting better.

AnabasisXu commented 1 month ago

A note to anyone using Evil on Android native Emacs, please use the following setting:

(setq overriding-text-conversion-style nil)

Otherwise, the input app will always try to analyze text conversion when you type Spc on normal mode:

<text-conversion>       ;; analyze-text-conversion
Julow commented 1 month ago

With that new clue, is here anything the keyboard can do better ?

AnabasisXu commented 1 month ago

Hi @Julow, upon further investigation into the issues I found that others have already requested forcibly show the keyboard:

https://github.com/Julow/Unexpected-Keyboard/issues/69#issuecomment-1179583205

Unfortunately, the mechanism for doing that has been removed in Android 12 (the SHOW_FORCED flag has been deprecated and has changed meaning at the same time).

For users of Android 11 or below, this is still possible but I'd prefer not to invest time in it, as it won't be long until I have to explain why it doesn't work anymore after an upgrade.

I don't know if there's a different solution but couldn't find any yet, please re-open if that's the case.

It would be great if somekind of workaround can be found for Android 11 and above. But if this is too challenging, never mind. Thank you so much!