HKEY_CURRENT_USER\Keyboard Layout -> Scancode Map 可以用来“重新定义” Windows 上的键盘布局吗?

HKEY_CURRENT_USER\Keyboard Layout -> Scancode Map 可以用来“重新定义” Windows 上的键盘布局吗?

在具有完全管理员权限的计算机上,我使用以下注册表项更改了键盘布局

REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,01,00,3a,00,3a,00,01,00,1d,e0,5c,e0,00,00,00,00

运行良好,符合预期。

现在,在另一台我没有更改 HKLM 条目所需权限的计算机上,我在 HKCU 下尝试了同样的事情:

REGEDIT4 
[HKEY_CURRENT_USER\Keyboard Layout] 
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,01,00,3a,00,3a,00,01,00,1d,e0,5c,e0,00,00,00,00

不幸的是,在这台电脑上,它没有任何效果(我能注意到)。我已经重新启动了电脑。注册表项是通过 注册的regedit,我可以用 看到它们regedit

因此,可以HKEY_CURRENT_USER\Keyboard Layout -> "Scancode Map"用来重新定义我的键盘布局,特别是当我没有更改 HKLM 的必要权限时。

答案1

尽管以下内容是一份存档论文,但我相信它对于 Win7 仍然有效:用于 Windows 的扫描代码映射器

已认识到以下缺点:

  • 一旦地图存储在注册表中,就需要重新启动系统才能激活它。

  • 存储在注册表中的映射在系统级别工作并适用于所有用户。这些映射不能被设置为根据当前用户以不同的方式工作。

  • 当前的实现限制了映射的功能,使得映射始终适用于连接到系统的所有键盘。目前无法根据每个键盘创建地图。

相关内容