É possível alterar o layout do teclado via linha de comando no Windows XP / 7?
É possível alterar o layout do teclado via linha de comando no Windows XP / 7?
Respostas:
sim.
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>
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
Importe o módulo de configurações internacionais executando o seguinte comando:
ipmo international
Exiba as informações de localidade no computador executando o seguinte comando:
Get-WinSystemLocale
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
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-WinUserLanguageList
fornecerá a lista de idiomas disponíveis para o usuário digitar.
"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
Não (não via CMD), você terá que alterá-lo da seguinte maneira. Costumava haver um keyb.com
comando no DOS, mas isso não existe mais no Windows.
Windows 7 ou Windows Vista
Windows XP
Mas você pode no Linux usando loadkeys
.
$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
Para obter informações: Set-WinUserLanguageList
como 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.