Microsoft Keyboard Layout Creator 1.4 を使用して、カスタム ペルシア語キーボード レイアウトを作成しています。ペルシア語 (標準) レイアウトのように、 +を ('' - U+200c) 文字として
定義したいのですが、DLL をビルドしてパッケージをセットアップしようとすると、空白文字として受け入れられません。ログ ファイルに次のエラーが表示されます。Shift
Space
ZWNJ
ZWNJ
エラー: Shift 状態 'Shift' の 'VK_SPACE' は空白文字で構成されている必要がありますが、代わりに '' (U+200c) として定義されています。
この問題をどうやって解決すればいいでしょうか? 代替ソフトウェアはありますか?
答え1
Microsoft Keyboard Layout Creator で キーを+Spaceにマッピングしようとすると 、次のエラー メッセージが表示されます。ShiftSpace
これはマイクロソフトの制限で、おそらくユーザーが使用できないキーボードレイアウトを作成することを懸念したのでしょう。 役職 2012年から始まり、それ以来変わっていません。
その場合、Windowsより先に入力されたキーを取得するサードパーティ製品、例えば次のような製品が解決策となる。 オートホットキー。
次の 1 行の 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
追加のソフトウェアを使用する必要はありません。MSKLCU+200C
で定義した文字として設定することはできますが、デッド キーとして設定する必要があります。したがって、キーを通常のU+0020
文字として設定し、デッド キー機能を有効にします。そこでは、スペースでなくても、任意の文字を設定できます。私は、U+2011
AltGr (Ctrl+Atl) でスペース キーをレンダリング (非改行ハイフン) するように設定しました。唯一の欠点は、文字をレンダリングするには、スペース キーを 2 回押す必要があることです。
動作するかどうかも教えてくださいU+200C
。