我正在使用 Microsoft Keyboard Layout Creator 1.4 建立自訂波斯語鍵盤佈局。
我想將Shift
+定義Space
為ZWNJ
('' - 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
也有效。