Technical Windows 11で日本語入力中に半角直接入力になる問題を直した
[BACK_TO_INDEX]
[FL-LOG-2026-002] REF::TECH REV.A ■ PUBLISHED
Technical 3 min

Windows 11で日本語入力中に半角直接入力になる問題を直した

Windows 11でGoogle日本語入力/ATOKがコピー後に半角直接入力になる問題を直した

症状

Windows 11環境で、日本語入力まわりの妙な不具合が発生していた。

自分の環境では、Google日本語入力やATOKなどのサードパーティIMEを使っているときに、任意のアプリのテキストボックス内でテキストを選択し、Ctrl + C でコピーすると、その直後の入力が日本語入力にならず、半角直接入力のような状態になってしまう。

見た目上は日本語入力モードのままに見えるが、実際にはローマ字入力がIMEに渡らず、英字としてそのまま入力されるような挙動になる。

たとえば、nihongo と入力して変換したいのに、変換候補に乗らず、そのまま半角英字として入ってしまうような状態。

なお、自分の環境では以下のような特徴があった。

  • Windows標準の新しいMicrosoft IMEでは発生しない
  • Google日本語入力やATOKなどのサードパーティIMEで発生する
  • Ctrl + C でコピーした直後に発生しやすい
  • スタートメニューなど別のテキストボックスで何回か入力すると、また変換可能な状態に戻ることがある
  • 入力モード表示は変わっていないように見える

自分のWindowsバージョンは以下。

Microsoft Windows [Version 10.0.22631.6199]

原因

Microsoft Japan Windows Technology Support Blog に、かなり近い内容の公式情報が出ていた。

参考:

コピー直後のはじめのキー入力が確定されてしまう問題について | Microsoft Japan Windows Technology Support Blog

公式記事によると、以前のバージョンのMicrosoft IMEや他社の日本語入力ソフトウェアを使っている場合に、コピー操作後のはじめのキー入力が意図せず確定される問題が発生する場合があるとのこと。

原因は、タッチキーボードの動作に関連するWindows OS側の問題とされている。

つまり、Google日本語入力やATOKだけが壊れているというより、Windows側の入力コンテキストやタッチキーボード関連の状態管理が壊れていて、サードパーティIMEがその影響を受けているように見える。

対処方法

タッチキーボードをほとんど使わない環境であれば、以下の2つのレジストリ値を削除してから、サインアウトして再サインインする。

コマンドプロンプトで以下を実行する。

reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v TouchKeyboardHasEverShown /f
reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v InputPanelPageLastOpenTime /f

HKCU 配下なので、基本的に管理者権限は不要。

普段使っているユーザーで実行する。

実行結果

自分の環境では、1つ目は正常に削除できた。

C:\Windows\System32>reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v TouchKeyboardHasEverShown /f
この操作を正しく終了しました。

2つ目は存在しなかった。

C:\Windows\System32>reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v InputPanelPageLastOpenTime /f
エラー: 指定されたレジストリ キーまたは値が見つかりませんでした

これは問題なし。

そのレジストリ値が元から存在しなかった、または既に削除済みだったという意味。

このあと、サインアウトして再サインインしたところ、問題は解消した。

確認用コマンド

削除されたか確認したい場合は、以下を実行する。

reg query HKCU\Software\Microsoft\InputMethod\Settings\Common /v TouchKeyboardHasEverShown
reg query HKCU\Software\Microsoft\InputMethod\Settings\Common /v InputPanelPageLastOpenTime

どちらも以下のようなエラーになれば、値は存在していない。

エラー: 指定されたレジストリ キーまたは値が見つかりませんでした

PowerShellスクリプト版

毎回コマンドを打つのが面倒な場合は、以下のようなPowerShellスクリプトにしておくとよい。

ファイル名例:

Fix-ImeAfterCopy.ps1

内容:

# Fix-ImeAfterCopy.ps1
# Windows 11でコピー直後に日本語IMEの最初の入力が直接入力/確定される問題の回避策
# 対象: 現在のユーザー HKCU

$regKeyPs = "HKCU:\Software\Microsoft\InputMethod\Settings\Common"
$regKeyReg = "HKCU\Software\Microsoft\InputMethod\Settings\Common"

$values = @(
    "TouchKeyboardHasEverShown",
    "InputPanelPageLastOpenTime"
)

Write-Host "IMEコピー直後入力問題の回避レジストリ処理を開始します..." -ForegroundColor Cyan

if (-not (Test-Path $regKeyPs)) {
    Write-Host "対象キーが存在しません: $regKeyReg" -ForegroundColor Yellow
    Write-Host "処理は不要、または既に問題の値が存在しない可能性があります。"
    exit 0
}

# 念のためバックアップ
$backupPath = Join-Path $env:USERPROFILE ("Desktop\IME_InputMethod_Common_Backup_{0}.reg" -f (Get-Date -Format "yyyyMMdd_HHmmss"))
reg export $regKeyReg $backupPath /y | Out-Null

Write-Host "バックアップを作成しました: $backupPath"

foreach ($value in $values) {
    try {
        $exists = Get-ItemProperty -Path $regKeyPs -Name $value -ErrorAction SilentlyContinue
        if ($null -ne $exists) {
            Remove-ItemProperty -Path $regKeyPs -Name $value -ErrorAction Stop
            Write-Host "削除しました: $value" -ForegroundColor Green
        } else {
            Write-Host "存在しませんでした: $value"
        }
    }
    catch {
        Write-Host "削除に失敗しました: $value" -ForegroundColor Red
        Write-Host $_.Exception.Message
    }
}

Write-Host ""
Write-Host "完了しました。効果を反映するため、サインアウトしてから再サインインしてください。" -ForegroundColor Cyan
Write-Host "再起動でも構いません。"

実行例:

powershell -NoProfile -ExecutionPolicy Bypass -File .\Fix-ImeAfterCopy.ps1

注意点

この対処は、タッチキーボードをほとんど使わない環境向け。

タッチキーボードを頻繁に使う場合は、Microsoft公式記事では「サインイン後にタッチキーボードを一度開いて閉じる」という対処も案内されている。

また、この問題はWindows OS側の問題とされているため、恒久的な修正というより回避策に近い。

Windows Update後やタッチキーボード使用後に再発した場合は、同じコマンドを再実行してからサインアウト・再サインインすると直る可能性がある。

まとめ

Google日本語入力やATOKで、コピー直後に日本語入力が効かず半角直接入力のようになる場合は、以下を試す。

reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v TouchKeyboardHasEverShown /f
reg delete HKCU\Software\Microsoft\InputMethod\Settings\Common /v InputPanelPageLastOpenTime /f

その後、サインアウトして再サインインする。

自分の環境では、TouchKeyboardHasEverShown を削除し、InputPanelPageLastOpenTime は存在しない状態で、再サインイン後に問題が解消した。

EOF FL-LOG-2026-002 24/05/2026 07:08 UTC