On Android using Vim mappings, Esc sometimes doesn't take

Steps to reproduce

  1. Use an Android soft keyboard that uses suggestions (as most do) and has an Esc key. Hacker’s Keyboard can do this; so can Heliboard, but you’ll have to customise the layout to add an Esc key.
  2. Enable Vim mode in Obsidian.
  3. Type a word into a note, but do not type anything more. Do not do anything to accept a suggestion. You will know you are in the right state when your cursor is immediately to the right of the last letter of the word, and the word is underlined, indicating the suggestion feature is active.
  4. Press Esc to exit insert mode.

Did you follow the troubleshooting guide? [Y/N]

Yes.

Expected result

The editor is now in Vim normal mode.

Actual result

The editor remains in insert mode. Normal mode mappings are not active. The cursor remains a bar, instead of becoming a block.

Environment

SYSTEM INFO:
Operating system: android 15 (samsung SM-S911B)
Obsidian version: 1.8.10 (197)
API version: v1.8.10
Login status: not logged in
Language: en
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: on

RECOMMENDATIONS:
none


Additional information

I don’t normally use Hacker’s Keyboard, but while using it to debug this I noticed some potentially helpful debug information in its settings UI.

I think it’s saying something about how the Android input API is set when the bug is happening.

Tested with Heliboard 3.0 and Hacker’s Keyboard 1.40.7.

hello.

  1. We don’t support vim on mobile without a physical keyboard not even if you using hackers’ keyboard. Sorry!
    Support VIM on mobile without a physical keyboard (implement extended virtual keyboard)

  2. I am not sure we can solve the problem you are experiencing because the soft keyboard is still managing the input text there.

I figured this isn’t a priority, just thought I’d document it for posterity. You never know, maybe two years down the line it helps solve some apparently unrelated issue.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.