几个月前,我帮助一位朋友购买了他的第一台电脑。在此之前,他的 IT 经验仅限于 iOS、Android 和 Chromebook。今天他报告说,过去几天,按键盘上的 4 键会出现数字 6。6 键也会出现数字 6。这只发生在主 4 键上。数字键盘 4 表现正常。
他认为是键盘的问题,于是买了一个新的(两个都是有线 USB 键盘)。但新键盘的表现是一样的。我刚让他尝试将两个键盘插入他朋友的 Win10 笔记本电脑,两个键盘都表现正常,所以这似乎是他的 PC 的问题。
我明天将与他进行远程桌面(Zoom)(我们处于不同的时区),我计划尝试以下操作:
- 重置键盘设置。
- 我给他发了一篇文章,建议他采取以下步骤:“打开控制面板 > 语言。选择您的默认语言。如果您启用了多种语言,请将另一种语言移至列表顶部,使其成为主要语言 - 然后再次将您现有的首选语言移回列表顶部。这将重置键盘。”
- 他声称自己已经正确遵循了这些步骤,但问题并没有得到解决。我会亲自通过 Zoom 尝试一下,以确保万无一失。
- 卸载并重新安装或至少重置键盘设备驱动程序。我还没有找到在 Win10 上执行此操作的最佳方法,但假设我可以从设备管理器中找到它。
- 安装 PowerToys 并查看键盘管理器是否报告现有映射或允许创建一个映射以暂时解决该问题。
- 安装一些第三方键映射应用程序并执行与 3 相同的操作。但我不想在他的系统中添加这样的第三方程序。
如果有人认识到这个问题,或者有其他或更好的想法,我很乐意听听。我是一名前 Windows 开发人员,很高兴深入研究注册表等,您可以随心所欲地使用技术。
答案1
已解决。TL;DR:
不知何故,Windows 注册表中添加了一个键映射。删除Scancode Map
注册表项并重新启动计算机即可解决此问题。我使用过,regedit
但 SharpKeys 免费开源应用程序似乎是调查和修复此类问题的不错选择。
有关此集体信息的详细信息:
- 按照我的问题中描述的方式重置键盘设置没有帮助。他的机器只安装了一种语言(英国英语),所以我们添加了美国英语。这会触发一段时间的下载该工具,所以我建议跳过这一步。
- 我确实能够通过设备管理器重新安装键盘驱动器。我打开键盘属性,并在驱动程序选项卡上删除了驱动程序。重新启动后(由于更新待处理,因此需要一段时间),我们回到了之前的状态。这原来是一个 Logitech 无线键盘/鼠标组合,通过一个小型 USB 加密狗连接。但看起来这种无线键盘/鼠标没有什么特别之处。它似乎直接作为 HID 设备呈现给 Windows。我没有在设备管理器中找到明显与 Logitech、HID 等相关或显然不适用于其他设备的其他 USB 驱动程序。
- PowerToys 的键盘管理器显示没有适当的键映射,很高兴添加一个新的映射,但(事后看来很明显)拒绝将 4 映射到自身。
- 我没有这样做,但如果我回到这里,我想我会选择 SharpKeys (GitHub 仓库,开发者网站帖子) 因为它已经存在了 17 年多了,是开源的、广泛使用的并且直接在 Windows 注册表上运行,而不是在涉及处理键盘事件的软件堆栈中插入一些新组件……
在第 4 步之前,我搜索了一些有关在注册表中重置键盘映射的文章。有很多文章,有些甚至指向之前的 SuperUser 问答:如何在注册表中撤消自定义键盘映射。
我导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
并regedit
删除了该Scancode Map
键。Windows 重启后,4 键恢复了其预期行为。
检查朋友的 Win10 机器时,我发现该注册表项没有设置值,因此似乎只有在存在一个或多个键映射覆盖时才会设置该键(并且具有非空值)。 (基于一个观察 - YMMV。)
鉴于 SharpKeys 通过操纵注册表来工作,如果我安装了它,它很有可能会显示这个“4 到 6”的映射。因此,最好的建议可能是从安装 SharpKeys 开始,尤其是在支持不熟悉 regedit 的用户时。
一些关于此问题的帖子的标题类似于“愚人节恶作剧弄乱了你的键盘后该怎么办”。在这里指出这一点,以便这个答案可能会出现在类似这样的搜索结果中。
我很好奇我朋友的机器为什么会变成这种状态。他确信没有其他人能够物理访问它,他的防病毒软件也没有报告任何恶意软件。我希望网页无法引发这样的注册表更改,而且这看起来不像是损坏。如果有人知道(具体到“4 到 6”的更改或更普遍地说这是如何发生的……或者是否有办法在 Windows 日志等中查看它发生的时间),请发表评论。