我正在使用 Microsoft Keyboard Layout Creator 1.4 创建自定义波斯语键盘布局。
我想将Shift
+定义Space
为ZWNJ
('' - 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
也能起作用。