Microsoft Keyboard Layout Creator akzeptiert ZWNJ (U+200c) nicht als Leerzeichen

Microsoft Keyboard Layout Creator akzeptiert ZWNJ (U+200c) nicht als Leerzeichen

Ich verwende Microsoft Keyboard Layout Creator 1.4, um ein benutzerdefiniertes persisches Tastaturlayout zu erstellen.
Ich möchte Shift+ Spaceals ZWNJ('‌' - U+200c)-Zeichen wie im persischen (Standard-)Layout definieren. Wenn ich jedoch DLL und Setup-Paket erstellen möchte, akzeptiert es kein ZWNJLeerzeichen. Hier ist der Fehler in der Protokolldatei:

FEHLER: „VK_SPACE“ im Umschaltzustand „Umschalt“ muss aus Leerzeichen bestehen, wird aber stattdessen als „‌“ (U+200c) definiert.

Wie kann ich dieses Problem lösen? Gibt es alternative Software?

Antwort1

SpaceJeder Versuch, im Microsoft Keyboard Layout Creator die Taste auf Shift+ zuzuordnen, Space führt zu folgender Fehlermeldung:

Bildbeschreibung hier eingeben

Dies ist eine Einschränkung von Microsoft, möglicherweise aus Sorge, dass ein Benutzer ein unbrauchbares Tastaturlayout erstellt. Es wurde bereits in einem Post stammt aus dem Jahr 2012 und hat sich seitdem nicht geändert.

Eine Lösung muss dann von einem Drittanbieterprodukt kommen, das die eingegebenen Tasten vor Windows abruft, wie zum Beispiel AutoHotkey.

Das folgende einzeilige AutoHotkey-Skript sendet die Unicode-Taste, 200C wenn Shift+ Spacegedrückt wird:

+Space::Send {U+200C}

Nachdem Sie AutoHotKey installiert haben, legen Sie das Skript in eine .ahkDatei und doppelklicken Sie darauf, um es zu testen. Sie können das Skript stoppen, indem Sie mit der rechten Maustaste auf das grüne H-Symbol in der Taskleiste klicken und „Beenden“ wählen. Um es beim Anmelden auszuführen, platzieren Sie es in der Autostart-Gruppe unter C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Nützliche AutoHotkey-Dokumentation:

Antwort2

Sie brauchen keine zusätzliche Software. Sie können es zwar U+200Cals Ihr definiertes Zeichen in MSKLC einrichten, ABER Sie müssen es als Tottaste einrichten. Richten Sie die Taste also als normales U+0020Zeichen ein, aktivieren Sie aber die Tottaste. Darin können Sie jedes beliebige Zeichen einrichten, auch wenn es kein Leerzeichen ist. Ich habe meine Leertaste so eingerichtet, dass sie U+2011mit AltGr (Strg+Atl) gerendert wird (geschützter Bindestrich). Der einzige Nachteil ist, dass Sie sie zweimal drücken müssen, damit Ihr Zeichen gerendert wird.

Sagen Sie mir, ob U+200Ces auch funktioniert.

Schauen Sie sich an, was ich mit meinem benutzerdefinierten Layout gemacht habe, und ahmen Sie es nach.

verwandte Informationen