Como impedir o Windows 10 de adicionar automaticamente layouts de teclado (ou seja, teclado dos EUA)

110

Atualização: este é um post longo, você pode pular direto para a resposta abaixo


Nota: A lista de idiomas rápida refere-se à lista na captura de tela abaixo, acessível através do atalho Win + Space bar

Eu tenho dois idiomas para verificação ortográfica do Windows no meu sistema, inglês (Estados Unidos) e francês (Suíça) , mas apesar de ambos os idiomas serem configurados corretamente com o teclado de entrada "francês suíço", a entrada do teclado dos EUA continua aparecendo nesta lista:

insira a descrição da imagem aqui

Aqui estão as configurações para o idioma inglês (Estados Unidos) , você pode ver a única entrada é "francês suíço":

insira a descrição da imagem aqui

O mesmo para Français (Suisse) , a única entrada é "francês suíço":

insira a descrição da imagem aqui

No painel de controle, ambos também são definidos como francês suíço:

insira a descrição da imagem aqui

Todas as minhas configurações estão definidas para usar a "lista de idiomas":

insira a descrição da imagem aqui insira a descrição da imagem aqui

Aqui estão algumas coisas que eu já tentei:

  • Eu já consegui removê-lo por alguma ginástica de configuração de idioma. Ao adicionar e remover idiomas, ele sempre volta
  • Já fiz isso: https://superuser.com/a/484595/168632
  • Não há menção do teclado americano nas minhas configurações de registro:

insira a descrição da imagem aqui

Por favor, ajudem, estou desesperado, este é o meu terceiro computador com Windows 10 e todos eles fazem a mesma coisa.

Luis Ferrao
fonte
e se você precisar de algum script que seja executado no Autostart + EXCLUIR AS INSCRIÇÕES INDESEJADAS?
Sergey Larin
Barra de espaço Win + Shift + Space
SmartManoj
Só isso funcionou para mim answers.microsoft.com/en-us/windows/forum/... e isso também blocos de adicionar novos layouts menos que você permitir que ele
rofrol

Respostas:

98

Para corrigir esse problema, exclua a pasta de registro Preload e saia ou reinicie o computador:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

Essa pasta parece ser um remanescente herdado que contém layouts de teclado não especificados pelo usuário para serem adicionados à lista de idiomas quando o usuário entra. Enquanto a correção funciona por meio de reinicializações, no momento da escrita, há coisas que trazem de volta aquela traquina pasta , aqui estão algumas que eu encontrei pessoalmente:

  • Área de trabalho remota para um computador com layout dos EUA
  • Usando a mesma conta da Microsoft em outro PC que ainda tem esse problema

Sempre que o problema volta, essa pasta do registro precisa ser excluída novamente.

Edit 2: Graças à sugestão de @ Lu55, aqui está uma lista prática para usar em um prompt de comando com privilégios de administrador:

reg delete "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /f

Editar: eu criei um RemovePreload.regarquivo de texto com o seguinte conteúdo, dessa maneira, essa correção pode ser facilmente reaplicada todas as vezes sem navegar pelo registro:

Windows Registry Editor Version 5.00

[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]

Para usar isso, salve-o em um arquivo de texto e altere a extensão de .txtpara .reg. Sempre que ele voltar, basta clicar duas vezes nele e reiniciar ou sair.

Luis Ferrao
fonte
1
Obrigado! Esta foi a única coisa que finalmente consertou para mim. O layout do teclado dos EUA sempre era adicionado quando eu fazia o login. Para removê-lo, primeiro adicionando-o e depois removendo-o, como a resposta do Snaiper, mas ele sempre reaparecia ao reiniciar. Isso parece ter removido permanentemente.
O Oddler
3
Aparece depois de um tempo de qualquer maneira.
troorl
Sim, ele reapareceu para mim agora também :( Foi capaz de reiniciar apenas uma vez sem parecer reaparecer.
The Oddler
1
A solução de adicionar e remover o teclado é a maneira mais segura e como hacky como este :)
user2158153
Você tentou, em vez de remover a Preloadchave, remover suas entradas e restringir permissões à chave? Eu fui para permissões de PreloadAvançado, desabilitei a herança, converti todas as permissões herdadas, removi todas elas, adicionei permissão somente leitura Everyonee salvei. Isso deve impedir o Windows de adicionar novamente as entradas que adicionam novamente os perfis de teclado.
bers
58

Na verdade, a solução é bastante simples e não requer edição do registro!

  • Vá para Região e idioma (preferências de idioma anteriormente nomeadas) , clique em Inglês (Estados Unidos) e vá para Opções .

  • Se você vir "Teclado dos EUA" lá, remova-o e pronto.

  • NO ENTANTO , se você não o encontrar, clique em Adicionar um teclado , adicione "US keyboard", remova esse teclado e pronto.

Eu descobri isso depois de algumas tentativas e erros ao tentar várias coisas, tive o mesmo problema.

Snaiper
fonte
18
Aparece após a reinicialização novamente.
troorl
6
O terceiro ponto é literalmente: "Você tentou ligá-lo e desligá-lo novamente?" ... e esse foi o ponto :) Obrigado por isso!
Ccjmne
3
Não funciona após a reinicialização, testei isso antes de encontrar a solução acima #
Luis Ferrao
1
Sim, não funciona depois de reiniciar ou depois de hibernar o PC.
Ozan Kurt
2
Após a atualização do Windows 10 de junho de 2018, a configuração "Remover" para inglês dos EUA é desativada. (Grr.)
ms609 15/06
6

Esta não é a correção permanente, mas um arquivo em lotes útil que adiciona o en-USlayout do teclado e o remove. (Você deve primeiro adicioná-lo para poder removê-lo.)

Remove_en-US.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">

    <!--User List-->
    <gs:UserList>
        <gs:User UserID="Current"/>
    </gs:UserList>

    <!--input preferences--> 
    <gs:InputPreferences>
        <!--add en-US keyboard input-->
        <gs:InputLanguageID Action="add" ID="0409:00000409"/>
        <!--remove en-US keyboard input-->
        <gs:InputLanguageID Action="remove" ID="0409:00000409"/>
    </gs:InputPreferences>

</gs:GlobalizationServices>

Remove_en-US.bat:

control intl.cpl,, /f:"%CD%\Remove_en-US.xml"

Então você pode simplesmente executar Remove_en-US.batpara remover o layout. Também tenho um atalho para esse arquivo em lotes nos meus programas de inicialização.

Aqui 0409estão os valores de layout do teclado locale IDe 00000409são. Para a lista da locale ID:keyboard layout valuever https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10) .

joon
fonte
6

Encontrei a resposta após uma hora a partir de agora para compilar:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
  1. Isso funcionará mesmo após a reinicialização.
  2. É fácil de fazer. E pronto para o bem.
  3. Isso impedirá que outros idiomas sejam criados para novos usuários.
  4. Ele também não mostrará esses idiomas na tela de login.
  5. Não há hacks de registro que não funcionaram para mim depois de reiniciar.

Você também pode acessar o site ( mas verifique as configurações de idioma primeiro - veja as capturas de tela abaixo ).

Painel de controleRegiãoAdministrativeguia →Copy settings...


Aqui está o passo nas imagens com notação nas imagens também para referência.

como

Em seguida, seu registro deve ficar assim, com apenas uma pré-carga.

Copie isso Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preloadna barra de endereços do editor de registro para ir direto a ele e verificar por si mesmo.

uma pré-carga

Stephen Sherry
fonte
4

Há dois lugares para a configuração do teclado no Windows 10, painel de controle -> Idioma

O outro está na configuração, assim como sua captura de tela

Também faz as alterações lá, deve resolver o problema.

insira a descrição da imagem aqui

Marca
fonte
Infelizmente, este não é, eu adicionei uma imagem do que a tela do meu computador, ele está corretamente configurado com "Swiss francês" exatamente da mesma forma que no novo UI
Luis Ferrão
4

Eu não tinha 409 entradas no registro (consulte a resposta aceite). As etapas que eu segui para remover o inglês (EUA) do menu de seleção rápida:

  1. Abra "Preferências de idioma" no menu de seleção rápida.
  2. Adicione o idioma inglês (EUA).
  3. Remova o idioma inglês (EUA).

Dica: No Painel de controle \ Todos os itens do painel de controle \ Idioma \ Configurações avançadas -> Alterar teclas de atalho da barra de idiomas, você pode definir a ação das teclas de atalho para "Entre os idiomas de entrada" para "(Nenhum)" para evitar a troca acidental do layout do teclado.

PatrykM
fonte
2
Penso que a sua resposta erra o objetivo desta pergunta. O problema não é remover o idioma inglês dos EUA, que eu digito e definitivamente desejo na minha lista de idiomas, o ponto é remover um layout inexistente do "teclado americano" que não corresponda ao meu próprio layout de teclado e que aumenta a cada de vez em quando como um "idioma" adicional na lista de idiomas. Existem muitos tópicos relacionados à remoção do próprio inglês dos EUA, mas este não é um deles. Também não pretendo remover a lista de idiomas, eu o uso para alternar rapidamente entre idiomas o tempo todo (para o corretor ortográfico do Windows).
Luis Ferrao
2
  1. Painel de controle
  2. Relógio, idioma e região
  3. Língua
  4. Alterar métodos de entrada
  5. Configurações avançadas
  6. Substituir pelo método de entrada padrão
  7. Escolha seu layout preferido (em vez de "Usar lista de idiomas")
  8. Salve 

Captura de tela das configurações de entrada -> configurações avançadas

Matt.
fonte
Falta agora 'idioma' nas últimas atualizações do win10.
platinums
2

A resposta de Mikel acima corrige isso .... mas, no caso de reaparecer para você (como aconteceu comigo): você talvez tenha um atalho personalizado do AutoHotkey para alterar os layouts de teclado?

O problema era que meu script AutoHotkey continha as seguintes linhas de código:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
el := DllCall("LoadKeyboardLayout", "Str", "00000408", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1

Portanto, enquanto na minha área de trabalho isso funcionasse perfeitamente e mudasse de inglês (layout de teclado do Reino Unido) para grego (layout de teclado GR) e vice-versa, no meu laptop com teclado americano, esse script seria responsável pelos layouts extras exibidos o azul no meu alternador de idiomas.

Eu espero que isso ajude!

Angelos
fonte
1

A edição de aniversário do Windows 10 contém um novo "recurso" em que assume que as configurações regionais e de idioma vêm com um layout de teclado obrigatório. Esses layouts não podem ser removidos através da GUI de configurações.

Mas consegui superá-lo via PowerShell com um script como este:

$1=New-WinUserLanguageList en-US
$1.Add("nl-NL")
$1.Add("de-DE")
Set-WinUserLanguageList $1

Copie e cole-o em uma janela do PowerShell.

A demonstração acima configura o layout dos EUA como padrão com os layouts NL e BE adicionais. Ajuste conforme necessário.

rustyx
fonte
nada foi alterado para mim após a execução deste comando
Lu55 25/07
0

Na verdade, parece que o problema também está com a mesma chave no seu perfil de usuário real ( HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload), não apenas HKEY_USERS\.DEFAULT\Keyboard Layout\Preload.

Posso replicar isso de maneira consistente - quando adiciono uma chave 00000429 (persa), por exemplo, e reinicializo, recebo o teclado persa automaticamente adicionado e, quando o apago e reinicializo, o persa não está mais lá.

Em resumo, convém garantir que você não tenha idiomas indesejados nem em HKEY_USERS\.DEFAULT\Keyboard Layout\Preloadnem HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload.

joon
fonte