win 输入法 首字母变成英文
输入法问题
现象:在切换窗口或输入框后,接着开始打字,会出现拼音首字母直接出现在输入框内,按下第二个字母才出现输入法。
在版本 23H2(OS 内部版本 22631.4751)
上,通过切换窗口→复制一段文字→切换回文本编辑器→粘贴→立即打字,可以稳定复现此现象。
bug 复现
在我的电脑上
下面这个动图展示了该现象,我分别尝试打出以下内容:
- 第一行,期望打出
你好
,小鹤双拼为nich
,可看到字母n
直接上屏,输入法识别到的是ich
。 - 第二行,期望打出
你好
。 - 第三行拼音首字母为
i
,我按下一个字母后,可看到上屏了ch
,这是双拼的特点。 - 第四行,期望打出
卡键
。
微软社区 SuHeAndZI 用户复现
SuHeAndZI 复现了此问题
早在24H2未推送时,我使用本地ISO升级24H2后发现,拼音输入的首字母不被自定义输入法接管,而是被微软拼音强行接管。导致输入的第一个字符为英文 。
当时我寻遍各处也都未得到解决方法,无奈之下只好格盘重装 。
自那以后一切安好,但后来的某天我突然发现,这个问题又出现了。我仔细回想当天操作了什么,只想起自己打开过触摸键盘功能,且在当天系统被安装了“ink.handwriting.main.store.zh”这个软件,遂即怀疑是此软件作祟。但使用geek卸载后,问题依旧。
继续尝试删除简中并重新添加、本地iso原地升级、dism++删除简中输入等方法都无效。
想到触摸键盘可能是引发这个问题的元凶,遂使用虚拟机全新安装24H2后安装搜狗,打开触摸键盘后重启,问题果然复现 。
请官方尽快提供解决方案,这个问题非常恶心,非常影响正常使用。
症状复现方法:新建一个文本文档后随意复制一段文字后再用第三方输入法进行输入,首字母必定是英文。
微软社区 boneonenee 用户提问
Windows11 24H2开启触摸键盘功能后,会导致输入法首字母不被自定义输入法接管(变为英文)
系统版本:Windows 11 专业版
版本号:24H2
操作系统版本:26100.3194 ,问题复现前置条件:系统已经完成所有更新,且使用搜狗输入法,中文输入
问题复现步骤:
- 系统开启触摸键盘功能
- 使用ctrl+c 复制(或者鼠标右键复制)任意一段文本
- 在任意文本输入框输入中文
补充复现问题前置条件:
需要将任务栏触摸键盘设置为打开状态
在这一提问下面,用户 C0mp1ex 也提出了自己的复现情况
我最近也遇到了这个问题,但系统是23H2。总结一下问题:
- 在vsc中的表现与记事本有些许不同。下面都是在txt文件中测试得出的结论,但编辑其他文件也遇到过问题。
- 不一定100%复现,但概率很高。
- 似乎微软拼音没有这个问题。遇到问题时都在使用搜狗拼音输入法智慧版。
- 都是在复制文本之后出现的,不需要粘贴;同时只对复制后的第一次输入有效。
- 复制后,搜狗无法按shift切换中英文。
- 如果当时是中文输入,则输入的第一个字母直接上屏,不参与拼音;如果是英文,则所有后续输入的字母都是在第一个字母的位置替换上一个输入的字母。(这是vsc中存在的问题,记事本没有。在记事本中,第一个输入的字母会有下划线提示,继续输入的话下划线消失,变正常)
- 如果是在使用vsc时英文输入出现问题,切微软拼音也不可以修复,切纯英文输入法就变得正常。
rime 输入法社区提出的 issue
ctrl+c之后,rime出现奇怪的上屏问题 · Issue #1519 · rime/weasel 也反映了相同的情况
上图中,我在notepad中Ctrl+C复制了一些文字,切换窗口后试图输入wget,此时第一个字母无法正常上屏,且一直黏在光标上。
此时我如果切到别的窗口再切回来,第一个字母w就会上屏了(这个部分没有录)。
该问题在我这里可以稳定复现,只是不同程序里的表现不太一样,这个是notepad内部的情况。
出现问题的平台是Windows 11,小狼毫0.16.3。
该问题是突然发生的,之前并没有。
一开始我还以为是自己替换了CI里的rime.dll所导致,后来发现卸载重装release版小狼毫,用户文件只保留最简单的luna_pinyin_simp,问题依旧。
解决办法
截止 2025-03-08,微软仍未修复此问题,只能通过开关屏幕键盘来维持本次开机期间 bug 不出现。
- 使用
Win + i
打开设置界面。 - 转到
个性化
,任务栏
- 下滑找到
触摸键盘
改成始终
- 桌面右下角任务栏出现键盘图标,点击打开屏幕键盘一次,再关闭,问题解决。
其他方法
Windows11 24H2开启触摸键盘功能后,会导致输入法首字母不被自定义输入法接管(变为英文) 网友给出了如下方法
TabTip.exe
把”C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe”加入到开机启动项能临时解决。
TabTip进程就是触摸键盘,开机打开一次,再关掉,Bug暂时就不会出现。
github rime 输入法给出的方案
oTnTh 在 ctrl+c之后,rime出现奇怪的上屏问题 · Issue #1519 · rime/weasel 给出了解决方案:
@pqpeqr 非常感谢~
有人提到将这个文件删掉可以解决问题:
C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TextInputHost.exe
去查了一下自己硬盘上的这个文件,创建时间2025/2/13,更新时间2025/2/21。
在Windows更新历史记录里,2/21安装了KB5051989。
将这个更新卸载以后,该问题确实就消失了。看起来,确实是Windows系统更新所导致的。
另外,如果不能或者不愿意卸载更新,也可以将
C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
加入自动启动。Windows里的设置、个性化、文本输入,往下拉找触摸键盘,将键盘大小设置为最小,然后拖到桌面右下角。
该触摸键盘似乎是会自动隐藏的,权且可以当作一个临时的解决办法。
杂项解决方法
- 新建用户
- 重装系统
- 使用微软拼音输入法
- 在 PE 环境下,重命名
C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy
到任意其他文件名。 - (不推荐)重命名
C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy
里的TextInputHost.exe
到其他名称。但可能导致Win+V
剪贴板不工作。同时有用户指出,也会导致左下角任务栏搜索功能失效 - (无效)有回答提到,升级
Windows11 KB5048667
可以解决,但后续回复表示,仍未解决。
与此问题有关的链接
- Windows11 24H2开启触摸键盘功能后导致输入法首字母会变英文
- win11 24H2 第三方输入法吞首字母Bug严重影响日常使用
- Win11 24H2/23H2 输入法 首字母变成英文/首字母打不出汉字/首击键不被认定为拼音 临时解决方案
上文第一个链接下面给出了修复方法,但涉及更改文件,未自行尝试。
用户 John Smith_2001
提出
1 |
|
用户 SuHeAndZI
提出
1 |
|
用户 hl h1
提出:
1 |
|
后续更新
2025-04-13
微软仍未解决。
用户月色真美提到
1 |
|
用户杳雾提到
1 |
|
在 微软社区 SuHeAndZI 提问 和 Rime 输入法 issue 中都提到了,Github 用户 cs0tony
开发了一个自动打开屏幕键盘,并在 1s 后关闭的工具,可解决此问题:ime-savior
2025-05-13
微软仍未修复,但是微软社区内已经有了答案
Windows11 24H2开启触摸键盘功能后,会导致输入法首字母不被自定义输入法接管(变为英文)[内附解决方案]
以下操作在23H2,内部版本号22631.5039上测试有效,TextInputHost与TabTip修改日期均为25年3月26号;对于24H2,如找不到对应键值,可参考此处(点击跳转),使用下述类似的方法清空 Common 项内的全部条目并锁定权限来解决,在24H2 LTSC 26100.1742下测试有效,TextInputHost和TabTip修改日期都是2024年9月6号参考来源(点击跳转)
具体操作步骤如下:
- 按
Win + R
打开运行窗口,输入regedit
,打开注册表编辑器 - 粘贴
HKEY_CURRENT_USER\Software\Microsoft\InputMethod\Settings\Common
到地址栏按回车, - 在右侧找到
TouchKeyboardHasEverShown
,双击或右键选择修改,在输入框中输入0
点击确定保存 - 注销或直接重启,此后只要不打开触摸键盘便可正常使用,如果不小心打开了,再次修改这个条目为0就行
(以下为可选)
如果有的时候确实要用到触摸键盘或者想一劳永逸解决,可以按以下步骤操作,锁掉该项权限避免被触摸键盘改掉
修改权限可能导致未知问题,如非必要不建议修改,不知道为什么注册表好像不能单独控制写入权限,这个全部拒绝的操作不确定会不会引入新的bug
感谢此回复帖提供的对于单独拒绝写入权限的操作指南(点击跳转),内容已经更新进下方步骤中
- 从刚刚第二步开始,找到左侧
Common
项,右键点击权限,在权限窗口中点高级,在新弹出的高级安全设置窗口中点添加,在新弹出的窗口中点选择主体,输入Everyone
点击确定
- 依次选择类型
拒绝
,应用于只有该项
并点击显示高级权限
- 勾选
设置数值
,点击确定
- 现在高级安全设置的窗口中应该有一条对于Everyone,拒绝设置数值的条目,点击确定,然后在弹出的对话框里点是,继续点权限窗口的确定
- 注销或者直接重启,此后打开触摸键盘后出现bug,无需其他操作,再次注销或者重启即可解决。
同时其他方法:
- 新建账户(最稳妥但代价相对最大)
- 被迫使用系统自带的微软拼音(更改习惯是很痛苦的事情)
- Windows PE 把
C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy
重命名成C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy.bak
注:此方法会影响win+v剪切板等问题,请酌情使用。 - 把“C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe”加入到开机启动项(TabTip进程就是触摸键盘,开机打开一次,再关掉,Bug暂时就不会出现) 可以使用方法6中热心网友开发的软件实现更好的效果
- 查找系统更新补丁 KB5051989(如有) 尝试将其卸载。答案来源:https://github.com/rime/weasel/issues/1519#issuecomment-2692728343
- 使用回复本帖的热心网友开发的工具来解决此问题,原理是自动打开触摸键盘,并在一秒后关闭。https://github.com/cs0tony/ime-savior
- 使用回复本帖的热心网友提供的解决方法来尝试解决此问题,原理是重置输入法组件,而后修复系统文件完整性。(涉及到系统校验恢复命令,精简版、修改版Windows用户慎用)点击跳转 如果在线修复命令速度过慢可参考此方法手动下载原版镜像本地修复 点击跳转