Entering Vi mode removes input method · Issue #9023 · alacritty/alacritty · GitHub
Skip to content

Entering Vi mode removes input method #9023

Open

Description

@TheSunCat

I'm using Alacritty on Plasma Mobile with a touchscreen. During normal usage, my on-screen keyboard stays up. However when I press Ctrl+Shift+Space to go into Vi mode, the keyboard disappears with no way to get it back.

I think it would make sense to keep the keyboard up, to input vi motions.

Activity

  1. chrisduerr commented on Aug 15, 2026

    @chrisduerr
    Member

    I think it would make sense to keep the keyboard up, to input vi motions.

    This makes sense for virtual keyboards, but makes no sense for other IME like CJK for example.

    I'm not sure if there's a great solution for this. If you force-enable your virtual keyboard, does that work?

  2. TheSunCat commented on Aug 15, 2026

    @TheSunCat
    Author

    Unfortunately there's no way to force-enable it on Plasma Mobile, so I think my only choice is to swipe away the window.

  3. chrisduerr commented on Aug 17, 2026

    @chrisduerr
    Member

    I've been thinking about this a bit and unfortunately I think the only way one could make this work is by adding an option that keeps IME active while vi mode is active, but I'm not entirely convinced this is worthwhile for upstream.

    Personally I've never needed this on my phone (I do have the ability to force-enable), but I also never really use vi mode on my phone since it's pretty keyboard heavy.

    Can you elaborate on your usage scenario a bit more? Using vi mode on a phone seems like it would usually be a hassle, since keystrokes like ctrl+shift+space aren't easily pressed.

  4. TheSunCat commented on Aug 17, 2026

    @TheSunCat
    Author

    Yes, of course. I'm using Unfettered Keyboard, which is near-identical to Android's Unexpected Keyboard (see screenshots). This keyboard provides things like Ctrl, arrows, key repeat, etc. It's very useful to use vim itself in Alacritty on my phone, and in general to skip dealing with the inconsistent select/copy/paste interfaces on Linux mobile. In the case of Alacritty, the only way I know to copy-paste text is via Ctrl+Shift+C and Ctrl+Shift+V, which this keyboard can do. When I learned about vi mode, I was hoping to use it to quickly copy the whole scrollback.

    While I do think it's a hack to have users manually enable the keyboard to interact with this, but I also see why it would be an issue for folks using IMEs on a desktop if those show up in vi mode. I don't know enough about Wayland protocols, but would it make sense to only keep the keyboard up if the user doesn't have a physical keyboard connected? This seems like it would satisfy both usecases.

  5. chrisduerr commented on Aug 17, 2026

    @chrisduerr
    Member

    I don't know enough about Wayland protocols, but would it make sense to only keep the keyboard up if the user doesn't have a physical keyboard connected?

    You can check whether the active seat has a keyboard, though unfortunately the virtual keyboard protocol is designed to look like a keyboard to clients, so this doesn't help. I'm not aware of a way to detect the usage of a virtual keyboard.

    I was hoping to use it to quickly copy the whole scrollback.

    In theory you could define a binding that does just that. If this is your only usecase for vi mode, this would be an option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions