Getting Started
Supported Layouts
Keyboard layouts supported by LangSwitcher.
LangSwitcher currently supports 5 keyboard layouts. Layouts are auto-detected from your system keyboard settings — no manual configuration needed.
Layout Table
| Layout | Language | Type | Example |
|---|---|---|---|
| U.S. / ABC | English (EN) | QWERTY | hello world |
| Russian | Russian (RU) | ЙЦУКЕН | привет мир |
| German | German (DE) | QWERTZ | hallo welt |
| French | French (FR) | AZERTY | bonjour monde |
| Spanish | Spanish (ES) | QWERTY (ES) | hola mundo |
How Detection Works
LangSwitcher uses TISCopyCurrentKeyboardInputSource to detect which keyboard layouts are currently enabled in your system. When you press the hotkey, it:
- Identifies the current active layout (what you're typing in now)
- Analyzes the selected text to determine the source layout (what it looks like it was typed in)
- Converts character-by-character using physical key position mapping
Adding More Layouts
More layouts will be added in future versions. If you need a specific layout, please open an issue on GitHub with the layout name and character map.
LangSwitcher is open source — you can add a new layout by creating a
LayoutCharacterMap in Sources/Services/LayoutMapper.swift and submitting a pull request.