Microsoft Keyboard Layout Creator 不接受 ZWNJ (U+200c) 作為空白字符

Microsoft Keyboard Layout Creator 不接受 ZWNJ (U+200c) 作為空白字符

我正在使用 Microsoft Keyboard Layout Creator 1.4 建立自訂波斯語鍵盤佈局。
我想將Shift+定義SpaceZWNJ('‌' - U+200c) 字符,如波斯語(標準)佈局。但是,當我想建立 DLL 和安裝套件時,它不接受ZWNJ空白字元。這是日誌檔案中的錯誤:

錯誤:Shift 狀態下的「VK_SPACE」「Shift」必須由空格字元組成,但定義為「‌」(U+200c)。

我該如何解決這個問題?有沒有替代軟體?

答案1

在 Microsoft Keyboard Layout Creator 中嘗試將 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字符,但啟用死鍵功能。您可以在其中設定任何您想要的字符,即使它不是空格。我已將空白鍵設定U+2011為使用 AltGr (Ctrl+Atl) 進行渲染(不間斷連字符)。唯一的缺點是您必須按兩次才能渲染角色。

告訴我是否U+200C也有效。

看一下並模仿我對自訂佈局所做的操作。

相關內容