如何在 Windows 上卸载 SharpKeys
SharpKeys 把按键重映射写进 Windows 自己的设置里,也就是 HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout 下的 Scancode Map 值,不管 SharpKeys 还在不在,Windows 每次登录都会应用它,卸载应用不会撤销你的重映射。想让键盘恢复原样,卸载前先在 SharpKeys 里清掉,想保留就直接卸载。这份指南覆盖用 RandyRants.SharpKeys winget 包全机安装的 SharpKeys。SharpKeys 的 GitHub 页面
不想要重映射就先清掉
打开 SharpKeys,选 Delete All,再选 Write to Registry,然后注销或重启。Windows 在登录时读取映射,所以要到那时按键才会变回来。
先退出 SharpKeys
关掉 SharpKeys 窗口。它不在后台运行,也不添加开机启动项,重映射不靠它也会生效。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 SharpKeys,选择卸载,或者运行:
winget uninstall --id RandyRants.SharpKeys
SharpKeys 是 Windows Installer 安装包,Windows 会显示一个简短的进度窗口,并要管理员权限。
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%ProgramFiles%\RandyRants.com\SharpKeys |
程序文件 | 这次测试里卸载器把它删了 |
开始菜单 RandyRants.com\SharpKeys 文件夹 |
快捷方式 | 这次测试里卸载器把它删了 |
HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout 里的 Scancode Map |
你的按键重映射 | 卸载后还在,不想要重映射就在卸载前从 SharpKeys 里清掉 |
检查结果
卸载完成后运行下面几条只读命令:
winget list --id RandyRants.SharpKeys
Test-Path "$env:ProgramFiles\RandyRants.com\SharpKeys"
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layout" -Name "Scancode Map" -ErrorAction SilentlyContinue
winget list正常完成且没有匹配,才说明包记录已经没了,列出一行说明卸载没完成。Test-Path返回False,说明程序目录已经没了,返回True说明那里还有文件。Get-ItemProperty返回设置值表示该项仍在,没有输出时还要确认查询没有权限或其他错误,不能只凭空输出判断已删除。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 Windows Installer 卸载,结果一样,不会动 Scancode Map。
Mole 会列出什么
对全机安装的 winget 版 SharpKeys:
- 应用那一行和开始菜单快捷方式默认勾选。
%ProgramFiles%\RandyRants.com\SharpKeys不会列出,这次测试里卸载器把它删了,卸载后自己检查一下。Scancode Map不会列出,它属于 Windows,卸载 SharpKeys 从来不改你的重映射。
这次检查覆盖了什么
测试于 2026 年 9 月 28 日,SharpKeys 3.9.4000,用的是 RandyRants.SharpKeys winget 清单里的 x64 Windows Installer 安装包,全机安装在一台 ARM64 虚拟机上。测试时没有写入重映射。这次列出的每一行都勾选并已移除。