Keyboard Layout Switcher
kblswitch — это сверхлегкая утилита для Windows, предназначенная для переключения раскладки клавиатуры одной клавишей с визуальным уведомлением (OSD).
Программа служит "мостом": она перехватывает нажатие удобной для вас клавиши (например, Right Alt) и эмулирует стандартную системную комбинацию (например, Ctrl+Shift), выводя при этом текущий язык ввода по центру экрана.
- Переключение одной клавишей: Используйте любую клавишу (по умолчанию Правый Alt) вместо неудобных сочетаний.
- Визуальное уведомление (OSD): Полупрозрачное окно в центре экрана показывает текущий язык (EN, RU и т.д.).
- Исправление последнего слова с переключением раскладки:
F8исправляет RU→EN и переводит ввод на английский,F9исправляет EN→RU и переводит ввод на русский. - Новый режим "Всегда на экране": Закрепите OSD-окно, чтобы оно всегда было видимо. Его можно перемещать по экрану, а его прозрачность настраивается. Управляется через меню в трее.
- Современный вид: Поддержка скругленных углов окна (native rounding) для Windows 11.
- Анимация: Плавное затухание (fade-out) уведомления.
- Системный трей: Иконка в трее для быстрого доступа и выхода.
- Полная настройка: Все параметры (клавиша, комбинация, цвет, режим OSD) хранятся в
kblswitch.ini. - Минимализм: Написано на чистом C (WinAPI), потребляет минимум ресурсов, не требует установки.
- Скачайте последний релиз или скомпилируйте программу самостоятельно.
- Разместите файл
kblswitch.exeв любой удобной папке. - (Опционально) Создайте файл
kblswitch.iniрядом с программой для настройки (см. ниже). - Запустите
kblswitch.exe. - Для автозагрузки просто добавьте ярлык программы в папку
shell:startup.
При запуске программа ищет файл kblswitch.ini в текущей директории. Если файл отсутствует, используются настройки по умолчанию (Right Alt -> Ctrl+Shift).
Пример конфигурации:
[Settings]
; Код клавиши, которая будет переключать язык.
; 165 = VK_RMENU (Правый Alt)
; 91 = VK_LWIN (Левая Win)
; 20 = VK_CAPITAL (Caps Lock)
Key=165
; Горячие клавиши исправления последнего слова.
; 119 = VK_F8: исправить русские символы в английское слово и переключить ввод на EN (руддщ -> hello)
; 120 = VK_F9: исправить латинские символы в русское слово и переключить ввод на RU (ghbdtn -> привет)
; 0 отключает соответствующую функцию.
FixRuToEnKey=119
FixEnToRuKey=120
; Системная комбинация, настроенная в Windows для смены языка.
; Программа будет "нажимать" её за вас.
; Возможные значения: Ctrl, Shift, Alt (можно комбинировать через +)
Modifiers=Ctrl+Shift
; Цвет фона OSD окна в формате HEX (RRGGBB).
; По умолчанию серый (7E7E7E).
Color=7E7E7E
; Постоянное отображение OSD окна (1 - да, 0 - нет).
; Если включено, окно будет всегда видимо, его можно перемещать.
; Также можно переключить через меню в трее.
always_show_osd=0
; Прозрачность OSD окна в режиме постоянного отображения (от 0 до 255).
; 0 - полностью прозрачное, 255 - непрозрачное.
osd_alpha=220По умолчанию доступны две горячие клавиши:
F8— исправить последнее слово из русской раскладки в английскую и переключить ввод на английский:руддщ→hello.F9— исправить последнее слово из английской раскладки в русскую и переключить ввод на русский:ghbdtn→привет.
Функция работает с текущим словом под курсором, а также с последним словом после пробела или знака препинания. После успешного исправления программа переключает активное поле ввода в язык результата: F8 — EN, F9 — RU. Для надежности лучше нажимать горячую клавишу сразу после ошибочно набранного слова.
Проект поддерживает сборку через CMake, что обеспечивает кроссплатформенность и удобство.
Требования:
- CMake 3.10 или выше
- Компилятор C (MSVC для Windows, MinGW или другой совместимый)
Быстрая сборка (Windows):
# Создать директорию для сборки
mkdir build
cd build
# Сгенерировать проект
cmake .. -G "Visual Studio 17 2022"
# Собрать проект
cmake --build . --config ReleaseИсполняемый файл будет создан в build/bin/Release/kblswitch.exe
Или используйте готовый скрипт:
build_cmake.batПодробные инструкции по сборке с CMake см. в README_CMAKE.md.
Используйте build.bat для сборки с помощью Microsoft C/C++ компилятора:
build.batЭтот метод требует установленных инструментов Visual Studio Build Tools.
kblswitch.c- основной исходный кодresource.h,resource.rc- файлы ресурсовapp.ico- иконка приложенияkblswitch.ini- файл конфигурацииCMakeLists.txt- конфигурация CMakebuild.bat- скрипт сборки (оригинальный)build_cmake.bat- скрипт сборки через CMakeREADME_CMAKE.md- документация по сборке с CMake
- Форкните репозиторий
- Создайте ветку для вашей функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Распространяется под лицензией MIT. Подробности см. в файле LICENSE.
- Сообществу разработчиков Windows
- Всем тестерам и пользователям, предоставившим обратную связь