Microsoft Keyboard Layout Creator no acepta ZWNJ (U+200c) como carácter de espacio en blanco

Microsoft Keyboard Layout Creator no acepta ZWNJ (U+200c) como carácter de espacio en blanco

Estoy usando Microsoft Keyboard Layout Creator 1.4 para crear una distribución de teclado persa personalizada.
Quiero definir Shift+ Spacecomo ZWNJcarácter ('‌' - U+200c) como el diseño persa (estándar). Sin embargo, cuando quiero crear una DLL y un paquete de instalación, no acepta ZWNJcaracteres de espacio en blanco. Aquí está el error en el archivo de registro:

ERROR: 'VK_SPACE' en el estado de cambio 'Shift' debe estar compuesto por caracteres de espacio en blanco, pero en su lugar se define como '‌' (U+200c).

¿Cómo debo solucionar este problema? ¿Existe algún software alternativo?

Respuesta1

Cualquier intento en Microsoft Keyboard Layout Creator de asignar la Spacetecla a Shift+ Space da como resultado el siguiente mensaje de error:

ingrese la descripción de la imagen aquí

Esta es una limitación de Microsoft, quizás preocupado por que un usuario cree una distribución de teclado inutilizable. Ya se señaló en un correo data de 2012 y no ha cambiado desde entonces.

Entonces, una solución debe provenir de un producto de terceros que obtenga las claves escritas antes que Windows, como AutoHotkey.

El siguiente script AutoHotkey de una línea enviará la clave Unicode 200C cuando se presione Shift+ :Space

+Space::Send {U+200C}

Después de instalar AutoHotKey, coloque el script en un .ahkarchivo y haga doble clic en él para probarlo. Puede detener el script haciendo clic derecho en el ícono H verde en la barra de bandeja y seleccionando Salir. Para que se ejecute al iniciar sesión, colóquelo en el grupo Inicio en C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Documentación útil de AutoHotkey:

Respuesta2

No es necesario utilizar ningún software adicional. De hecho, puedes configurarlo U+200Ccomo tu personaje definido en MSKLC, PERO tendrás que configurarlo como una clave muerta. Por lo tanto, configure la clave como el U+0020carácter habitual, pero habilite la función de clave muerta. Allí puedes configurar cualquier carácter que quieras, incluso si no es un espacio. He configurado mi tecla de espacio para renderizar U+2011(guion sin separación) con AltGr (Ctrl+Atl). La única desventaja es que tendrás que presionarlo dos veces para poder representar a tu personaje.

Dime si U+200Cfunciona también.

Echa un vistazo e imita lo que hice con mi diseño personalizado.

información relacionada