You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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.
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.
Activity
chrisduerr commentedon Aug 15, 2026
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?
TheSunCat commentedon Aug 15, 2026
Unfortunately there's no way to force-enable it on Plasma Mobile, so I think my only choice is to swipe away the window.
chrisduerr commentedon Aug 17, 2026
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.
TheSunCat commentedon Aug 17, 2026
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.
chrisduerr commentedon Aug 17, 2026
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.
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.