Pressing <Esc> won't let me leave insert mode (VSCode Web, Vivaldi Browser)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
Describe the bug
I was testing out VSCodeVim on VSCode Web running on Vivaldi Browser, which I started using lately. Most of the features seem to be working as I expected, but apparently, I cannot leave insert mode by pressing <Esc> key. I have tested it on other browsers such as Google Chrome and Firefox, and it seems the bug is specific to Vivaldi Browser.
I have opened the "Developer: Toggle Keyboard Shortcuts Troubleshooting" console, and the result is as follows when I press <Esc> key in insert mode. (I suppose that at least the keybinding is correctly detected by the web app.)
2024-05-06 16:22:32.737 [info] [KeybindingService]: | Resolving Escape
2024-05-06 16:22:32.737 [info] [KeybindingService]: \ From 68 keybinding entries, matched extension.vim_escape, when: editorTextFocus && vim.active && !inDebugRepl, source: user extension vscodevim.vim.
2024-05-06 16:22:32.740 [info] [KeybindingService]: / Received keydown event - modifiers: [], code: Escape, keyCode: 27, key: Escape
2024-05-06 16:22:32.740 [info] [KeybindingService]: | Converted keydown event - modifiers: [], code: Escape, keyCode: 9 ('Escape')
2024-05-06 16:22:32.740 [info] [KeybindingService]: | Resolving Escape
2024-05-06 16:22:32.741 [info] [KeybindingService]: \ From 68 keybinding entries, no when clauses matched the context.
Although, it seems like I can get out of insert mode by pressing jj, after adding
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
],
to my settings.json.
To Reproduce
Steps to reproduce the behavior:
- Enter insert mode
- Press
<Esc>key - See that the cursor is not blinking anywhere
Expected behavior
Pressing <Esc> would normally let you leave insert mode, i.e. move to normal mode. However, the cursor won't be blinking anywhere, and if I click the editor panel again, the cursor will start to blink again, but I will still be in normal mode.
Environment (please complete the following information):
- Version:
1.89.0 - Commit:
b58957e67ee1e712cebf466b995adf4c5307b2bd - User Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 - Embedder: vscode.dev
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in VSCode Web with Vivaldi by entering insert mode and pressing Escape, then compare the result with Chrome or Firefox. Inspect the Developer: Toggle Keyboard Shortcuts Troubleshooting output; done means Escape reliably leaves insert mode in Vivaldi without requiring a click or jj mapping.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100