Microsoft 键盘布局创建器不接受 ZWNJ (U+200c) 作为空格字符

Microsoft 键盘布局创建器不接受 ZWNJ (U+200c) 作为空格字符

我正在使用 Microsoft Keyboard Layout Creator 1.4 创建自定义波斯语键盘布局。
我想将Shift+定义SpaceZWNJ('‌' - U+200c) 字符,就像波斯语(标准)布局一样。但是,当我想构建 DLL 和安装包时,它不接受ZWNJ空格字符。以下是日志文件中的错误:

错误:Shift 状态“Shift”中的“VK_SPACE”必须由空格字符组成,但被定义为“‌”(U+200c)。

我该如何解决这个问题?有没有其他软件?

答案1

在 Microsoft 键盘布局创建器中尝试将 Space键映射到Shift+Space 会导致以下错误消息:

在此处输入图片描述

这是微软的一个限制,也许担心用户创建不可用的键盘布局。它已经在 邮政 自 2012 年以来一直如此。

那么解决方案必须来自第三方产品,该产品可以在 Windows 之前获取键入的键,例如 自动热键

以下单行 AutoHotkey 脚本将在按下+200C 时发送 Unicode 键:ShiftSpace

+Space::Send {U+200C}

安装 AutoHotKey 后,将脚本放入.ahk文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中 C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

有用的 AutoHotkey 文档:

答案2

无需使用任何附加软件。您确实可以U+200C在 MSKLC 中设置您定义的字符,但您必须将其设置为死键。因此,将键设置为通常的U+0020字符,但启用死键功能。您可以在其中设置任何您想要的字符,即使它不是空格。我已经使用 AltGr(Ctrl+Atl)将我的空格键设置为渲染U+2011(不间断连字符)。唯一的缺点是您必须按两次才能渲染您的角色。

告诉我它是否U+200C也能起作用。

看一下并模仿我对自定义布局所做的操作。

相关内容