Per-app keyboard input on macOS
Set a different input source for each app on Mac
If your Mac day mixes coding in English with messaging, writing, or research in another language, one global keyboard layout is not enough. InputSwitcher lets you assign one default input source per app so the right language follows the app you are using.
Why multilingual Mac users search for this
- • You switch from coding to chat and immediately type in the wrong language.
- • You keep hitting the macOS shortcut just to recover from app changes.
- • You want one default input for each app, not one global input for the whole Mac session.
- • You lose focus correcting gibberish in Terminal, search bars, forms, and messages.
Short answer
macOS does not give most users a clean built-in way to keep a different keyboard language for each app automatically.
InputSwitcher fills that gap: set one rule per app, then let the active app decide whether your keyboard should be English, Chinese, Japanese, Korean, or another input source.
What per-app input switching looks like in real life
The main goal is simple: each app opens with the input source that best matches the task, so you stop correcting yourself after every context switch.
Developer setup
ABC / English
VS Code, Cursor, Xcode, Terminal
Commands, code, file paths, and shortcuts stay predictable while you work.
Team communication
Chinese, Japanese, Korean, or another preferred language
Slack, Telegram, WeChat, Messages
Replies are ready in the language you actually use with teammates, clients, or family.
Research and writing
Depends on the task
Safari, Chrome, Notes, Google Docs, Notion
Switch between reading, drafting, and note capture without checking the menu bar every time.
How to set a different keyboard language for each app on Mac
- 1
Download InputSwitcher and move it to Applications.
- 2
Grant Accessibility permission so the app can detect active-app changes and switch input sources.
- 3
Create rules like VS Code → ABC, Terminal → ABC, WeChat → Pinyin, Messages → Japanese, or any setup that matches your workflow.
- 4
Use your Mac normally and let the input source follow the app context automatically.
Why this matters
You remove a tiny but repeated source of friction
Manual input switching feels small until it happens dozens of times a day. The cost is not just one shortcut. It is broken attention, wrong-language typing, corrections, and hesitation every time you move between app contexts.
Per-app input rules make the Mac feel more aligned with how multilingual work actually happens: code here, chat there, notes somewhere else, each with its own language expectation.
Typical first setup
Terminal / VS Code / Cursor / Xcode → ABC or English
Slack / Telegram / WeChat / Messages → your communication language
Browser / Notes / Docs → whatever language best fits the task
Ready to stop switching keyboard input manually?
Download InputSwitcher, assign one input source per app, and let your Mac switch automatically when your context changes.