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

LayoutLanguageTypeExample
U.S. / ABCEnglish (EN)QWERTYhello world
RussianRussian (RU)ЙЦУКЕНпривет мир
GermanGerman (DE)QWERTZhallo welt
FrenchFrench (FR)AZERTYbonjour monde
SpanishSpanish (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:

  1. Identifies the current active layout (what you're typing in now)
  2. Analyzes the selected text to determine the source layout (what it looks like it was typed in)
  3. 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.
Copyright © 2026