- Published on
Introduce Swype - My Input Source Switcher
- Authors

- Name
- Kiet
I’m currently using three input methods: Vietnamese, English, and Japanese, and I found that the default input method switcher in macOS is too time-consuming. It’s very stable and quick if you’re using only two input methods, but when you have three or more, you’ll soon realize that the default input source switcher takes more time than you might expect.
That’s why I wanted to use a different way to switch the input source in macOS. I tried many other apps before building my own, but none of them met my needs. So, I decided to build one myself with only SwiftUI and add some features that I think are valuable (at least to me).
Feature
Swype will have three features in the current version.
- Pre-defined shortcuts switch.
- Overlay indicator.
- Auto switch with
Esc.
Pre-defined shortcuts switch

This feature is very simple and straightforward. You define a shortcut for each input method, and then use that shortcut to switch.
Overlay indicator

You can use this feature if you don’t like the default MacOS input source switch indicator. In my opinion, the default UI is very beautiful, and if you’re using the Sonoma version, you’ll be impressed. However, the problem is that it’s hard to see and know when the input method has switched. This feature creates a full-screen overlay on your screen, large enough to clearly show the new input method, and you can adjust the size as well.
If you have multiple displays, you can select the All screens overlay option, which I find useful in some cases.
Additionally, you can configure the overlay’s text color, background color, display duration, font size, and more.
Auto switch with Esc

As a Vim user, I also find it time-consuming even after building this application with the two features mentioned above. I can use a predefined shortcut to switch to the English keyboard after exiting Vim’s insert mode, but it costs me an extra keystroke to press the shortcut. 👿 With this feature, you can simply exit Vim’s insert mode with the Esc key, and this application will listen for the Esc key press event and change to your preferred input method after exiting insert mode. The good thing is that the application only listens for the Esc key and does not override its current behavior, so you don’t need to worry about any Esc key press event conflicts. Just turn on this option, and no more Japanese or Vietnamese in Vim’s normal mode — happy Vimmer 🎉
