Как пофиксить баг с раскладками в Windows 10?
Вкратце опишу проблему. После запуска компьютера периодически (не всегда и не с самого старта) возникает данная ситуация: появляется дополнительная раскладка клавиатуры (замечаю я это в тот момент, когда с английского на русский одного ctrl+shift не хватает).
Выглядит это дело вот так:
Причём в самих настройках языка британская раскладка не отображается:
И каждый раз для того, чтобы это пофиксить, мне приходится начинать её устанавливать, чтобы она появилась в списке и её можно было удалить.
Вопрос: как это пофиксить раз и навсегда?
Пыталась как-то через реестр это делать, не помогло, проблема снова стала актуальна. Что-то пыталась ещё из советов в гугле делать, проблема не решена. Возможно, кто-то сталкивался с таким и смог справиться. Помогите, пожалуйста.
P.S. К сожалению, не могу описать, после чего конкретно появляется эта проблема: систематику так и не выявила, появляется рандомно.
Удаление нежелательной клавиатуры или языка из Windows 11
Если вы видите клавиатуру или метод ввода, которые не ожидаются в переключателе ввода или в списке предпочитаемых языков, вот несколько способов исправить это.
Удаление языка из параметров
Вот первое, что нужно попробовать:
- Выберите Пуск >Параметры >время & язык >язык & регион .
- Найдите нужный язык на компьютере, а затем выберите Дополнительно >Удалить.
Если нежелательная клавиатура или метод ввода по-прежнему существуют, вы можете удалить отдельную клавиатуру из параметров. Вот как это сделать.
- Выберите Пуск >Параметры >время & язык >язык & регион .
- Найдите нужный язык на компьютере, а затем выберите Дополнительные >параметры языка >Удалить.
Нежелательный язык или клавиатура по-прежнему в переключателе ввода
Если нежелательный язык или клавиатура по-прежнему находится в переключателе ввода, но не в списке языков, попробуйте выполнить следующее:
- Выберите Пуск >Параметры >время & язык >язык & регион .
- Выберите Добавить язык, добавьте нежелательный язык или клавиатуру, а затем выберите Следующий >Установить.
- После установки языка или клавиатуры выберите Дополнительные >параметры языка >Удалить.
Примечание: Последняя клавиатура для языка и метод ввода по умолчанию не могут быть удалены. Метод ввода по умолчанию основан на порядке списка языков в разделе Параметры.
Метод ввода по умолчанию не отображает выбранный язык
Если у метода ввода по умолчанию нет выбранного языка, попробуйте выполнить следующее:
- Выберите Пуск >параметры >язык & времени >ввод >дополнительные параметры клавиатуры.
- В поле Переопределение для метода ввода по умолчанию выберите предпочитаемый язык.
Откуда в Windows 10 взялась лишняя раскладка клавиатуры и как ее удалить
В «нормально» сконфигурированной Windows 10 доступно два языка ввода и две раскладки переключения языков — русский и английский. Конечно, если у вас установлена Windows 10 не «для одного языка», вы можете добавить сколько угодно локализаций и столько же раскладок, но речь пойдет вовсе не об этом. Что делать, если у вас невесть откуда в языковой панели появилась дополнительная раскладка диалекта одного языка как в показанном на скриншоте примере?

Казалось бы, в чём тут проблема, разве лишнюю раскладку нельзя удалить через языковые настройки?
Нажали на этой же панели «Настройки языка», открыли параметры языка с лишней раскладкой.

Выбрали ненужную клавиатуру и кликнули «Удалить».

Проблема только в том, что стандартным способом раскладка отказывается удаляться, а если и удаляется, то после перезагрузки компьютера появляется в языковой панели повторно.
В таких случаях иногда рекомендуют очистить содержимое каталога Preload в ключе реестра HKEY_USERS\.DEFAULT\Keyboard Layout\Preload и перезагрузить компьютер, но это приводит к тем же результатам.
Решить эту проблему действительно можно путем правки реестра, только вот работать нужно с другими ключами. Но еще важнее понимать, что именно стало причиной такого поведения Windows 10. А причина в том, что ваш компьютер скорее всего синхронизирован с каким-то другим устройством, на котором включена дополнительная раскладка при условии, конечно, что вы используете учетную запись Microsoft.
Поэтому, перед тем как приступать к дальнейшим действиям, потрудитесь отключить синхронизацию языковых настроек в разделе «Учетные записи» приложения «Параметры».

Если настройки синхронизации у вас по какой-то причине недоступны, откройте командой regedit редактор реестра, разверните ключ HKLM\SOFTWARE\Policies\Microsoft\Windows\SettingSync и создайте справа два параметра типа DWORD : DisableSettingSync со значением 2 и DisableSettingSyncUserOverride со значением 1 (готовый твик прилагаем по ссылке disk.yandex.ru/d/N9lWT2O1-FotFw) .

После этого перезагрузитесь и попробуйте удалить лишнюю раскладку через приложение Параметры как было показано выше.
В нашем примере это 0x00010409, что соответствует индийской раскладке.

Проследуйте по указанным ключам реестра.

И удалите параметры, в качестве которых задан код дополнительной раскладки.

На всякий случай проверьте ключи реестра и на этом изображении.


Если мультистроковый параметр languages содержит лишние раскладки, отредактируйте его. Для этого кликаем по нему два раза мышкой и удаляем в открывшемся окошке ненужную раскладку.
Вот и всё, новая конфигурация вступит в силу после перезагрузки компьютера.
Как удалить неудаляемые языки и раскладки клавиатуры в Windows
В чате @winsiders участник Kato пожаловался на необычную проблему после обновления до Windows 10 1803. Изначально у него в системе было три языка – английский (US), русский и украинский, а после обновления добавилось еще два английских – United Kingdom и Canada, которые не удалялись в Параметрах (кнопка Remove недоступна). Соответственно, эти языки появлялись в списке раскладок клавиатуры, хотя в настройках их не было.

[+] Сегодня в программе
- Теория
- Удаление неудаялемых языков
- Удаление неудаялемых раскладок клавиатуры
- Игнорирование дистанционных раскладок
- Удаление раскладок из разделов Preload
- Удаление раскладок из системы
- Удаление раскладки после смены кодовой страницы
Теория
В общем случае, можно удалить любой язык, который не используется по умолчанию. Например, если в системе только английский и русский языки, то первый можно удалить, если основным назначен второй. При этом неважно, каким был исходный язык системы (дистрибутива), что легко определяется в PowerShell командой:
(Get-CimInstance Win32_OperatingSystem).oslanguage
Команда выводит идентификатор языка, где 1033 – английский (US), 1049 – русский, остальные тут в десятичном виде или у Microsoft в шестнадцатеричном (вставляйте значения в калькулятор программиста).
На проблемной ОС эта команда выдала 2057, что соответствует English (United Kingdom). В сочетании с картиной из параметров это было очень странно, потому что у языка дистрибутива никаких языковых пакетов быть не должно, поскольку он и так есть в системе.
Для начала мы попытались удалить языковые пакеты UK и Canada командами lpksetup. Однако к успеху это ни привело, что намекало на фактические отсутствие этих языковых пакетов, но не приближало к решению проблемы фантомных языков. Пришлось зайти с черного хода.
Удаление неудаялемых языков
У PowerShell есть два командлета для управления языками пользователя – Get-WinUserLanguageList и Set-WinUserLanguageList. Первый умеет получать список языков, а второй задавать его. В PowerShell список соответствовал картине в параметрах.

Из справки второго командлета не вполне очевидно, как удалить ненужные языки. Зато она дает достаточно толстый намек на то, что вывод первого командлета представляет собой массив. Это можно использовать во благо. Нам нужны только первые три языка из списка.
$List = Get-WinUserLanguageList Set-WinUserLanguageList $($list[0], $list[1], $list[2]) -Force Get-WinUserLanguageList
Первая команда помещает в переменную массив из списка языков, а вторая задает в качестве текущих языков первые три элемента массива. При этом остальные языки удаляются! Третья команда выводит список языков для проверки.

Решено! В который уже раз PowerShell позволяет элегантно решить задачу без запредельных усилий. Если будете экспериментировать под учетной записью Microsoft, отключите синхронизацию языковых параметров во избежание нежелательных эффектов (я словил несколько странностей :).
Удаление неудаялемых раскладок клавиатуры
Этот раздел был добавлен значительно позже, потому что в статью приходят люди со смежной проблемой — появление фантомных раскладок клавиатуры при отсутствии соответствующих установленных языков. У этой проблемы может быть несколько вариантов решения.
Игнорирование дистанционных раскладок
Примените твик и перезагрузитесь. См. также пост в канале Telegram с кратким объяснением и готовым REG-файлом.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "IgnoreRemoteKeyboardLayout"=dword:00000001
Удаление раскладок из разделов Preload
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload HKEY_CURRENT_USER\Keyboard Layout\Preload
Удаление раскладок из системы
Это подходит в случае, если раскладка не нужна в принципе. Раскладки прописаны в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\
Нужно удалять подраздел с нежелательной раскладкой.
Удаление раскладки после смены кодовой страницы (языка для неюникодных программ)
В современных Windows при смене кодовой страницы (например, с английской на русскую) автоматически добавляется для всех пользователей и метод ввода этого языка. Причем сам язык не добавляется! Однако в большинстве случаев этот язык уже установлен у пользователей, поэтому они ничего не замечают. Но бывает иначе. Варианты решения:
- Добавить в параметрах такой же язык, как установлен для кодовой страницы, а затем удалить его. В результате удаляется и ненужная раскладка. Самый простой способ, но у одного из читателей после перезагрузки раскладка возвращалась.
- Добавлять и тут же удалять язык скриптом из автозагрузки. Прием против лома — возвращения раскладки после перезагрузки.
- Заменить в языке проблемный метод ввода не несуществующий. Элегантное решение, недоступное в графическом интерфейсе.
В Windows 10 1803 языковые настройки практически полностью перекочевали из классической панели управления в Параметры (исключение составляет классическое окно с настройками сочетаний клавиш и языковой панели). В связи с этим я обновил статью про 6 языковых настроек, которые могут поставить вас в тупик в контексте изменившегося интерфейса.
Об авторе
Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
- Нюансы полной локализации Windows с помощью PowerShell
- Как удалить неудаляемый файл или папку
- Трюки управления языковыми параметрами из PowerShell и командной строки
- Как грамотно настроить язык ввода на экране входа в Windows
- Как грамотно настроить язык интерфейса Windows, магазинных приложений и ввода по умолчанию
- Как удалить неудаляемый драйвер в Windows
- PowerShell: парсинг веб-страниц и загрузка файлов с Invoke-WebRequest
- 8 полезных возможностей PowerShell 5.0, о которых вы могли и не знать
- Как массово переименовать файлы по маске в PowerShell
- 6 языковых настроек Windows, которые могут поставить вас в тупик
Я в Telegram
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 9
Да, наверное этот способ более понятный(наглядный) чем на Ансверс. https://answers.microsoft.com/thread/699a81c6-3d5e-4c0a-88e1-6b0b1b1e2e0c Добавил ссылку на статью. Есть еще очень простой способ решить проблему. Но срабатывает не всегда.
1) Перелогиниваемся.
2) Делаем полное выключение компьютера(Пуск>Выключение>Удерживая Shift, Завершение работы).Ваша оценка:
0На момент решения задачи никакого способа на Answers не было https://i.imgur.com/R7Kapr8.png
И да, я обошелся двумя командами вместо четырех 🙂Ваша оценка:
+1Простите за оффтоп, но может подскажите как изменить системный шрифт, который в новой панели управления и не только в ней. Меня он раздражает, какой-то он нечеткий.
Ваша оценка:
0Если не оффтопить, то и извиняться не надо будет. Пишите в http://www.forum.oszone.net
Ваша оценка:
+1В моем случае на ноутбуке было настроено несколько учетных записей пользователей (Администратор — локальная учетная запись, и 2 пользователя — доменная учетная запись). Я сделал все, как в статье под одним из пользователей, все сработало, но когда вошел под другим, то в Панели задач и в Параметрах у него остался язык Русский (Молдова), который у 1-го пользователя перед этим удалился. Мне пришлось повторить процедуру, но запуск PowerShell я сделал НЕ от имени Администратора, а просто под пользователем, т.к. иначе команда Get-WinUserLanguageList не выводила 3-ий язык.
Ваша оценка:
0xupomant: Мне пришлось повторить процедуру, но запуск PowerShell я сделал НЕ от имени Администратора, а просто под пользователем, т.к. иначе команда Get-WinUserLanguageList не выводила 3-ий язык.
Хорошее замечание. Я нигде не писал, что PowerShell нужно запускать от имени администратора, потому что это пользовательские настройки. Но да, на скриншотах именно администратор, так получилось 🙂
Ваша оценка:
0у меня сходная, но не совсем та же проблема. windows 10 (build 1709). имеются три языковые вкладки: французская, русская и японская. всякий раз, когда я перегружаю комп, к имеющимся добавляется английская (сша), при этом в списке вкладок ее не видно, и команда Get-WinUserLanguageList ее не отображает (будучи запущенной как из-под текущего юзера, так и из-под админа). американская вкладка удаляется вручную: для этого я ее сначала добавляю, а потом удаляю. но это достает неимоверно. надеялся, что с помощью данной статьи проблему порешаю. не порешал. буду копать дальше. http://ixbt.photo/photo/236831/60113Rs0i9exC9d/1226332w.jpg
Ваша оценка:
0Я видел похожую проблему, раскладка подгружалась из
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
и восстанавливалась при перезагрузке. До конца не дорешали, но это может быть следствием синхронизации языков. Мой последний совет был удалить проблемную раскладку из реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\
предварительно сделав резервную копию разделаВаша оценка:
0
- nett00n12.11.2020 в 12:53
Помогла очистка лишних раскладок в
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
Но ещё закешировалось в
HKEY_CURRENT_USER\Keyboard Layout\Preload
Ваша оценка:
0