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.
|
|
🙌 Meet my new app: Refine, a local Grammarly alternative that runs 100% offline 🤩
- Set a default input source per application.
- Set input sources per website when using supported browsers (Safari, Chrome, Arc, Edge, Vivaldi, Opera, Brave, Firefox, Zen, Dia, and more).
- Switch automatically as you move between apps/websites.
- Shows your current input source with a clean on-screen indicator.
- Customizable and designed to stay out of your way.
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.
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.
Switch input sources via either:
- Keyboard Shortcuts: Use standard key combinations.
- Single Modifier Shortcuts: Use a single key (Shift, Control, Option, or Command), triggered by pressing once or double-tapping.
brew install --cask input-source-proDownload the latest release from the Releases page.
This project is made possible by all the sponsors supporting my work:
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.
- Bug Reports: Please submit bug reports via GitHub Issues. Check existing issues first!
- Feature Requests & Questions: For suggesting new features, asking questions, or general discussion, please use GitHub Discussions.
- Code of Conduct: Please note that this project adheres to our Code of Conduct. By participating, you are expected to uphold this code.
Play mechanical keyboard sounds when typing. This section documents the sound file specifications for contributors who want to add or modify keyboard sound effects.
| Property | Requirement |
|---|---|
| Format | WAV |
| Encoding | PCM (AVAudioPlayer compatible) |
| Sample Rate | 44.1kHz or 48kHz recommended |
| Channels | Mono or Stereo |
| Bit Depth | 16-bit |
| Duration | 50-150ms (short, crisp keypress sound) |
| File Name | Switch Type | Description |
|---|---|---|
keyboard_Blue.wav |
Blue Switch | Loud and clicky |
keyboard_Red.wav |
Red Switch | Smooth and quiet |
keyboard_Brown.wav |
Brown Switch | Tactile feedback |
keyboard_Black.wav |
Black Switch | Heavy and smooth |
keyboard_Clear.wav |
Clear Switch | Strong tactile bump |
keyboard_Silver.wav |
Silver Switch | Fast and light |
- Debounce Interval: 20ms minimum between sounds to prevent overlap
- Volume Control: 0.0 ~ 1.0 (default 0.5)
- Playback Mode: Reset position on each keypress
Sound files must be placed in the Xcode project Bundle resources, ensuring they are included in Build Phases → Copy Bundle Resources.
Clone the repository and build it using the latest version of Xcode:
git clone [email protected]:runjuu/InputSourcePro.gitThen open the project in Xcode and hit Build. 🍻
Input Source Pro is licensed under the GPL-3.0 License.