问题描述

最近突然遇到一个输入法问题,输入法首字母变成英文/首字母打不出汉字/首击键不被认定为拼音,间接导致使用vscode的时候会报crush错误。

之前微软有方案是使用微软拼音输入法并切换至 win10 样式,但是这样并为有成效。
一些用户也可能出现默认输入法是正常的,但是第三方输入法(比如搜狗拼音输入法)是存在这个问题的。

问退复现

在切换窗口(且两个窗口的中英文模式)或输入框时,接下来有大概率出现这个问题。
同一输入框内先复制再粘贴文本,接下来在此输入框内 100% 复现。

解决方案

微软声明已经于 Windows 11 Beta —— Build 26120.5742(KB5064075)中修复了该问题。(实际情况有待考察)

方案一操作较为简单,适合大多数人。方案二更加有效,但有一定操作风险。

方案一:

先开启一次触摸键盘(注意不是屏幕键盘)

使用 Win + i 打开设置界面。

转到触摸键盘选项。

在设置中打开任务栏上的触摸键盘图标显示,并在任务栏上打开。

之后这个问题就消失了。

弊端 重启后就会失效,需要再执行一遍这个步骤。
有用户使用的是搜狗输入法,再执行这个方案后,搜狗输入法正常了。但是如果再切换到微软拼音,则微软拼音可能会完全不出字。

方案二

修改注册表操作有风险,请谨慎操作,切勿编辑其他项

Win + R 打开运行窗口,输入 regedit ,打开注册表编辑器

如图,粘贴 HKEY_CURRENT_USER\Software\Microsoft\InputMethod\Settings\Common到地址栏按回车,在右侧找到 TouchKeyboardHasEverShown ,双击或右键选择修改,在输入框中输入 0 点击确定保存。

提示:24H2 中可能找不到这个项,则需要按照路径创建对应的注册表项



注销或直接重启,此后只要不打开触摸键盘便可正常使用,如果不小心打开了,再次修改这个条目为0就行

一劳永逸(以下为可选)

如果有的时候确实要用到触摸键盘或者想一劳永逸解决,可以按以下步骤操作,锁掉该项权限避免被触摸键盘改掉

修改权限可能导致未知问题,如非必要不建议修改,不知道为什么注册表好像不能单独控制写入权限,这个全部拒绝的操作不确定会不会引入新的bug。

从刚刚第二步开始,找到左侧 Common 项,右键点击权限,在权限窗口中点高级,在新弹出的高级安全设置窗口中点添加,在新弹出的窗口中点选择主体,输入 Everyone 点击确定

依次选择类型拒绝,应用于只有该项并点击显示高级权限

勾选设置数值,点击确定

现在高级安全设置的窗口中应该有一条对于Everyone,拒绝设置数值的条目,点击确定,然后在弹出的对话框里点是,继续点权限窗口的确定

注销或者直接重启,此后打开触摸键盘后出现bug,无需其他操作,再次注销或者重启即可解决。

参考链接:
[1] https://learn.microsoft.com/zh-cn/answers/questions/3971899/windows11-24h2-%28-%29?forum=windows-windows_11-wintop_language&referrer=answers
[2] https://blog.csdn.net/alan16356/article/details/143787272