¿Es posible cambiar la distribución del teclado a través de la línea de comandos en Windows XP / 7?
¿Es posible cambiar la distribución del teclado a través de la línea de comandos en Windows XP / 7?
Respuestas:
si.
http://msdn.microsoft.com/en-us/goglobal/bb964650#eyb
ejemplo de línea de comando:
control intl.cpl,, /f:"%CD%\AddKeyboardLanguage.xml"
Ejemplo de 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>
Ejemplo de 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>
Windows 8 trae un nuevo módulo internacional de PowerShell. Desafortunadamente, no parece que esto pueda ser respaldado o tenga alguna alternativa de Windows 7
Configure ajustes internacionales mediante el uso de cmdlets de PowerShell
En Windows 8, puede usar los cmdlets de PowerShell de configuración internacional para cambiar el idioma en una instalación de Windows en ejecución. El beneficio de usar los cmdlets de PowerShell es que puede incorporarlos en un script para facilitar la implementación y configuración de Windows. Fuente: http://technet.microsoft.com/en-us/library/hh825705.aspx
Importe el módulo de configuración internacional ejecutando el siguiente comando:
ipmo internacional
Visualice la información local en la computadora ejecutando el siguiente comando:
Get-WinSystemLocale
Establezca la configuración regional para la región y el idioma que desee. Por ejemplo, el siguiente comando establece la configuración regional del sistema en japonés (Japón):
Set-WinSystemLocale ja-JP
Set-WinUserLanguageList -Force 'ja-JP'
cambiará el idioma de entrada del teclado. Tenga en cuenta que el uso de -Force
es solo para no obtener el cuadro de diálogo emergente. Get-WinUserLanguageList
le dará la lista de idiomas disponibles para que el usuario escriba.
"Windows 8 trae un nuevo módulo internacional de PowerShell. Desafortunadamente, no parece que esto pueda ser respaldado o tenga alguna alternativa de Windows 7"
Podría intentar esto (ejemplo) ... esto habilita solo los diseños de teclado seleccionados y borra los demás
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
No (no a través de CMD), tendrá que cambiarlo de la siguiente manera. Solía haber un keyb.com
comando en DOS, pero ya no existe en Windows.
Windows 7 o Windows Vista
Windows XP
Pero puedes en 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
Esto funciona bien en Windows 7 PowerShell, pero debe cerrar la sesión y volver a habilitarla para cambiar el diseño a inglés. Si desea otro idioma, debe cambiar el número de valor. Puede encontrarlos aquí: https: // www. science.co.il/language/Locale-codes.php
Para información: Set-WinUserLanguageList
como se sugiere en otras respuestas, no solo cambia el idioma de entrada del teclado activo , sino que sobrescribe su lista actual de idiomas de entrada (habilitados). Para configurar dos idiomas o más entre los que puede cambiar, use algo en esta línea:
Set-WinUserLanguageList -Force en-US,sv-SE
El idioma proporcionado como primer argumento de la lista se seleccionará como el idioma activo, por lo que puede ser una forma eficiente de cambiar tanto el idioma activo como la lista general de idiomas de teclado disponibles.