Estou usando o Microsoft Keyboard Layout Creator 1.4 para criar um layout de teclado persa personalizado.
Eu quero definir Shift
+ Space
como ZWNJ
('' - U+200c) caractere como layout persa (padrão). No entanto, quando eu quero construir DLL e pacote de instalação, ele não aceita ZWNJ
como caractere de espaço em branco. Aqui está o erro no arquivo de log:
ERRO: 'VK_SPACE' no estado de deslocamento 'Shift' deve ser composto de caracteres de espaço em branco, mas é definido como '' (U + 200c).
Como devo resolver este problema? Existe algum software alternativo?
Qualquer tentativa no Microsoft Keyboard Layout Creator de mapear a Spacetecla para Shift+ Space resulta na seguinte mensagem de erro:
Esta é uma limitação da Microsoft, talvez preocupada com um usuário criando um layout de teclado inutilizável. Já foi notado em um post datado de 2012 e não mudou desde então.
Uma solução deve vir de um produto de terceiros que obtenha as chaves digitadas antes do Windows, como AutoHotkey .
O seguinte script AutoHotkey de uma linha enviará a chave Unicode
200C
quando Shift+ Spacefor pressionado:Depois de instalar o AutoHotKey, coloque o script em um
.ahk
arquivo e clique duas vezes nele para testar. Você pode parar o script clicando com o botão direito do mouse no ícone verde H na barra de bandeja e escolhendo Sair. Para executá-lo no login, coloque-o no grupo Startup emC:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.Documentação útil do AutoHotkey:
Não há necessidade de usar nenhum software adicional. Você realmente pode configurar
U+200C
como seu personagem definido no MSKLC, MAS você terá que configurá-lo como uma chave morta. Assim, configure a chave como oU+0020
caractere usual, mas ative o recurso de tecla morta. Nele você pode configurar qualquer caractere que desejar, mesmo que não seja um espaço. Configurei minha tecla de espaço para renderizarU+2011
(hífen sem quebra) com AltGr (Ctrl + Atl). A única desvantagem é que você terá que pressioná-lo duas vezes para que seu personagem seja renderizado.Me diga se
U+200C
funciona também.Dê uma olhada e imite o que eu fiz com meu layout personalizado.