Input Source Pro Logo

Input Source Pro

Switch and track your input sources with ease ✨

Website · Releases · Discussions

> **Input Source Pro** is a free and open-source macOS utility designed for multilingual users who frequently switch input sources. It automates input source switching based on the active application — or even the specific website you're browsing — significantly boosting your productivity and typing experience.
Switch Keyboard Based on App Switch Keyboard Based on Browser

🙌 Meet my new app: Refine, a local Grammarly alternative that runs 100% offline 🤩


## Features ### 🥷 Automatic Context-Aware Switching - Set a default input source per **application**. - Set input sources per **website** when using browsers (Safari, Chrome, Arc, Edge, Vivaldi, Opera, Brave, Firefox, Zen, Dia, and more). - Switch automatically as you move between apps/websites. ### 🐈‍⬛ Elegant Input Source Indicator - Shows your current input source with a clean on-screen indicator. - Customizable and designed to stay out of your way. ### ✍️ App-Aware Punctuation Modes Keep punctuation consistent across different languages by enabling **Force English Punctuation** for specific apps. - Automatically types standard symbols (`` ` ~ - _ $ ^ , . ; ' " [ ] ``) even when your current input source would normally produce localized or full-width characters. - Enable it only for the apps where you need it, such as code editors or terminal windows. ### 🎛️ App-Based Function Key Switching Automatically switch your macOS function key mode per app. - Choose whether an app should use **F1 ~ F12** as: - **Standard Function Keys**: Acts as standard F1 ~ F12 keys. Ideal for IDEs (e.g., VSCode) and games. - **Media Keys**: Triggers special features printed on the keys (e.g., brightness, volume, playback). Ideal for general daily use. - Falls back to your system-wide/default setting when an app has no override. ### ⌨️ Custom Shortcuts Switch input sources via either: - **Keyboard Shortcuts**: Use standard key combinations. - **Modifier Shortcuts**: Use single or combined modifier keys (e.g., Shift, Command, or Shift + Command), triggered by pressing once or double-tapping. ### 😎 And Much More... image ## Installation ### Using Homebrew ```bash brew install --cask input-source-pro ``` ### Manual Download Download the latest release from the [Releases page](https://inputsource.pro/changelog). ## Sponsors This project is made possible by all the sponsors supporting my work:

Logos from Sponsors

## Contributing Contributions are highly welcome! Whether you have a bug report, a feature suggestion, or want to contribute code, your help is appreciated. * For detailed contribution steps, setup, and code guidelines, please read our [**Contributing Guidelines**](CONTRIBUTING.md). * **Bug Reports:** Please submit bug reports via [**GitHub Issues**](https://github.com/runjuu/InputSourcePro/issues). Check existing issues first! * **Feature Requests & Questions:** For suggesting new features, asking questions, or general discussion, please use [**GitHub Discussions**](https://github.com/runjuu/InputSourcePro/discussions). * **Code of Conduct:** Please note that this project adheres to our [**Code of Conduct**](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. ## Building from Source Clone the repository and build it using the latest version of Xcode: ```bash git clone git@github.com:runjuu/InputSourcePro.git ``` Then open the project in Xcode and hit Build. 🍻 ## Star History Star History Chart ## License Input Source Pro is licensed under the [GPL-3.0 License](LICENSE).