Home > Windows にまつわる e.t.c.

ソフトキーが正しく表示されない


英語版の Surface RT を入手したので、日本語ランゲージパックを導入し、日本語化しました。

僕は「かな入力」人種なので、ソフトキーも直接かな入力します。このため、「ハードウェア キーボードに準拠したレイアウトをつかえる様にする」を ON にして、かな入力できるようにしたのですが...
こんな感じのキーボードになってしまい、キーにカナの打刻が無いだけではなく、「変換」とかのキーが足りません orz

 

日本語版 Surface RT 持っている方に聞いてみると、日本語版でも同様な現象だそうで...

 

そう言えば、Windows To Go とかで英語キーボード認識させられた時に、レジストリー更新で対応できたよなと、Windows 8 でキーボードが英語配列キーボードとして認識される(KB416037) を確認し、「kbd106.dll」が Windows RT にも存在するか Windows フォルダー以下を検索すると、この DLL があることが判明 !!

んではと、ダメ元でレジストリ更新して再起動すると、無事かなキーになりました (^^)v

 

 

レジストリーは以下の内容ですのです。このレジストリー設定は、元々 Windows 8 用で Windows To Go で英語キーボードになったとか向けの KB 情報ですが、Windows RT でも有効でした。

(レジストリー更新は自己責任ですのですので、問題が起きたら自己解決してください)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver JPN"="kbd106.dll"
"OverrideKeyboardIdentifier"="PCAT_106KEY"
"OverrideKeyboardType"=dword:00000007
"OverrideKeyboardSubtype"=dword:00000002

 

ちなみに、PowerShell だとこんな設定になります

### レジストリ追加/更新
function RegSet( $RegPath, $RegKey, $RegKeyType, $RegKeyValue ){
    # レジストリそのものの有無確認
    $Elements = $RegPath -split "\\"
    $RegPath = ""
    $FirstLoop = $True
    foreach ($Element in $Elements ){
        if($FirstLoop){
            $FirstLoop = $False
        }
        else{
            $RegPath += "\"
        }
        $RegPath += $Element
        if( -not (test-path $RegPath) ){
            echo "Add Registry : $RegPath"
            md $RegPath
        }
    }

    # Key有無確認
    $Result = Get-ItemProperty $RegPath -name $RegKey -ErrorAction SilentlyContinue
    # キーがあった時
    if( $Result -ne $null ){
        Set-ItemProperty $RegPath -name $RegKey -Value $RegKeyValue
    }
    # キーが無かった時
    else{
        # キーを追加する
        New-ItemProperty $RegPath -name $RegKey -PropertyType $RegKeyType -Value $RegKeyValue
    }
    Get-ItemProperty $RegPath -name $RegKey
}

$RegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters"
$RegKey = "LayerDriver JPN"
$RegKeyType = "String"
$RegKeyValue = "kbd106.dll"
RegSet $RegPath $RegKey $RegKeyType $RegKeyValue

$RegKey = "OverrideKeyboardIdentifier"
$RegKeyValue = "PCAT_106KEY"
RegSet $RegPath $RegKey $RegKeyType $RegKeyValue

$RegKey = "OverrideKeyboardType"
$RegKeyType = "DWord"
$RegKeyValue = 7
RegSet $RegPath $RegKey $RegKeyType $RegKeyValue

$RegKey = "OverrideKeyboardSubtype"
$RegKeyValue = 2
RegSet $RegPath $RegKey $RegKeyType $RegKeyValue

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.