Skip to content

Instantly share code, notes, and snippets.

@cd01
Last active December 17, 2015 23:59
Show Gist options
  • Save cd01/5693608 to your computer and use it in GitHub Desktop.
Save cd01/5693608 to your computer and use it in GitHub Desktop.
Windowsのキーボードレイアウトを英字配列と日本語配列でトグルする
param([switch] $help, [switch] $laptop)
process {
if ($help) {
echo ".\toggleWindowsKeyboardLayoutBetweenUSandJP.ps1 : キーボードレイアウトを日本語/英字配列でトグルします"
echo ".\toggleWindowsKeyboardLayoutBetweenUSandJP.ps1 -laptop : ノートPCで外部キーボード接続時だけ英字配列"
echo ".\toggleWindowsKeyboardLayoutBetweenUSandJP.ps1 -help : Help の表示"
return
}
$item = "HKLM:\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters"
function toUSKeyboard() {
Set-ItemProperty $item -name "LayerDriver JPN" -value "kbd101.dll"
Set-ItemProperty $item -name OverrideKeyboardIdentifier -value "PCAT_101KEY"
Set-ItemProperty $item -name OverrideKeyboardSubtype -value 0
Set-ItemProperty $item -name OverrideKeyboardType -value 7
echo "Changed to US keyboad layout. Please restart your computer."
}
function toJPKeyboard() {
Set-ItemProperty $item -name "LayerDriver JPN" -value "kbd106.dll"
Set-ItemProperty $item -name OverrideKeyboardIdentifier -value "PCAT_106KEY"
Set-ItemProperty $item -name OverrideKeyboardSubtype -value 2
Set-ItemProperty $item -name OverrideKeyboardType -value 7
echo "Changed to JP keyboad layout. Please restart your computer."
}
function laptopSetting() {
Set-ItemProperty $item -name "LayerDriver JPN" -value "kbd101.dll"
Set-ItemProperty $item -name OverrideKeyboardIdentifier -value "PCAT_101KEY"
Set-ItemProperty $item -name OverrideKeyboardSubtype -value 2
echo "Please restart your computer."
}
if ($laptop) {
laptopSetting
} elseif ((Get-ItemProperty $item)."LayerDriver JPN" -eq "kbd101.dll") {
toJPKeyboard
} elseif ((Get-ItemProperty $item)."LayerDriver JPN" -eq "kbd106.dll") {
toUSKeyboard
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment