Como alterar o layout do teclado via linha de comando cmd.exe no Windows XP / 7?

Respostas:

11

sim.

http://blogs.msdn.com/b/shawnste/archive/2007/04/12/configuring-international-settings-from-the-command-line.aspx

http://msdn.microsoft.com/en-us/goglobal/bb964650#eyb

Exemplo de linha de comando:

control intl.cpl,, /f:"%CD%\AddKeyboardLanguage.xml"

Exemplo AddKeyboardLanguage.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="add" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

Exemplo RemoveKeyboardLanguage.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="remove" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>
Coelho
fonte
2
Gostaria de saber se existe algum comando do cmd apenas para dizer qual layout de teclado você está usando no Windows7? Quero dizer um comando que retorna um valor de string do layout de idioma que você está usando - não alterando o layout apenas perguntando.
doctorate
2

O Windows 8 traz um novo módulo International PowerShell. Infelizmente, parece que isso não pode ser suportado ou ter qualquer alternativa do Windows 7


Definir configurações internacionais usando os cmdlets do PowerShell

No Windows 8, você pode usar os cmdlets International Settings PowerShell para alterar o idioma em uma instalação em execução do Windows. A vantagem de usar os cmdlets do PowerShell é que você pode incorporá-los a um script para facilitar a implantação e a configuração do Windows. Fonte: http://technet.microsoft.com/en-us/library/hh825705.aspx

  1. Abra um prompt do Windows PowerShell.
  2. Importe o módulo de configurações internacionais executando o seguinte comando:

    ipmo international

  3. Exiba as informações de localidade no computador executando o seguinte comando:

    Get-WinSystemLocale

  4. Defina a localidade para a região e o idioma que você deseja. Por exemplo, o comando a seguir define o código do idioma do sistema para japonês (Japão):

    Set-WinSystemLocale ja-JP

thommck
fonte
1
Esta resposta altera o código do idioma . Parece não afetar teclados, no máximo a página de códigos será diferente.
Jggunjer
2
Set-WinUserLanguageList -Force 'ja-JP'mudará o idioma de entrada do teclado. Observe que o uso de -Forceé apenas para não obter a caixa de diálogo pop-up. Get-WinUserLanguageListfornecerá a lista de idiomas disponíveis para o usuário digitar.
Yasouser 12/05/19
2

"O Windows 8 traz um novo módulo International PowerShell. Infelizmente, parece que isso não pode ser suportado ou ter qualquer alternativa do Windows 7"

Você pode tentar isso (exemplo) .. isso habilita apenas os layouts de teclado selecionados e limpa os outros

Install-Module -name timezone -force
#Sets the systems timezone on "Western Europe Standard time" 
$langlist = New-WinUserLanguageList en-US

#Clears the other input methods from the displayed language
$langlist[0].InputMethodTips.Clear()

#Sets and adds the swiss-German keyboard
$langlist[0].InputMethodTips.add('0409:00000807')

#Sets and adds the swiss-french keyboard
$langlist[0].InputMethodTips.add('0409:0000100C')

#Apply the changes made on the system (and force to avoid the prompt  message)
Set-WinUserLanguageList $langlist -Force
user709166
fonte
1

Não (não via CMD), você terá que alterá-lo da seguinte maneira. Costumava haver um keyb.comcomando no DOS, mas isso não existe mais no Windows.

Fonte:

Windows 7 ou Windows Vista

  1. Clique em Iniciar, digite intl.cpl na caixa Iniciar pesquisa e pressione ENTER.
  2. Na guia Teclados e idioma, clique em Alterar teclados. Clique em Adicionar.
  3. Expanda o idioma que você deseja. Por exemplo, expanda francês (Canadá).
  4. Expanda lista de teclados, clique para selecionar a caixa de seleção francês canadense e, em seguida, clique em OK.
  5. Nas opções, clique em Exibir layout para comparar o layout com o teclado real.
  6. Na lista Idioma de entrada padrão, clique em Francês (Canadá) - Francês do Canadá e clique em OK duas vezes.
  7. Na caixa de diálogo Opções regionais e de idioma, clique em OK.
  8. Clique na barra de idiomas e, em seguida, clique em FR francês (Canadá).

Windows XP

  1. Clique em Iniciar, digite intl.cpl na caixa Executar e pressione ENTER.
  2. Na guia Idiomas, clique em Detalhes.
  3. Em serviços instalados, clique em Adicionar.
  4. Na lista Idioma de entrada, selecione o idioma que você deseja. Por exemplo, selecione francês (Canadá).
  5. Na lista Layout do teclado / IME, clique em Francês canadense e clique em OK.
  6. Na lista Selecione um dos idiomas de entrada instalados para usar ao iniciar o computador, clique em Francês (Canadá) - Francês do Canadá e clique em OK.
  7. Na caixa de diálogo Opções regionais e de idioma, clique em OK.
  8. Clique na barra de idiomas e, em seguida, clique em francês (Canadá).

Mas você pode no Linux usando loadkeys.

sealz
fonte
Felicidades! +1 para você! :)
studiohack
0
$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS

Set-ItemProperty -Path "HKU:\.DEFAULT\Keyboard Layout\Preload\" -Name 1 -Value 00001033

$psdrive | Remove-PSDrive

Isso funciona bem no Windows 7 PowerShell, mas é necessário fazer logoff e logon novamente para habilitar. Ele altera o layout para inglês. Se você quiser outro idioma, precisará alterar o número -Value, que pode ser encontrado aqui: https: // www. science.co.il/language/Locale-codes.php

Jana-Panda
fonte
0

Para obter informações: Set-WinUserLanguageListcomo sugerido em outras respostas, não apenas altera o idioma de entrada do teclado ativo , substitui a lista atual de idiomas de entrada (ativados). Para configurar dois idiomas ou mais nos quais você pode alternar, use algo como estas:

Set-WinUserLanguageList -Force en-US,sv-SE

O idioma fornecido como o primeiro argumento da lista será selecionado como o idioma ativo, portanto, essa pode ser uma maneira eficiente de alterar o idioma ativo e a lista geral de idiomas do teclado disponíveis.

Per Lundberg
fonte