![HKEY_CURRENT_USER\Keyboard Layout -> Scancode Map 可以用来“重新定义” Windows 上的键盘布局吗?](https://linux22.com/image/1359885/HKEY_CURRENT_USER%5CKeyboard%20Layout%20-%3E%20Scancode%20Map%20%E5%8F%AF%E4%BB%A5%E7%94%A8%E6%9D%A5%E2%80%9C%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E2%80%9D%20Windows%20%E4%B8%8A%E7%9A%84%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80%E5%90%97%EF%BC%9F.png)
在具有完全管理员权限的计算机上,我使用以下注册表项更改了键盘布局
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 的扫描代码映射器。
已认识到以下缺点:
一旦地图存储在注册表中,就需要重新启动系统才能激活它。
存储在注册表中的映射在系统级别工作并适用于所有用户。这些映射不能被设置为根据当前用户以不同的方式工作。
当前的实现限制了映射的功能,使得映射始终适用于连接到系统的所有键盘。目前无法根据每个键盘创建地图。