> ## Content Index
> Fetch the complete content index at: https://blog.themarfa.name/llms.txt
> Use this file to discover other available public pages before exploring further.

# Как зафиксировать раскладку клавиатуры для конкретного приложения
- URL: https://blog.themarfa.name/kak-zafiksirovat-raskladku-klaviatury-dlia-konkrietnogho-prilozhieniia/
- Published: 2025-03-30T11:07:26.000Z
- Updated: 2025-04-01T06:28:44.000Z
- Description: Windows может запоминать раскладку для каждого приложения, или можно настроить AutoHotkey-скрипт, чтобы менять её автоматически.
- Author: Константин Докучаев
- Tags: Windows, AutoHotkey

При написании кода (да и вообще при работе за компьютером) часто хочется, чтобы при открытии конкретного приложения для него по умолчанию активировалась определённая раскладка. На Windows есть пара вариантов, как решить эту проблему.

### Системными средствами

Windows 10 и выше может запоминать начальную раскладку для приложений. На Windows 11 для этого нужно перейти в настройки системы, далее открыть раздел **Время и язык**, далее **Язык и регион** \> **Ввод** \> **Дополнительные параметры клавиатуры**.

В открывшихся настройках нужно поставить галочку напротив пункта **Позволить выбирать метод ввода для каждого окна приложения**.

![](https://storage.ghost.io/c/71/cf/71cf070c-b8aa-467e-9efd-cf18f7dcf253/content/images/2025/03/------------1.png)

Теперь для каждого приложения будет использоваться своя раскладка. Если в Telegram вы печатали на русском, а в IDE на английском, то именно эти раскладки и будут сохраняться при переключении между приложениями.

### С помощью AutoHotkey

Многие из вас уже пользуются утилитой для автоматизации [**AutoHotkey**](https://www.autohotkey.com/). С её помощью можно тоже управлять процессом переключения раскладки, но придётся приложить чуть больше усилий.

💡

[Топ программ с GitHub, которые не требуют установки](https://blog.themarfa.name/top-proghramm-s-github-kotoryie-nie-triebuiut-ustanovki/)

Создайте файл скрипта AutoHotkey с таким кодом:

```
SetTimer(CheckActiveWindow, 500) ; Проверяем активное окно каждые 500 мс

CheckActiveWindow() {
    hWnd := WinExist("A") ; Проверяем, есть ли активное окно
    if (!hWnd)
        return ; Если нет активного окна, выходим

    activeProcess := WinGetProcessName(hWnd) ; Получаем имя процесса активного окна

    if (activeProcess = "notepad.exe") {
        SetLayout(0x0409) ; Английская раскладка
    } else if (activeProcess = "wordpad.exe") {
        SetLayout(0x0419) ; Русская раскладка
    }
}

SetLayout(localeID) {
    hWnd := WinExist("A") ; Проверяем активное окно перед сменой раскладки
    if (!hWnd)
        return

    PostMessage(0x50, 0, localeID,, hWnd) ; Меняем раскладку
}

while true {
    Sleep(1000)
}
```

В нём для приложения Notepad по умолчанию задана английская раскладка, а для WordPad — русская. По аналогии вы можете добавить нужные вам приложения и раскладки.