我正在使用 Microsoft Keyboard Layout Creator 1.4 创建自定义波斯语键盘布局。
我想将Shift
+定义Space
为ZWNJ
('' - U+200c) 字符,如波斯(标准)布局。但是,当我想构建 DLL 和安装包时,它不接受ZWNJ
空格字符。这是日志文件中的错误:
错误:Shift 状态下的“VK_SPACE” 'Shift' 必须由空白字符组成,但被定义为 '' (U+200c)。
我应该如何解决这个问题?有没有替代软件?
我正在使用 Microsoft Keyboard Layout Creator 1.4 创建自定义波斯语键盘布局。
我想将Shift
+定义Space
为ZWNJ
('' - U+200c) 字符,如波斯(标准)布局。但是,当我想构建 DLL 和安装包时,它不接受ZWNJ
空格字符。这是日志文件中的错误:
错误:Shift 状态下的“VK_SPACE” 'Shift' 必须由空白字符组成,但被定义为 '' (U+200c)。
我应该如何解决这个问题?有没有替代软件?
SpaceMicrosoft 键盘布局创建器中将键映射到Shift+的任何尝试都会 Space 导致以下错误消息:
这是 Microsoft 的限制,可能是担心用户创建了无法使用的键盘布局。它已经在 2012 年的一篇帖子中提到过,此后一直没有改变。
解决方案必须来自在 Windows 之前获取键入的密钥的第三方产品,例如 AutoHotkey。
以下一行 AutoHotkey 脚本将在按下+
200C
时发送 Unicode 键:ShiftSpace安装 AutoHotKey 后,将脚本放在一个
.ahk
文件中,双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在位于 的 Startup 组中C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
。有用的 AutoHotkey 文档:
无需使用任何其他软件。您确实可以
U+200C
在 MSKLC 中设置为您定义的角色,但您必须将其设置为死键。因此,将密钥设置为普通U+0020
字符,但启用死键功能。您可以在其中设置任何您想要的字符,即使它不是空格。我已将空格键设置为U+2011
使用 AltGr (Ctrl+Atl) 呈现(不间断连字符)。唯一的缺点是你必须按两次才能渲染你的角色。告诉我是否
U+200C
也有效。看看并模仿我对自定义布局所做的事情。